用C语言读取JPEG文件的RGB三元组

时间:2013-05-28 06:01:43

标签: c++ c image jpeg rgb

要阅读bmp文件,我们可以使用此http://msdn.microsoft.com/en-us/library/dd183376(VS.85).aspx 作为头文件,然后获得rgb三胞胎。如何获取jpeg文件的rgb三元组,是否有任何此类头文件可用。如果有的话,请分享链接。

3 个答案:

答案 0 :(得分:4)

JPEG文件格式不直接存储rgb三元组,但它使用某种图像压缩。该文件实际上包含64个块(如果我没记错的话)像素,这些像素归因于定义实际颜色的余弦模式。

你真的应该使用一个库(libjpeg,imagemagick,gd,...,例如,取决于你的用例)来读取和解码文件并在内存中生成rgb三元组。

答案 1 :(得分:1)

根据this question on MSDN的答案,您可以使用GDI +组件,它不仅可以加载BMP,还可以加载JPG和其他图像格式。从中,您将获得一个内存位图。

以下是an example如何做到这一点。

答案 2 :(得分:0)

检查此库:libjpeg。该库实现JPEG图像编码,解码, 和转码。