问题背景:

通过cv2.imread读取.png格式的数据时发生如下报错:

	AttributeError: 'NoneType' object has no attribute 'shape'

分析:

Python中,NoneType是一个类型,如同intfloat一样。如:

>>> a = None
>>> type(a)
<class 'NoneType'>
>>> a = 1
>>> type(a)
<class 'int'>

Nonetype类型不支持任何运算也没有内建方法

解决方法:

本案例中通过cv2.imread读取.png格式的数据时,使用了img1 = cv2.imread('data/Dubai_11122012.png', 0),即路径使用了相对路径,应改成绝对路径。当再次实验时因为移动了文件夹再次导致同样的报错,修改绝对路径即可。

总结:发生AttributeError: 'NoneType' object has no attribute 'XXX'大概可能是因为没有读到数据,导致变量为空为NoneType类型,且Nonetype类型不支持任何运算也没有内建方法,故报错。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐