属性错误:"NoneType"对象没有属性"size"



我是新手,所以我不明白为什么我会出错"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行收到此错误,因为您使用的是imgsize,而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属性没有任何关联。

问题是:

  1. 文件以某种形状或形式损坏
  2. 路径不正确(请尝试使用绝对路径(
  3. 文件不存在

相对路径:photos_foldercat.jpg
绝对路径:C:usersdonkeyDocumentsproject_1photos_foldercat.jpg

最新更新