YUV与RGB的转换

这两天一直在调字体颜色的显示,底层设计采用的为YUV420,前端传过来的值为RGB色彩值。从未接触过这样的首先就想到了度娘,找到了CSDN的一篇文章介绍,里面的转换关系:

Y =  0.299R + 0.587G + 0.114B + 16

U = -0.1687R - 0.3313G + 0.5B + 128

V =  0.5R - 0.4187G - 0.0813B + 128

R = Y + 1.402 (V-128) 

= Y - 0.34414 (U-128) - 0.71414 (V-128) 

B = Y + 1.772 (U-128)


但是在实际中的色彩调试中,其他色彩都OK,唯独与红色的:R:255、G:0这两组值相关色彩转换就不正常。参考底层提供的红色YUV值中V值为240,而转换中的V值都不超过40,那么问题来了,是什么导致这样的结果?

V 通道的范围是从蓝到黄,黄色其实就是红和绿,所以V的值不超过40,蓝色占的比重过大,颜色就变得偏向V值的蓝色。

经实验严重要想RGB有红色成份的转换OK的话V值直接复制在240左右就OK了。没有过多的研究过,这些解释也只是个人见解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值