图像处理 – 如何处理RGB到YUV转换

公式说:
Y = 0.299 * R + 0.587 * G + 0.114 * B;

U = -0.14713 * R - 0.28886 * G + 0.436 * B;

V = 0.615 * R - 0.51499 * G - 0.10001 * B;

如果例如U变量变为负值怎么办?

U = -0.14713 * R - 0.28886 * G + 0.436 * B;

假设R和G(1)和B = 0的最大值
所以,我有兴趣在OpenCV中实现这一功能,
那么,如何处理负值呢?
使用浮点图像?反正请你解释一下,可能是我不明白的东西..

解决方法

您可以使用YUV-> RGB的代码CV_YCrCb2RGB和RGB-> YUV的CV_RGBYCrCb转换OpenCV中的RGB – YUV.
void cvCvtColor(const CvArr* src,CvArr* dst,int code)

Converts an image from one color space to another.

相关文章

Css3如何实现鼠标移上变长特效?(图文+视频)
css3怎么实现鼠标悬停图片时缓慢变大效果?(图文+视频)
jquery如何实现点击网页回到顶部效果?(图文+视频)
css3边框阴影效果怎么做?(图文+视频)
css怎么实现圆角边框和圆形效果?(图文+视频教程)
Css3如何实现旋转移动动画特效