6

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

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

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

有人能建议我从哪里开始减少这个文件的大小吗?

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

非常感谢,凯

4

1 回答 1

15

听起来你想压缩你的图像,写入磁盘时。

这是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);
于 2013-03-06T19:20:41.223 回答