压缩原始图像缓冲区

时间:2012-02-21 11:14:18

标签: c++ c encoding opencv compression

我从灰度相机中捕获原始图像。当我将图像传输到OpenCV的IplImage并使用cvSaveImage("image.jpg",image)时,图像将以大约160K的大小保存。然而,如果我在C中使用fwrite函数以.pgm格式保存图像缓冲区,则保存的图像大小为1.4M。

我的问题是:

保存时,cvSaveImage()是否将图像压缩为指定的格式?实际上,我正在使用ARM平台的智能相机,我想避免交叉编译OpenCV for ARM的开销。如何在不使用.jpg的情况下将此图像压缩为cvSaveImage,而是使用C函数?

2 个答案:

答案 0 :(得分:1)

我相信Embedded JPEG可能正是您所寻找的。

答案 1 :(得分:0)

或尝试使用Independent JPEG Group源代码。

http://www.ijg.org/