出现错误 - 在给出 imshow、imwrite 命令 opencv 时“找不到作家”

Posted

技术标签:

【中文标题】出现错误 - 在给出 imshow、imwrite 命令 opencv 时“找不到作家”【英文标题】:Getting error - 'could not find a writer'while giving imshow, imwrite command opencv 【发布时间】:2015-02-02 04:20:08 【问题描述】:

我是 opencv 和 python 的初学者。 我刚刚安装了opencv2.4.9并考虑了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_

【问题讨论】:

【参考方案1】:

你需要给 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.

【讨论】:

【参考方案2】:

您需要确保在提供给 imwrite() 的字符串中包含图像类型。 imwrite() 没有默认的保存方法,因此在您给它的名称中需要它。 代替 : cv2.imwrite('Mypic',image) 你需要写:

cv2.imwrite('Mypic.The_format_you_want_to_save',image)

举个例子:

cv2.imwrite('Mypic.jpg',image)

【讨论】:

【参考方案3】:

根据应用为输出文件添加扩展名,如 .jpg、.png 等。

例如,在这种情况下,您可以使用,

import cv2
image = cv2.imread('Lena.jpg')
cv2.imwrite('Mypic.jpg',image)

【讨论】:

【参考方案4】:

我可以通过在图像末尾添加扩展名“.jpg”等来解决这个问题,它对我有用!

【讨论】:

以上是关于出现错误 - 在给出 imshow、imwrite 命令 opencv 时“找不到作家”的主要内容,如果未能解决你的问题,请参考以下文章

OpenCV-2.4.8.2:imshow 与 imwrite 不同

Python-OpenCV:cv2.imread(),cv2.imshow(),cv2.imwrite()

opencv imshow()

opencv-python imshow在mac中给出错误

Python 3.6 + opencv 3.4 中imshow 函数报错

OpenCV 例程300篇02. 图像的保存(cv2.imwrite)