YCbCr与RGB的转换

YCbCr

Y:明亮度,也就是灰阶值。“亮度”是透过RGB输入信号来建立的,方法是将RGB信号的特定部分叠加到一起。

Cb:反映的是RGB输入信号蓝色部分与RGB信号亮度值之间的差异。

Cr:反映了RGB输入信号红色部分与RGB信号亮度值之间的差异。

YCbCr与RGB的转换

转换公式一定要依据ITU的标准,常看到的是ITU.BT-601和ITU.BT-709。

YCbCr与RGB的转换

把上述矩阵展开成方程式,如下

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
R = Y + 1.402 (Cr-128)
G= Y - 0.34414 (Cb-128) - 0.71414 (Cr-128)
B= Y + 1.772 (Cb-128)

下边的各个符号都带了一撇,表示该符号在原值基础上进行了伽马校正,伽马校正有助于弥补在抗锯齿的过程中,线性分配伽马值所带来的细节损失,使图像细节更加丰富。在没有采用伽马校正的情况下,暗部细节不容易显现出来,而采用了这一图像增强技术以后,图像的层次更加明晰了。

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)

YCbCr与RGB的转换