UIImage到YUV 422色彩空间

时间:2011-01-09 00:01:34

标签: objective-c image-processing ios4 uiimage yuv

我一直试图解决这个问题一段时间无济于事,我想知道是否有人可以帮助或指出我正确的方向。

我需要转换UIImage或存储的JPG以获取其YUV422数据,以便我可以应用一些图像增强功能,并将结果转换回JPG或UIImage。

此刻我有点陷入困境,此时此刻我只是想把它送到YUV422。

非常感谢任何帮助。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您必须先读取JPEG标记以确定元数据。元数据,如大小,采样率(通常为4:2:2但不总是),量化表和霍夫曼表。

然后,您必须对熵编码数据段进行去霍夫曼编码。这将为您提供DC系数,然后为Zig zag形式的每个通道的颜色通道的任何AC系数。然后你必须对条目进行de zigzag并将其乘以相应的量化表。最后,您必须在解码的宏块上执行反向离散余弦变换。

然后,这将以JPEG编码的采样率为您提供YCrCb中的3个通道(YUV用于模拟)。如果你需要它是4:2:2,你将不得不重新取样。

希望您有一个库来进行实际的JPEG解码,因为编写一个兼容的文件是一项非常重要的任务。

这是一个非常基本且有缺陷的 JPEG解码器,我开始编写这些解码器,为您提供更多技术细节。 Ruby JPEG decoder它无法成功实施IDCT

在C I suggest IJG

中正确实施