Детектор функций 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, это дало мне значительное количество ключевых точек.
Спасибо и наслаждайтесь!