问题背景:

通过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

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐