Детектор функций 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, работают как задумано!

Может кто-нибудь, пожалуйста, предложите решение.

Я использую OpenCV 2.4.9 с Qt Creator 2.5.2

Спасибо

1 ответ

Решение

Хорошо, я получил это сам!

Для тех, кто заинтересован, значения параметров по умолчанию для BriskFeatureDetector, т.е. octaves = 3 и thres = 30, вообще не дают мне ключевых точек. Но когда я изменяю октавы = 0, как показано в демонстрационной версии оригинального автора, чтобы использовать детектор AGAST из Brisk, это дало мне значительное количество ключевых точек.

Спасибо и наслаждайтесь!

Другие вопросы по тегам