做了RGB TO YUV的转换,有颜色偏差
请问这种色彩偏差能够避免吗?
如何避免?
问题点数:20、回复次数:7Top
1 楼rainliuyu(今天不下雨)回复于 2005-12-07 12:11:12 得分 0
公式用的是这个
Y = ( ( 66 * R + 129 * G + 25 * B + 128) >> 8) + 16
U = ( ( -38 * R - 74 * G + 112 * B + 128) >> 8) + 128
V = ( ( 112 * R - 94 * G - 18 * B + 128) >> 8) + 128Top
2 楼hhoking(妙手仁心)回复于 2005-12-07 13:24:13 得分 7
用这个公式:
Lum = (unsigned char)( 0.299*R + 0.587*G + 0.114*B);
Cb = (unsigned char)(-0.169*R - 0.331*G + 0.500*B + 128);
Cr = (unsigned char)( 0.500*R - 0.419*G - 0.081*B + 128);
当然那些浮点参数,你可以统统乘个256,然后右移8,形式和你的公式差不多,但参数还是有差异的。Top
3 楼happy__888([顾问团]寻开心 www.e-jjj.com)回复于 2005-12-07 15:35:40 得分 7
https://helixcommunity.org/viewcvs/cgi/viewcvs.cgi/video/colconverter/rgb2yuv.cTop
4 楼happy__888([顾问团]寻开心 www.e-jjj.com)回复于 2005-12-07 15:37:13 得分 0
常用的色系之间的转换公式
http://www.easyrgb.com/math.php?MATH=M20#text20Top
5 楼vcmute(BCare4 H1Rest Good9!)回复于 2005-12-07 22:05:17 得分 6
肉眼应该觉察不出Top
6 楼rainliuyu(今天不下雨)回复于 2005-12-09 09:50:42 得分 0
谢谢各位,那个公式应该还是没问题的,后来发现色差是因为BITMAPINFOHEADER的biCompression字段设置有误,写成mmioFOURCC('I', '4', '2', '0')就好了Top
7 楼peachman(侃子)回复于 2005-12-10 01:08:17 得分 0
楼主能不能把你的代码分享一下啊
最近我也在做这个,不过是做yuv->rgb,很急呀
想参考以下
Top
相关问题
- 急, RGB 怎么转换成 YV12(YUV 4:2:0)?
- 求:RGB和HSL,YUV,YCbCr,Gamma等常用色系之间的转换算法.
- 求:RGB和HSL,YUV,YCbCr,Gamma等常用色系之间的转换算法.
- YUV格式的图像是不是转换成RGB格式后才能显示出来彩色图像?
- atof在转换的时候偶尔会造成数值偏差--原因????
- 24bit RGB颜色到16bit的转换?
- 求RGB到HSI的转换公式
- 怎么把16bit的yuv转换成8bit的YUV呢
- 关于24位RGB转换为16位RGB的基本问题
- 色彩空间转换:24bit RGB未压缩AVI转换成16bit(555和565两种)RGB未压缩AVI




