在人脸检测中会用到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)