【问题标题】:Distored image when convert RGB into YUV. How to fix???将 RGB 转换为 YUV 时图像失真。怎么修???
【发布时间】:2014-10-16 13:50:34
【问题描述】:

从 .ppm 图像中,我提取了 R、G、B 数据并保存了以下结构:

                       RGB RGB RGB RGB RGB RGB RGB..........

对应每个像素位置。

然后我用公式将R,G,V转换为Y,U,V。每个像素对应得到YUV。

                     R0G0B0->Y0U0V0 , R1G1B1 ->Y1U1B1, ........

我按照 YUV422 数据格式保存数据:YUV422 数据格式在两个像素之间共享 U 和 V 值。因此,这些值每两个像素只传输一次到 PC 图像缓冲区。

                              R0G0B0R1G1B1->Y0UY1V

a,如何根据U0,U1和V0,V1计算U和V????????

b,在我的例子中,我使用了这个公式:

                         U=(U0+U1)/2;     V=(V0+V1)/2;

获得的数据按以下结构保存以创建 .yuv 文件:

                    YUYV YUYV YUYV YUYV YUYV YUYV......

但是当我使用 YUV 工具读取新的 .yuv 文件时,该图像与原始图像不相似。我在这里做错了什么????

【问题讨论】:

    标签: yuv


    【解决方案1】:

    您采用的公式是正确的。但是对 YUV422 Planar(水平采样)的输出数据排列进行了小修正。 宽*高尺寸的亮度数据后跟宽*高/2的Cb数据和宽*高/2的Cr数据。

    应该如下所述:

    [Y1 Y2 Y3 ...(宽 * 高)] [Cb1 Cb2 ....(宽 * 高/2)] [Cr1 Cr2 ...(宽 * 高/2)]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-25
      • 1970-01-01
      • 2012-03-08
      • 2021-07-10
      相关资源
      最近更新 更多