2016-10-13 2 views
2

는이 코드 시도 :python에서 opencv로 png 파일을 압축하는 방법은 무엇입니까?

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' has no attribute 'CV_IMWRITE_PNG_COMPRESSION'

내가 파이썬 3.5에서 OpenCV 3.0

+0

opencv (cv2)를 가져 왔습니까? 'import cv2' – mk2

+0

'cv2.cv import CV_IMWRITE_PNG_COMPRESSION'을 시도 했습니까? – birryree

답변

6

에서 OpenCV 3.0의 이름은 IMWRITE_PNG_COMPRESSION입니다 함께 일하고 있어요을 CV_ 접두사).

그래서 시도 :

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

This postint 캐스팅도 언급하고있다. 이 것이 여전히 필요한지 확실하지 않습니다.

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

감사합니다, Worked !!! –

+0

두 가지 모두 효과가 있었지만 아무런 차이가 없었습니다. 어쩌면 어떤 시스템에서는 IMWRITE_PNG_COMPRESSION이 float이고 int()가 필요할 것입니다. – WoodyDRN

+0

@WoodyDRN 피드백에 감사드립니다.) – Miki

관련 문제