您的位置:首页 > 其它

基础:关于YUV 和 Cr Cb的区别

2017-03-23 21:05 176 查看

在网上找了好久,发现各种的版本,现在将其总结于此,方便人们的查看,顺便可以提提意见,看看到底是那个和那个····

 

第一种说法:

[R G B] -> [Y Cb Cr]转换
-------------------------

(R,G, B 都是 8bit unsigned)

 Y = 0.299*R + 0.587*G + 0.114*B  (亮度)

Cb =  - 0.1687*R - 0.3313*G + 0.5   *B + 128

Cr =    0.5   *R - 0.4187*G - 0.0813*B + 128

[Y,Cb,Cr] -> [R,G, B] 转换
R = Y + 1.402  *(Cr-128)

G = Y - 0.34414*(Cb-128) - 0.71414*(Cr-128)

B = Y + 1.772  *(Cb-128)
一般, C
值 (包括 Cb Cr)应该是一个有符号的数字,但这里被处理过了,方法是加上了
128.

 

第二种说法:

YUV与RGB相互转换的公式如下(RGB取值范围均为0-255):
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

第三种说法:

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模型来源于YUV模型。YCbCr是
YUV 颜色空间的偏移版本.
应用:数字视频,ITU-R BT.601建议
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)
PS:上面各个符号都带了一撇,表示该符号在原值基础上进行了伽马校正,伽马校正有助于弥补在抗锯齿的过程中,线性分配伽马值所带来的细节损失,使图像细节更加丰富。在没有采用伽马校正的情况下,暗部细节不容易显现出来,而采用了这一图像增强技术以后,图像的层次更加明晰了。所以说H264里面的YUV应属于YCbCr。
 
第四种说法:
YUV使用红,绿,蓝的点阵组合来减少信号中的信息量。Y通道描述
Luma信号,它与亮度信号有一点点不同,值的范围介于亮和暗之间。 Luma是黑白电视可以看到的信号。U (Cb)和
V (Cr)通道从红 (U)和蓝 (V)中提取亮度值来减少颜色信息量。这些值可以从新组合来决定红,绿和蓝的混合信号。

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.34414 (U-128) - 0.71414 (V-128)
B= Y + 1.772 (U-128)
 
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(伽马校正)。

yuv色彩模型来源于rgb模型,该模型的特点是将亮度和色度分离开,从而适合于图像处理领域。
应用:basic color model used in analogue color TV broadcasting.
YCbCr模型来源于yuv模型。YCbCr
is a scaled and offset version of the YUV color space.

应用:数字视频,ITU-R BT.601 recommendation
通过上面的比较可以确定,我们在h.264,mpeg等编码标准中用的yuv其实是YcbCr,
 
第五种说法:
YCbCr与RGB的相互转换  
Y=0.299R+0.587G+0.114B
Cb=0.564(B-Y)  
Cr=0.713(R-Y)  
R=Y+1.402Cr  
G=Y-0.344Cb-0.714Cr  
B=Y+1.772Cb
第六种说法:
YUV与RGB的相互转换 
Y= 0.3*R + 0.59*G + 0.11*B
U= (B-Y) * 0.493
V= (R-Y) * 0.877
同样反过来,YUV转换成RGB的公式如下:
R = Y + 1.14V
G = Y - 0.39U - 0.58V
B = Y + 2.03U
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: