颜色空间之YCbCr

    YCbCr是DVD、摄像机、数字电视等消费类视频产品中,常用的色彩编码方案。YCbCr不是一种绝对色彩空间,是YUV压缩和偏移的版本。YCbCr其中Y是指亮度分量,Cb指蓝色色度分量,而Cr指红色色度分量。人的肉眼对视频的Y分量更敏感,因此在通过对色度分量进行子采样来减少色度分量后,肉眼将察觉不到的图像质量的变化。

    主要的子采样格式有YCbCr 4:2:0、YCbCr 4:2:2 和 YCbCr 4:4:4。4:2:0表示每4个像素有4个亮度分量,2个色度分量 (YYYYCbCr),仅采样奇数扫描线,是便携式视频设备(MPEG-4)以及电视会议(H.263)最常用格式;4:2:2表示每4个像素有4个亮度分量,4个色度分量(YYYYCbCrCbCr),是DVD、数字电视、HDTV 以及其它消费类视频设备的最常用格式;4:4:4表示全像素点阵(YYYYCbCrCbCrCbCrCbCr),用于高质量视频应用、演播室以及专业视频产品。

    在人脸检测中会用到YCbCr颜色空间,因此就要进行RGBYCbCr颜色空间的转换。下面是RGBYCbCr之间得转换关系:

// 其中R G B Y Cb Cr得取值均为0-255
// RGB转换为YCbCr
// |Y |   |16 |             |65.738   129.057  25.06 |   |R|
// |Cb| = |128| + (1/256) * |-37.945  -74.494  112.43| * |G|
// |Cr|   |128|             |112.439  -94.154  -18.28|   |B|
Y = (66*R + 129*G + 25*B + 128)/256.0f + 16;
Cb = (-38*R - 74*G + 112*B + 128)/256.0f + 128;
Cr = (112*R - 94*G - 18*B + 128)/256.0f + 128;
Y = (Y<0?0:(Y>255?255:Y));
Cb =(Cb<0?0:(Cb>255?255:Cb));
Cr =(Cr<0?0:(Cr>255?255:Cr));

// YCbCr转换为RGB
//|R|             |298.082  0        408.58 |    |Y  -16 |
//|G| = (1/256) * |298.082  -100.291 -208.12|  * |Cb -128|
//|B|             |298.082  516.411   0     |    |Cr -128| 
Y -= 16;
Cb -= 128;
Cr -= 128;
R = (298*Y + 409*Cr + 128)/256;
G = (298*Y - 100*Cb - 208*Cr + 128)/256;
B = (298*Y + 516*Cb + 128)/256;
R = (R<0?0:(R>255?255:R));
G = (G<0?0:(G>255?255:G));
B = (B<0?0:(B>255?255:B));


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值