把一幅图像从rgb 空间转到yuv ,然后再转回来,图像误差大的惊人》?
各位有没有遇到过这种情况?
各位有没有遇到过这种情况?
解决方案 »
- 求助:在视图类中用OnDraw显示图像时,每次更新时,为何有部分图像并没有更新?
- 关于CStatic控件
- pure virtual method called
- 请教一下,想学Socket编程中的SPI,应该怎么学?
- 一个关于栈溢出的问题
- 求助 关于裁剪区域的.
- 问,vc6下有几个vc工程,而且相互交叉,如何调试啊?
- 高手请指教,新建立的视图为什么没有打印功能?急,在线等待
- 哪位大侠能告诉我如何使用LRESULT 和 CALLBACK?
- 微软的mfc的dll如何封装的//消息宏是静态成员啊。。。。。
- vc读出的dwg坐标修改后如何写回去,即生成dwg图形?
- VC 创建一个名为ABC的ActiveX控件,系统会自动创建一个ABCCtrl类和它对应的一个对话框,我的问题是当ActiveX控件加载时就自动显示这个对话框?
YUV与RGB相互转换的公式如下(RGB取值范围均为0-255)︰
Y = 0.299R + 0.587G + 0.114B
U = -0.147R - 0.289G + 0.436B
V = 0.615R - 0.515G - 0.100B
R = Y + 1.14V
G = Y - 0.39U - 0.58V
B = Y + 2.03U
请问这个公式有问题吗?我就是用的这个公式呀
还可以提高速度YUY2经常用于电视制式以及许多摄像头的输出格式.而我们在处理时经常需要将其转化为RGB进行处理,这里简单介绍下YUY2(YUV)与RGB之间相互转化的关系:http://msdn2.microsoft.com/en-us/library/ms893078.aspxYUY2(YUV) To RGB:C = Y - 16D = U - 128E = V - 128R = clip(( 298 * C + 409 * E + 128) >> 8)G = clip(( 298 * C - 100 * D - 208 * E + 128) >> 8)B = clip(( 298 * C + 516 * D + 128) >> 8)其中 clip()为限制函数,将其取值限制在0-255之间.RGB To YUY2(YUV):Y = ( ( 66 * R + 129 * G + 25 * B + 128) >> 8) + 16U = ( ( -38 * R - 74 * G + 112 * B + 128) >> 8) + 128V = ( ( 112 * R - 94 * G - 18 * B + 128) >> 8) + 128本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jtujtujtu/archive/2009/02/10/3874621.aspx
G = clip(( 298 * C - 100 * D - 208 * E + 128) >> 8)
B = clip(( 298 * C + 516 * D + 128) >> 8)
其中 clip()为限制函数,将其取值限制在0-255之间.RGB To YUY2(YUV):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) + 128本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jtujtujtu/archive/2009/02/10/3874621.aspx