我正在关注教程
建议的代码是:
import numpy as np
import cv2
# Load an color image in grayscale
img = cv2.imread('messi5.jpg',0)
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
我想加载位于桌面的图像,所以我改变了
img = cv2.imread('messi5.jpg',0)
行到此行:
img = cv2.imread('/home/Desktop/1.jpg',0)
当我通过终端运行代码时,它会产生错误:
OpenCV Error: Assertion failed (size.width>0 && size.height>0) in imshow, file /home/sohib/Documents/OpenCV/modules/highgui/src/window.cpp, line 312
Traceback (most recent call last):
File "1.py", line 6, in <module>
cv2.imshow('image',img)
cv2.error: /home/sohib/Documents/OpenCV/modules/highgui/src/window.cpp:312: error: (-215) size.width>0 && size.height>0 in function imshow
我是否在该部分中包含了错误的图像路径imread
?
我该如何解决这个问题?
笔记:
我在 Ubuntu 16.04.LTS 上
本教程文档适用于 OpenCV 3.0.0,但我使用的是 3.2.0
答案1
您正在使用的路径
我很确定'/home/Desktop/1.jpg'
不存在。应该是'/home/yourname/Desktop/1.jpg'
,除非桌面 是你的名字 :)。
在 Python 脚本中使用路径的一般方法
你可能会/home
混淆$HOME
你也不能使用, 就像~
。
在 Python 脚本中,您不能简单地使用相对路径或变量路径。