cv2.imread读入图片后返回NoneType的解决方案
这里用的是Spyder
先看这段代码
import cv2
img = cv2.imread('wangye.jpg')
cv2.imshow('wangye', img)
这里要注意几点
-
工作目录与文件目录在一块才能像上面这样写如下图
-
读图时名字要加后缀(这点很重要,许多返回NoneType就是应为这个)
重点
对于上面这个图片,我们想当然的认为它的文件名+后缀是 wangye.jpg
其实因为显示原因,文件名是 wangye.jpg 后缀是 .jpg
所以文件名+后缀应该是wangye.jpg.jpg
代码如下:
import cv2
img = cv2.imread('wangye.jpg.jpg')
cv2.imshow('wangye', img)
最后显示成功
如果文件和图片不在一个文件夹下,工作目录也不一致,按照上面代码也会输出NoneType,这时需要把路径写好:
代码如下:
import cv2
img = cv2.imread('E:\\test\\wangye.jpg')
cv2.imshow('wangye', img)