如何在python中使用opencv压缩png文件?

时间:2016-10-13 17:45:28

标签: image python-3.x numpy opencv3.0

我试过这段代码:

compression_params = [cv2.CV_IMWRITE_PNG_COMPRESSION, 9] 
img = cv2.imread('img1.png', cv2.IMREAD_UNCHANGED) 
cv2.imwrite('compress_img1.png', img, compression_params)

但是我得到了这个错误:

  

AttributeError:module' cv2'没有属性' CV_IMWRITE_PNG_COMPRESSION'

我正在使用python 3.5和opencv 3.0

1 个答案:

答案 0 :(得分:15)

OpenCV 3.0中的名称是IMWRITE_PNG_COMPRESSION(没有CV_前缀)。

所以试试:

cv2.imwrite('compress_img1.png', img,  [cv2.IMWRITE_PNG_COMPRESSION, 9])

This post还提到了int。我不确定是否还需要这个:

cv2.imwrite('compress_img1.png', img,  [int(cv2.IMWRITE_PNG_COMPRESSION), 9])