如何在C ++中从.cr2
(Canon的原始图像格式)读取图像数据?
我需要执行的唯一一项操作是直接读取.cr2文件的像素数据,否则我想将其转换为任何无损图像并读取其像素'数据
有什么建议吗?
答案 0 :(得分:1)
我也会选择ImageMagick。您不必预先转换所有文件,您可以根据需要一次转换一次。
在你的程序中,不要打开CR2
文件,只需打开正在执行ImageMagick命令的管道(popen()
调用),如
convert file.cr2 ppm:-
然后你可以阅读描述here的非常简单的PPM格式 - 基本上只是一行ASCII文本告诉你文件类型,然后是另一行ASCII文本告诉你图像尺寸,然后是最大值,然后是二进制数据。
稍后,如果需要,您实际上可以使用ImageMagick库和API。