YCbCr和RGB互转

本文介绍YCbCr和RGB互转。

1.YCbCr转RGB24

1)标准公式

R = Y + 1.371(Cr – 128)
G = Y – 0.698(Cr – 128) – 0.336(Cb – 128)
B = Y + 1.732(Cb – 128)

2)整型化处理

R = Y + (351*(Cr – 128)) >> 8
G = Y – (179*(Cr – 128) + 86*(Cb – 128))>>8
B = Y + (443*(Cb – 128)) >> 8

:上述仅放大了2^8,可根据实际使用放大更大倍数,如2^16,精度会更高一些。

2.RGB24转YCbCr

1)标准公式

Y = 0.299R + 0.587G + 0.114B
Cb = 0.568(B-Y) + 128 = –0.172R – 0.339G + 0.511B + 128
Cr = 0.713(R-Y) + 128 = 0.511R – 0.428G – 0.083B + 128

2)整型化处理

Y = ((77 * R + 150 * G + 29 * B) >> 8);
Cb = ((-43 * R - 85 * G + 128 * B) >> 8) + 128;
Cr = ((128 * R - 107 * G - 21 * B) >> 8) + 128;

:上述仅放大了2^8,可根据实际使用放大更大倍数,如2^16,精度会更高一些。

猜你喜欢

转载自blog.csdn.net/propor/article/details/131682493