【发布时间】:2012-11-22 04:23:30
【问题描述】:
我正在对 png 图像进行图像处理。我有以下问题。使用 imwrite() 函数保存图像后,图像的大小会增加。比如之前的图片是847KB,保存后就变成了1.20MB。这是一个代码。我只是读取图像然后保存它,但是尺寸增加了。我尝试设置压缩参数,但没有帮助。
Mat image;
image = imread("5.png", -1);
vector<int> compression_params;
compression_params.push_back(CV_IMWRITE_PNG_COMPRESSION);
compression_params.push_back(9);
compression_params.push_back(0);
imwrite("output.png",image,compression_params);
可能是什么问题?请提供任何帮助。 谢谢。
【问题讨论】:
-
我有同样的问题,我猜这取决于用于压缩原始图像的库和 OpenCV 使用的 png 库。
-
imread 中的 -1 是什么?为什么不直接使用 imread("5.png")?
-
第二个参数设置为-1时,imread会读取png透明图片,否则不会返回png图片的alpha通道
标签: image-processing opencv compression png