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)
本文介绍使用cv2.imread读取图片时遇到返回NoneType错误的常见原因及解决办法,包括确保工作目录与图片文件路径一致、正确指定图片名称与后缀、以及如何设置跨目录的绝对路径。
2736





