2017-01-17 32 views
1

サーフに基づいて画像マッチングアルゴリズムを作成しています。 私は400ヘッセ閾値とサーフィン初期化:flann knnmatchのOpenCVエラー

surf = cv2.SURF(400) 

をしてマッチングをFLANNました。

しかし、(イメージの大きなセットでは)実行が遅すぎます。 その後、最初に軽いテストを行い、次に深いテストを行うことにしました。そこで、ヘッセンのしきい値を1200に変更しました。

surf = cv2.SURF(1200) 

今はずっと高速です。

matches = flann.knnMatch(des1,des2,k=2) 

しかし、いくつかの画像に、それは次のようなエラーがスローされます。

OpenCV Error: Assertion failed ((globalDescIdx>=0) && (globalDescIdx < size())) in getLocalIdx, file /tmp/opencv-2.4.10/modules/features2d/src/matchers.cpp, line 163 
Exception in thread Thread-1: 
Traceback (most recent call last): 
    File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner 
    self.run() 
    File "/usr/lib/python2.7/threading.py", line 763, in run 
    self.__target(*self.__args, **self.__kwargs) 
    File "indexThreadsDeep.py", line 97, in threadRun 
    if(imageMatch(qDes,tDes)): 
    File "indexThreadsDeep.py", line 69, in imageMatch 
    matches = flann.knnMatch(des1,des2,k=2) 
error: /tmp/opencv-2.4.10/modules/features2d/src/matchers.cpp:163: error: (-215) (globalDescIdx>=0) && (globalDescIdx < size()) in function getLocalIdx 

答えて

1

が高いヘッションしきい値に私が探していたknnMatchにおけるいくつかのimages.Butで唯一のキーポイントがあるため、問題が来ていました2つの最近隣。

関連する問題