我想使用turbo jpeg将JPEG图像转换为Y' UV420p。我认为这使用了一些2x2块,其中有两倍的信息在Y'在每个U和V组件中都有,但我还没有找到这样做的例子。
如何从tjDecompressToYUV2中提取这些单独的coponents,以及为尺寸是2的幂的倍数的图像分配的缓冲区的格式是什么?
假设我的图像宽1024像素,高512像素。我如何提取每个Y' U和V值来自以下代码:
constexpr auto height = 512u;
constexpr auto width = 1024u;
unsigned char buffer[height * width * 3 / 2];
...
tjDecompressToYUV2(jpegDecompressor, jpegImage, jpegSize, buffer, width, 2, height, TJFLAG_FASTDCT);
...
即。如何从缓冲区中提取组件?
答案 0 :(得分:1)
尝试使用tjDecompressToYUV函数,该函数为3个不同的输出缓冲区提供3个颜色空间。 Y缓冲区应包含Y分量的一个字节(8位值)。我从未使用色度分量,所以我无法告诉你它们是如何存储的。
你要做的是什么,因为可能有另一种方法可以解决这个问题?