首页 > 解决方案 > ValueError:具有多个元素的数组的真值不明确...与无比较

问题描述

我是 Python 的初学者,具有 C++ 和 Pascal 的一些背景。我想要做的是用 cv2 库加载图像并检查它是否正确加载:

filePathIn = 'E:\\test.jpg'
img = cv2.imread(filePathIn, cv2.IMREAD_COLOR )
if (img != None) :
    print (img.shape)
else:
    print ("Can't find file: "+filePathIn)

我不明白的是,它cv2.imread()返回指向一个对象(这是一个 numpy 数组)的指针,当没有加载文件时它返回 None。

因此,当找不到文件时,它可以正常工作并执行“else”语句。但是,如果实际加载了文件,那么我会收到此错误,我不明白:

if (img != None):

ValueError:具有多个元素的数组的真值不明确。使用 a.any() 或 a.all()

我并不真正关心数组的元素,我只想检查数组是否存在。

标签: pythonnumpyopencv

解决方案


“我只想检查数组是否存在”

然后就说

if img:
    print(img.shape)

推荐阅读