OpenCV - 图像压缩的可能选项

Kay*_*ner 6 compression jpeg opencv image-compression

感谢您抽出宝贵时间阅读我的帖子.

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

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

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

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

非常感谢Kay

ber*_*rak 13

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

这是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);
Run Code Online (Sandbox Code Playgroud)

这里是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);
Run Code Online (Sandbox Code Playgroud)