RGB与YUV对比

RGB和YUV都是色彩空间,用于表示颜色,二者能够相互转化。编码

与咱们熟知的RGB相似,YUV也是一种颜色编码方法,它将亮度信息(Y)与色彩信息(UV)分离,没有UV信息同样能够显示完整的图像,只不过是黑白的,这样的设计很好地解决了彩色电视机与黑白电视的兼容问题。而且,YUV不像RGB那样要求三个独立的视频信号同时传输,因此用YUV方式传送占用极少的频宽。
spa

YUV码流的存储格式其实与其采样的方式密切相关,主流的采样方式有三种,YUV4:4:4,YUV4:2:2,YUV4:2:0设计


1、和rgb之间换算公式的差别

yuv<-->rgb

Y''= 0.299*R'' + 0.587*G'' + 0.114*B''

U''= -0.147*R'' - 0.289*G'' + 0.436*B'' = 0.492*(B''- Y'')

V''= 0.615*R'' - 0.515*G'' - 0.100*B'' = 0.877*(R''- Y'')

R'' = Y'' + 1.140*V''

G'' = Y'' - 0.394*U'' - 0.581*V''

B'' = Y'' + 2.032*U''

yCbCr<-->rgb

Y’ = 0.257*R'' + 0.504*G'' + 0.098*B'' + 16

Cb'' = -0.148*R'' - 0.291*G'' + 0.439*B'' + 128

Cr'' = 0.439*R'' - 0.368*G'' - 0.071*B'' + 128

R'' = 1.164*(Y’-16) + 1.596*(Cr''-128)

G'' = 1.164*(Y’-16) - 0.813*(Cr''-128) - 0.392*(Cb''-128)

B'' = 1.164*(Y’-16) + 2.017*(Cb''-128)

Note: 上面各个符号都带了一撇,表示该符号在原值基础上进行了gamma correction



2、来源上的差别

yuv色彩模型来源于 rgb模型,

该模型的特色是将亮度和色度分离开,从而适合于图像处理领域。

第一个公式是YUV转换RGB(范围0-255)时用的,第二个公式是用在YUV(601)也成为YCbCr转换RGB(范围0-255)时用的。

1.Y = 0.299R + 0.587G + 0.114B
   U = -0.147R - 0.289G + 0.436B
   V = 0.615R - 0.515G - 0.100B

   R = Y + 1.14V
   G = Y - 0.39U - 0.58V
   B = Y + 2.03U

2.B= 1.164 * (Y - 16) + 2.018 * (U - 128)
   G= 1.164 * (Y - 16) - 0.38 * (U - 128) - 0.813 * (V - 128)
   R= 1.164 * (Y - 16) + 1.159 * (V - 128)