繁体   English   中英

OpenCV(4.2.0) 错误: (-215:Assertion failed) size.width>0 && size.height>0 in function 'cv::imshow'

[英]OpenCV(4.2.0) error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'cv::imshow'

我一直收到这个错误。 我已经从这个网站复制了代码并进行了更改,以使代码真正起作用。 编码:

ap = argparse.ArgumentParser()
ap.add_argument("-i", "--image", help="Image Path")
args = vars(ap.parse_args())
img_path = args['image']

#Reading image with opencv
img = cv2.imread(img_path)

#Reading csv file with pandas and giving names to each column
index=["color","color_name","hex","R","G","B"]

csv = pd.read_csv('colors.csv', names=index, header=None)
cv2.namedWindow('image')
cv2.setMouseCallback('image', draw_function)

while(1): 
    #This is error line
    cv2.imshow("image",img)
    [...]

完整的追溯:

Traceback (most recent call last):
  File "C:\Users\someone\Documents\python\____The Useless Installer____\PY\color_detection.py", line 39, in <module>
    cv2.imshow("image",img)
cv2.error: OpenCV(4.2.0) C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:376: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'cv::imshow'

我看过这里这里,但我不明白如何解决这个问题,我认为它与我的问题也没有太大关系。 如果这很明显,我很抱歉。 我在这方面完全是新手。 谢谢

基本上,此错误告诉您您正在尝试显示/不存在的图像。 请检查:

  • 路径:我认为问题来自cv2.imread() 如果路径不正确,则img变量将为空

您尝试读取图像的方式几乎是正确的:

img = cv2.imread(C:\Users\someone\Documents\python\____The Useless Installer____\PY\colorpic)

它应该是这样的

  • escaping 的双反斜杠,在编程语言中具有特殊含义的"\"字符
  • 您确实需要输入图片的格式( jpegpng等)。
  • 您需要将此参数作为'string'"string"传递

因此尝试img = cv2.imread("C:\\Users\\someone\\Documents\\python\\____The Useless Installer____\\PY\\colorpic.jpg")


暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM