5

下面显示的 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 items>

使用类似的代码,其他检测器(如 ORB、SIFT 或 SURF)按预期工作!

有人可以建议一个解决方案。

我正在使用带有 Qt creator 2.5.2 的 opencv 2.4.9

谢谢

4

1 回答 1

3

好的,我自己搞定了!

对于感兴趣的人,BriskFeatureDetector 参数的默认值,即 octaves = 3 和 thres = 30 根本没有给我关键点。但是当我改变 octaves = 0 如原作者的演示所示使用 Brisk 的 AGAST 检测器时,它给了我相当多的关键点。

感谢并享受!

于 2012-09-17T07:15:16.710 回答