我想使用SIFT。我已经尝试过这段代码:
import cv2
import numpy as np
img = cv2.imread('1.jpg')
gray= cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
sift = cv2.xfeatures2d.SIFT_create()
kp = sift.detect(gray,None)
img=cv2.drawKeypoints(gray,kp,img)
cv2.imwrite('sift_keypoints.jpg',img)
但是我收到了这个错误:
./ sifttt.py:line 3:意外令牌附近的语法错误`('
./ sifttt.py:3行:`img = cv2.imread(' 1.jpg')'
我不知道我是否需要安装或者是否需要做其他事情?
答案 0 :(得分:0)
您的代码在第5行存在问题。您使用的是opencv 2.4版本,但opencv 2.4没有xfeature2d模块,此模块位于open {3 in up check this out中。因此,要在opencv 2.4中使用Sift,请使用this和this教程。