YUYV格式到RGB格式的轉換

2021-09-08 22:43:40 字數 1108 閱讀 3029

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));

1

int 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...