我已经新安装了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脚本的目录)