gpt4 book ai didi

image-processing - OpenCV imwrite 增加png图像的大小

转载 作者:太空宇宙 更新时间:2023-11-03 20:52:40 24 4
gpt4 key购买 nike

我正在对 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);

可能是什么问题?请任何帮助。谢谢。

最佳答案

PNG 有几个影响压缩的选项:deflate 压缩级别 (0-9)、deflate 策略 (HUFFMAN/FILTERED) 以及内部预测误差过滤器的选择(或动态选择策略)(AVERAGE、PAETH. ..).OpenCV 似乎只允许您更改第一个,并且它没有很好的默认值 the second .所以,看来你必须忍受这一点。

更新:查看 sources ,似乎已添加压缩策略设置(在 complaints 之后),但它不是 documented .我想知道该消息来源是否已发布。尝试使用 Z_FILTERED 设置选项 CV_IMWRITE_PNG_STRATEGY,看看会发生什么

有关参数的更多详细信息,请参阅链接的源代码。

关于image-processing - OpenCV imwrite 增加png图像的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13704667/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com