我开始学习 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'
我不明白为什么这个对象不存在这个属性。我的脚本会抑制它吗?
非常欢迎任何帮助。
非常感谢。埃德温