RGB颜色空间与YCbCr颜色空间的互转

时间:2023-03-08 23:04:34
RGB颜色空间与YCbCr颜色空间的互转

在人脸检测中会用到YCbCr颜色空间,因此就要进行RGB与YCbCr颜色空间的转换。在下面的公式中RGB和YCbCr各分量的值的范围均为0-255。

RGB转到YCbCr:

float y= (color.r * 0.256789 + color.g * 0.504129 + color.b * 0.097906)+ 16.0;

float cb= (color.r *-0.148223 + color.g * -0.290992 + color.b * 0.439215)+ 128.0;

float cr= (color.r * 0.439215 + color.g * -0.367789 + color.b *-0.071426)+ 128.0;

YCbCr转到RGB:

  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)