2017-07-27 11 views
-2

SIFTを使いたいです。私はすでにこのコードを試してみた:opencv 2.4で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:3行目:予期しないトークンの近くに構文エラー `(」

./sifttt.py:3行目: `IMG = cv2.imread( '1.JPG')」

私がわからない場合はI何かをインストールする必要があるのか​​、他に何かをする必要があるのでしょうか?

+0

エラーw.r.t.コードは意味をなさない!これがコードだと確信していますか? –

+0

コードを 'python sifttt.py'として実行し、あなたが正しいインタプリタを使用していることを確認してください。 –

+0

あなたのコードは私のマシン上で動作します。エラーはありません。 SIFTポイントが正しく検出されます。 – Eskapp

答えて

0

行番号5のコードに問題があります。あなたはopencv 2.4バージョンを使用していますが、opencv 2.4にはxfeature2dモジュールがありません。このモジュールはopenv 3のcheck this outにあります。したがって、Siftをopencv 2.4で使用するには、thisthisチュートリアルを使用してください。

関連する問題