SIFT

2016-07-10 8 views
0

환경을 테스트하기 위해 나는 이미지 객체 recongnition 위해 OpenCV의에서 SIFT를 사용하는 것을 시도하고있다, 그래서이 코드로 시작 :SIFT

import cv2 
img = cv2.imread('../input/train_2/2.jpg') 
gray= cv2.cvtColor(img,cv2.COLOR_BGR2GRAY) 
sift = cv2.xfeatures2d.SIFT_create() 
kp = sift.detect(gray,None) 
img=cv2.drawKeypoints(gray,kp) 
cv2.imwrite('sift_keypoints.jpg',img) 

나는이 오류가있어 코드를 실행할 때 :

AttributeError: module 'cv2' has no attribute 'xfeatures2d'

설치된 OpenCV 패키지가 SIFT를 지원하지 않는 것 같습니다. 어떻게 해결할 수 있습니까? 그래서 라이센스 인식하고 그래서 ...

당신은 추가로 OpenCV의를

구축해야 -

답변

0

SIFT 실험 및 비 무료 모듈을 포함하는 OpenCV의 패키지와 함께 제공되지 않는 opencv-contrib 패키지에서 일부입니다

  1. 다운로드하거나 cmake 명령 줄에서 OpenCV의-있는 contrib에게
  2. 사용이 플래그를 복제 : 모듈은 다음을 수행해야 cmake -DOPENCV_EXTRA_MODULES_PATH=<opencv_contrib>/modules <other_flags> <opencv_source_directory>