在python-opencv中打印读取图像的像素值时出现错误,类型错误:'NoneType'对象没有属性'__getitem__'



我已经新安装了opencv,并通过输入

检查其正确安装:
pkg-config --modversion opencv

命令终端

我开始使用python -opencv来读取和显示图像,但是当我运行代码时,它抛出了一个错误:

TypeError: 'NoneType' object has no attribute '__getitem__'

我的代码是非常小的,但没有得到哪里有错误。

我运行的代码是:

import cv2
import numpy as np
from matplotlib import pyplot as plt
import argparse
img = cv2.imread('messi5.jpg')
print(img)
print("end of file")

输出:

None
end of file

当我再写两行时:

px = img[100,100]
print(px)

则抛出错误:回溯(最近一次调用):文件"testing_opencv_python.py",第23行Px = img[100,100]TypeError: 'NoneType'对象没有属性'getitem'

同样的代码可以在其他系统上完美运行。

如果你能指出这个错误,我将不胜感激。

我基本上想安装caffe,但是当我这样做的时候,我得到了错误,似乎它取决于opencv,这就是为什么我安装了opencv。

返回的图像是None(您可以在打印它时看到它),这导致了另一个错误。

这很可能是由于指定了错误的图像路径('messi5.jpg')。在这里的文档中,它声明:

警告即使图像路径错误,它也不会抛出任何错误,但打印img会给你None

提供'messi5.jpg'的正确路径,或者将图像复制到当前目录(执行python脚本的目录)

相关内容

最新更新