c++ - 压缩原始图像缓冲区

标签 c++ c encoding opencv compression

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

我的问题是:

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

最佳答案

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

关于c++ - 压缩原始图像缓冲区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9376566/

相关文章:

我可以安全地将第一个结构成员的地址解释为整个结构的地址吗?

c - 为什么循环没有终止?

c - C 预处理器中的舍入

java - unicode字符的编码?

c++ - 如何使用 "ostream"指定小数位数

c++ - 如何重新排序功能参数?

c++ - 提取原始数据,然后将其传递给另一个类——如何在保持封装的同时避免复制两次?

c++ - 加载图像时,PE文件部分是否可以相对于基地址在内存中移动?

mysql - 使用 ZF2 dbAdapter for mySQL 进行更新时出现 UTF-8 错误编码

python - 将列名转换为数字?