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>