1

我开始学习 Python(2.7)并尝试研究计算机视觉(使用模块 openCv“cv2”)。我使用 OpenCV 2.4 版。

我目前正在尝试运行本教程中的一个示例,该示例位于 ORB(面向球体的快速旋转简要)上,这将帮助我跟踪视频中的对象。

问题是运行示例时出现错误(我只是更改图像加载以使此示例可重现):

import cv2
from matplotlib import pyplot as plt

#create image
img = np.zeros((512,512,3), np.uint8)
cv2.line(img,(0,0),(511,511),(255,0,0),5)

# Initiate STAR detector
orb = cv2.ORB()

# find the keypoints with ORB
kp = orb.detect(img,None)

# compute the descriptors with ORB
kp, des = orb.compute(img, kp)

# draw only keypoints location,not size and orientation
img2 = cv2.drawKeypoints(img,kp,color=(0,255,0), flags=0)
plt.imshow(img2),plt.show()

然后我有以下消息错误:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-2-f294d6a53bcc> in <module>()
     12 print(kp)
     13 # compute the descriptors with ORB
---> 14 kp, des = orb.compute(img, kp)
     15 
     16 # draw only keypoints location,not size and orientation

AttributeError: 'cv2.ORB' object has no attribute 'compute'

我不明白为什么这个对象不存在这个属性。我的脚本会抑制它吗?

非常欢迎任何帮助。

非常感谢。埃德温

4

1 回答 1

0

我也刚开始学习 OpenCV,在我的情况下也是 python。我的版本是 Win7 64 位,python 2.7.8,OpenCV 2.4.10。

错误消息是:AttributeError:“模块”对象没有属性“ORB”

我的解决方案是从这里安装非官方二进制文件:

http://www.lfd.uci.edu/~gohlke/pythonlibs/#opencv

于 2014-12-30T22:45:41.367 回答