opencv error: (-215:Assertion failed) size.width>0 && size.height>0 in function ‘cv::imshow‘

(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.文件名打错了,或是地址打错了。在这个地址里面没有这个图片或是图片损坏等原因。
文件名的后缀别忘了。

目前只遇到这几种情况,如果有其他原因欢迎指点。

你可能感兴趣的:(opencv,python,opencv,计算机视觉,python)