python 2.7.9和opencv2中的SIFT不起作用

时间:2017-03-14 07:23:56

标签: python-2.7 opencv sift

我尝试了一个简单的程序来实现sift

import cv2
import numpy as np

img = cv2.imread('sheikha.jpg')
gray= cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)

sift = cv2.SIFT()
kp = sift.detect(gray,None)

img=cv2.drawKeypoints(gray,kp)

cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

但是收到错误

追踪(最近一次通话):   文件“sift.py”,第7行,in     sift = cv2.SIFT() AttributeError:'module'对象没有属性'SIFT'

我尝试用sift = cv2.xfeatures2d.SIFT_create()替换这一行

仍然是错误

追踪(最近一次通话):   文件“sift.py”,第7行,in     sift = cv2.xfeatures2d.SIFT_create() AttributeError:'module'对象没有属性'xfeatures2d'

请帮忙!

1 个答案:

答案 0 :(得分:0)

问题出在您的OpenCV版本上。此方法适用于OpenCV 3.0及更高版本。

您可以检查documentation。它有features2d