2012-09-13 86 views
5

下面顯示的Brisk檢測器不給我任何關鍵點。有人可以提出一個問題。 我會盡力用一些代碼解釋我在做什麼。BRISK特徵檢測器檢測零關鍵點

#include "opencv2/features2d/features2d.hpp" 

using namespace cv;  
using namespace std; 

Ptr<FeatureDetector> detector; 
detector = FeatureDetector::create("BRISK"); 

// the filename is given some path 

Mat img = imread(filename, 0); 
CV_Assert(!img.empty()); 

vector<KeyPoint> kp; 

detector->detect(img, kp); 

所以,當我調試這一點,並檢查關鍵點(KP)它說:< 0項>

與類似的代碼的其他探測器一樣ORB,過篩或SURF工作如預期!

有人可以請建議一個解決方案。

我使用的OpenCV 2.4.9與Qt Creator的2.5.2

感謝

回答

3

好,我知道我自己!

對於感興趣的人,BriskFeatureDetector參數的默認值即octaves = 3和thres = 30根本不給我關鍵點。但是當我將原作者的演示中顯示的octaves = 0更改爲使用Brisk的AGAST檢測器時,它給了我相當多的關鍵點。

謝謝,享受!