imshow() 在 Python 中为图像提供错误
Posted
技术标签:
【中文标题】imshow() 在 Python 中为图像提供错误【英文标题】:imshow() giving error in Python for image 【发布时间】:2016-08-14 23:47:14 【问题描述】:import cv2
import numpy as np
img=cv2.imread("drop.jpg",cv2.IMREAD_GRAYSCALE)
cv2.imshow("blue", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
imshow
函数出错,其余代码工作正常。
错误信息:
OpenCV 错误:断言失败 (size.width>0 && size.height>0) in 简历::imshow,文件 D:\Build\OpenCV\opencv-3.1.0\modules\highgui\src\window.cpp,第 289 行 回溯(最近一次通话最后):文件“C:\Users\D\Desktop\new 2.py”,第 6 行,在 cv2.imshow("image",img) cv2.error: D:\Build\OpenCV\opencv-3.1.0\modules\highgui\src\window.cpp:289: 错误:(-215) size.width>0 && size.height>0 in function cv::imshow
【问题讨论】:
显示错误信息! Assertion failed (size.width>0 && size.height>0)的可能重复 我的猜测是您的程序无法读取 drop.jpg。检查它是否在正确的目录中。其次,在 imread 之后,您应该验证您的图像是否已成功重新读取,然后继续进行 imwrite。 【参考方案1】:cv2.imread()
找不到您的图片文件,即 drop.jpg
【讨论】:
【参考方案2】:我在 windows X64 操作系统上运行 opencv 3.0.1 时遇到了同样的问题。
查看代码发现cv2.imread
的第一个参数不正确,即图片不存在。
当我将图像文件复制到正确的路径时,代码运行正常。
我建议您确保图像文件路径正确。
【讨论】:
【参考方案3】:img=cv2.imread("D:\Matlab\Images\d.jpg",cv2.IMREAD_COLOR)
以上行应修改为:
img=cv2.imread("D:\\Matlab\\Images\\d.jpg",cv2.IMREAD_COLOR)
【讨论】:
这解决了我面临的问题。我的菜鸟错误;我应该一直在使用与系统无关的路径引用(例如 os.path.join)。【参考方案4】:import cv2
import numpy as np
img=cv2.imread("D:\Matlab\Images\d.jpg",cv2.IMREAD_COLOR)
cv2.imshow("blue", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
【讨论】:
欢迎来到 Stack Overflow!感谢您提供此代码 sn-p,它可能会提供一些即时帮助。一个正确的解释would greatly improve 其教育价值通过展示为什么这是一个很好的解决问题的方法,并将使它对未来有类似但不相同的问题的读者更有用。请edit您的答案添加解释,并说明适用的限制和假设。以上是关于imshow() 在 Python 中为图像提供错误的主要内容,如果未能解决你的问题,请参考以下文章
为啥我用pycharm的cv2.imshow会报错,一直没有解决,要自闭了?
使用 imshow + waitKey 显示图像 opencv+python 时出现问题
2021-10-30 vscode+Xming+树莓派使用python-opencv的imshow()函数时显现图像为灰色问题