在YUV和YCrCb中 ,我们都知道Y表示的是灰度图像,另外的两个通道表示的颜色的相关信息
“U”和“V”表示的是色度,作用是描述影像色彩及饱和度,用于指定像素的颜色。
而色度也表示颜色的两个方面,及色调和饱和度,这就是Cr,Cb所表示的。
Cr反应的是RGB输入信号红色部分与RGB信号亮度值之间的差异
Cb反应的是RGB输入信号蓝色部分与RGB信号亮度值之间的差异
后面的分析是从http://www.cnblogs.com/crazybingo/archive/2012/06/08/2541700.html
这里提取的,喜欢看细节的朋友可以进去看看。
YUV和RGB的转换公式:
Y = 0.299 R + 0.587 G + 0.114 B
U = -0.1687 R + 0.3313 G + 0.5 B + 128
V = 0.5 R - 0.4187 G - 0.0813 B + 128
R = Y + 1.402 (V - 128)
G = Y - 0.33414 (U - 128) - 0.71414 (V - 128)
B = Y + 1.772 (U - 128)
YCrCb和RGB的转换公式:
Y = 0.299 R + 0.587 G + 0.114 B
Cb = 0.564 (B - Y)
Cr = 0.713 (R - Y)
R = Y + 1.402 Cr
G = Y - 0.334 Cb - 0.714 Cr
B = Y + 1.772 Cb
如果按照这里来说的话 Cr其实是 V - 128 Cb 是 U - 128
YUV中
Y的取值范围 0~255
U的取值范围 -122~122
V的取值范围 -157~157
YCrCb中
Y的取值范围 16~235
Cb的取值范围 16~240
Cr的取值范围 16~240
每一个采样都有0-255的采样范围。0和255两个等级被留作同步,而且激活的亮度信号被限制到26(黑色)到235(白色)之间
两者区别:
YUV —— 模拟信号
YCrCb —— 数字信号
补充:我们在h.264,mpeg等编码标准中所使用的yuv其实是YCrCb,虽然YCrCb同样叫YUV,不过,不要被名称混淆了。