You need to enable JavaScript to run this app. 为何相同图片使用PIL和CV2保存为PNG格式时文件大小差距明显
优惠活动
大模型
产品
解决方案
定价
更多

为何相同图片使用PIL和CV2保存为PNG格式时文件大小差距明显

PNG文件大小差异原因

二者的本质差异是PNG格式默认压缩配置不同,均为无损压缩,不会影响图像内容:

  • PIL的Image.save()保存PNG时默认压缩等级为6(压缩等级范围0-9,数值越大压缩率越高、耗时越长),且默认开启压缩优化,会扫描图像数据匹配最优压缩参数,最终输出文件更小。
  • OpenCV的cv2.imwrite()保存PNG时默认压缩等级仅为3,且默认没有开启额外的压缩优化步骤,压缩率更低,所以输出文件更大。

你可以手动调整OpenCV的PNG压缩参数,即可获得和PIL大小相近的文件:

# 设置PNG压缩等级为9(最高无损压缩)
cv2.imwrite('2.png', c_image, [cv2.IMWRITE_PNG_COMPRESSION, 9])

内容的提问来源于stack exchange,提问作者Da Da

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 15:45:05