2012-09-13 57 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检测器时,它给了我相当多的关键点。

谢谢,享受!