yuyv格式如下:
y0u0y1v0 y2u1y3v1..........
說明:乙個y代表乙個畫素,而乙個y和uv組合起來構成乙個畫素,所以第0個畫素y0和第乙個畫素y1都是共用第0個畫素的u0和v0。而每個分量y,u,v都是占用乙個位元組的儲存空間。所以y0u0y1v0相當於兩個畫素,占用了4個位元組的儲存空間,平均乙個畫素占用兩個位元組。
rgb格式:
r0g0b0 r1g1b1.........
說明:乙個畫素由三個分量構成,即乙個畫素占用三個位元組。
yuv到rgb的轉換有如下公式:
r = 1.164*(y-16) + 1.159*(v-128);
g = 1.164*(y-16) - 0.380*(u-128)+ 0.813*(v-128);
b = 1.164*(y-16) + 2.018*(u-128));
1int yuvtorgb0(unsigned char *yuv, unsigned char *rgb, unsigned int width, unsigned int
height)234
return0;
35}3637
int yuvtorgb(int y, int u, int
v)38
5152 r = (1164*(y-16) + ruv) / 1000
;53 g = (1164*(y-16) - guv) / 1000
;54 b = (1164*(y-16) + buv) / 1000;55
56if (r > 255) r = 255;57
if (g > 255) g = 255;58
if (b > 255) b = 255;59
if (r < 0) r = 0;60
if (g < 0) g = 0;61
if (b < 0) b = 0;62
63 pixel[0] =r;
64 pixel[1] =g;
65 pixel[2] =b;
6667
return
pixel24;
68 }
YUV格式到RGB格式的轉換
yuyv格式到rgb格式的轉換 yuyv格式如下 y0u0y1v0 y2u1y3v1.說明 乙個y代表乙個畫素,而乙個y和uv組合起來構成乙個畫素,所以第0個畫素y0和第乙個畫素y1都是共用第0個畫素的u0和v0。而每個分量y,u,v都是占用乙個位元組的儲存空間。所以y0u0y1v0相當於兩個畫素,...
rgb格式檔案的Python讀取 格式轉換
rgb檔案是不太常見的格式檔案,一般的影象庫 opencv pil 都無法直接讀取。網上的資料也比較少,最後無意間試出一種方法,在這裡記錄一下。c 方法類似,但是人生苦短,我用python import cv2 as cv import numpy as np f open 00000.rgb rb...
YUV 格式與 RGB 格式的相互轉換公式
cr vcb u 0.257r 0.504g 0.098b 160.439r 0.368g 0.071b 128 0.148r 0.291g 0.439b 128y 0.257r 0.504g 0.098b 16cr v 0.439r 0.368g 0.071b 128cb u 0.148r 0.2...