2013-03-06 71 views
4

感谢您花时间阅读我的文章。OpenCV - 图像压缩的可能选项

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

我看了一下32位,8位图像被签名,未签名和彩车和焦炭的,与BGR和YUV色彩空间一起,我不知道哪个是最能影响大小的因素。

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

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

提前许多感谢, 凯

回答

10

听起来像是你要压缩图片,写入磁盘时。

这里是它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); 
+0

berak非常感谢你的是,这正是我需要的东西! 代码长和繁荣! – 2013-03-07 09:25:33