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 アイテム> と表示されます

同様のコードを使用すると、ORB、SIFT、SURF などの他の検出器が意図したとおりに機能します。

誰かが解決策を提案してください。

Qtクリエーター2.5.2でopencv 2.4.9を使用しています

ありがとう

4

1 に答える 1

3

わかりました、私はそれを自分で手に入れました!

興味のある人のために、BriskFeatureDetector のパラメーターのデフォルト値、つまりオクターブ = 3 と thres = 30 では、キーポイントがまったく得られません。しかし、Brisk の AGAST 検出器を使用するために元の作者のデモに示されているように、オクターブ = 0 を変更すると、かなりの量のキーポイントが得られました。

感謝して楽しんでください!

于 2012-09-17T07:15:16.710 に答える