我是新手,所以我不明白为什么我会出错"AttributeError:"NoneType"对象没有属性"size"?
img = cv2.imread('cat.jpg')
print("Image Properties")
print("- Number of Pixels: " + str(img.size))
print("- Shape/Dimensions: " + str(img.shape))```
这可能是由于缺少cat.jpg
文件引起的,请import os
并添加
print(os.path.exists('cat.jpg'))
之前
img = cv2.imread('cat.jpg')
如果它输出False
,则该平均值cat.jpg
不存在。您可以使用print(os.getcwd())
来检查cat.jpg
应该放在哪里,或者提供文件的完整路径来解决这个问题。
您在第3行收到此错误,因为您使用的是img
的size
,而img
(根据解释器(是None
。
为什么是None
?你想看看它的定义。
img = cv2.imread('cat.jpg')
因此,imread返回None
。什么时候发生的?当文件不存在时。
因此,文件cat.jpg
不在python程序的工作目录中。
因此,您需要检查程序是否在正确的目录中启动(或使用os.chdir
更改目录(。
img
没有名为size
的属性
cv2.imread('cat.jpg')
似乎返回了意外值。尝试打印img
,然后可以进一步调试。也许它在指定的位置找不到cat.png文件。
对象img
无效,因此它不能具有任何属性(如大小(。因此,当您请求size
时,size
属性没有任何关联。
问题是:
- 文件以某种形状或形式损坏
- 路径不正确(请尝试使用绝对路径(
- 文件不存在
相对路径:photos_foldercat.jpg
绝对路径:C:usersdonkeyDocumentsproject_1photos_foldercat.jpg