我想显示mpeg decoder解压所得YUV格式的图像。我直接使用了下面的转换公式,但是发现图像出现失真(雪花点和颜色失真),从网上查到视频流YUV与RGB的转换要用查表法。请问有关查表法的内容。YUV与RGB图象之间的变换关系:
Y= 0.2990R+0.5870G+0.1140B
U=-0.1687R-0.3313G+0.5000B + 128
V= 0.5000R-0.4187G-0.0813B + 128
反变换关系:
R= 1.0Y +1.402  (V-128)
G= 1.0Y - 0.34413(U-128)-0.71414(V-128)
B= 1.0Y + 1.772  (U-128)

解决方案 »

  1.   

    用这里面的公式:
    www.fourcc.org
      

  2.   

    RGB to YUV Conversion
    Y  =      (0.257 * R) + (0.504 * G) + (0.098 * B) + 16Cr = V =  (0.439 * R) - (0.368 * G) - (0.071 * B) + 128Cb = U = -(0.148 * R) - (0.291 * G) + (0.439 * B) + 128
    YUV to RGB Conversion
    B = 1.164(Y - 16)                   + 2.018(U - 128)G = 1.164(Y - 16) - 0.813(V - 128) - 0.391(U - 128)R = 1.164(Y - 16) + 1.596(V - 128)
      

  3.   

    bobworld(红小兵) : 谢谢。可是我试了一下,不行啊,而且视频下用这么复杂的公式,速度可能会跟不上啊。还有其他方法吗?