OpenCV - 图像压缩的可能选项

时间:2013-03-06 17:26:09

标签: opencv compression jpeg image-compression

感谢您花时间阅读我的帖子。

我正在开展一个进展顺利的小项目,但作为优化练习,我想减少一些JPEG输出的大小。目前,我有一个600 x 400的.jpg,大约80kb。

我已经阅读了有关32位,8位图像的签名,无符号和浮点数以及字符,以及BGR和YUV颜色空间,并且不确定哪些是影响大小的因素。

有人建议我可以开始减少这个文件大小吗?

我当然会玩并进行自己的测试,以找到适合文件大小平衡的图像质量。

非常感谢, 凯

1 个答案:

答案 0 :(得分:12)

听起来像是要在写入磁盘时压缩图像。

这是jpeg:

std::vector<int> params;
params.push_back(CV_IMWRITE_JPEG_QUALITY);
params.push_back(100);   // that's percent, so 100 == no compression, 1 == full 
cv::imwrite("my.jpg",image,params);

这里是png:

std::vector<int> params;
params.push_back(CV_IMWRITE_PNG_COMPRESSION);
params.push_back(9);   // that's compression level, 9 == full , 0 == none
cv::imwrite("my.png",image,params);