OpenCV Python сохранить jpg, указав качество; дает SystemError
Я только что установил новейший OpenCV 2.4 на windows 7 (32bit) / Python 2.7.3,
но я все равно получаю ту же ошибку, что и в бета-версии:
>>> import cv2
>>> a = cv2.imread(r"DMap.jpg")
>>> a.shape
(1080, 1920, 3)
>>> cv2.imwrite('img_CV2_90.jpg', a, [cv2.IMWRITE_JPEG_QUALITY, 90])
Traceback (most recent call last):
File "<input>", line 1, in <module>
SystemError: error return without exception set
какие идеи ? Использование кортежа вместо списка или добавление конечного 0 в последовательность не помогает - та же ошибка.
спасибо - Себастьян Хаазе!--3-->
1 ответов
вероятно, из-за какой-то неправильной упаковки imwrite()
параметры от Python до C,cv2.IMWRITE_JPEG_QUALITY
(который имеет тип "длинного") вызывает некоторые странные проблемы... попробуйте преобразовать эту константу в тип "int":
cv2.imwrite('img_CV2_90.jpg', a, [int(cv2.IMWRITE_JPEG_QUALITY), 90])
для меня это решило проблему (python 2.7.2, opencv 2.4.1)