(opencv error: (-215:Assertion failed) size.width>0 && size.height>0 in function ‘cv::imshow’)
问题:因为读入图片的宽和高至少有一个不大于0。可以说就是没有读入图片
原因分析:路径出错或没有图片
1.路径里面有中文,opencv-python不支持直接读取中文路径,把 图片路径改成英文或把图片换一个路径就行。
如果需要改成中文路径的话可以参考【opencv】实现中文路径的读取
2.路径格式错误
import cv2 #读入图像 img =cv2.imread('D:\Python\opencv-python\Lib\Lena.jpg',1) cv2.imshow('image',img) #显示图像 cv2.waitKey(0) #等待
python的路径分割符不是“\”,而是“/”,可以把“\”换成“/”,或是改成
#路径前加r,最简单img = cv2.imread(r'D:\Python\opencv-python\Lib\Lena.jpg',1)#把"\"换成"/",麻烦img = cv2.imread(r'D:/Python/opencv-python/Lib/Lena.jpg',1)#把"\"换成"\\",也麻烦img = cv2.imread(r'D:\\Python\\opencv-python\\Lib\\Lena.jpg',1)
之所以这样操作是因为我们在从文件夹中复制文件路径时, 中间的斜杠都是反斜杠, 这时如果直接复制到python中, 正巧有一个名字的第一个字母是r或者是n, 那么就会被转义识别为换行符,所以需要防止转义字符转义。
3.文件名打错了,或是地址打错了。在这个地址里面没有这个图片或是图片损坏等原因。
文件名的后缀别忘了。
目前只遇到这几种情况,如果有其他原因欢迎指点。
来源地址:https://blog.csdn.net/weixin_51315141/article/details/129097043