我试过这段代码:
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
答案 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])