2012-09-13 5 views
5

Il rilevatore Brisk mostrato di seguito non mi fornisce alcun punto chiave. Qualcuno può suggerire un problema. Proverò a spiegare quello che sto facendo qui sotto con alcuni dei codici.Il rilevatore di funzioni BRISK rileva zero punti chiave

#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); 

Così, quando il debug questo e controllare il punto chiave (KP) si dice < 0 articoli>

con simili codice altro rivelatore come ORB, setacciare e del lavoro SURF come destinati!

Qualcuno può suggerire una soluzione.

Sto usando OpenCV 2.4.9 con Qt Creator 2.5.2

Grazie

risposta

3

Va bene, ho capito io!

Per qualcuno interessato, i valori predefiniti dei parametri per BriskFeatureDetector i.e octaves = 3 e thres = 30 non mi forniscono affatto i punti chiave. Ma quando cambio le ottave = 0 come mostrato nella demo dell'autore originale per usare il rilevatore AGAST di Brisk, mi ha dato una quantità considerevole di punti chiave.

Grazie e buon divertimento!