如何在opencv 2.4中使用SIFT

时间:2017-07-27 16:18:44

标签: python opencv sift

我想使用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')'

我不知道我是否需要安装或者是否需要做其他事情?

1 个答案:

答案 0 :(得分:0)

您的代码在第5行存在问题。您使用的是opencv 2.4版本,但opencv 2.4没有xfeature2d模块,此模块位于open {3 in up check this out中。因此,要在opencv 2.4中使用Sift,请使用thisthis教程。