我是opencv和python的初学者。 我刚刚安装了opencv2.4.9和enthought canopy-32bit。我收到以下错误:
import cv2
image = cv2.imread('Lena.jpg')
cv2.imwrite('Mypic',image)
这就是我得到的:
c:\users\nam\appdata\local\temp\tmpokspbt.py in <module>()
3
4 image = cv2.imread('Lena.jpg')
----> 5 cv2.imwrite('Mypic',image)
error: ..\..\..\..\opencv\modules\highgui\src\loadsave.cpp:275: error: (-2) could not find a writer for the specified extension in function cv::imwrite_
答案 0 :(得分:21)
你需要给imwrite()一个扩展名,所以它知道如何保存(压缩)它。
cv2.imwrite('Mypic.png',image)
# jpg,bmp,png,ppm,pgm,tiff supported 'out-of-the-box,
# webp,jp2 depending on if you compiled in the resp. 3rd party support
# no gif or tga.
答案 1 :(得分:4)
您需要确保在为imwrite()提供的字符串中包含图像类型。
imwrite()没有要保存的默认方法,因此在您提供给它的名称中需要它。
代替 :
cv2.imwrite('Mypic',image)
你需要写:
cv2.imwrite('Mypic.The_format_you_want_to_save',image)
举个例子:
cv2.imwrite('Mypic.jpg',image)
答案 2 :(得分:1)
我可以通过在图像的末尾添加扩展名'.jpg'等来解决此问题,
答案 3 :(得分:1)
根据应用程序为输出文件添加扩展名,例如.jpg,.png等。
例如,在这种情况下,您可以使用
import cv2
image = cv2.imread('Lena.jpg')
cv2.imwrite('Mypic.jpg',image)