Ask Your Question

Revision history [back]

Troubles running BRIEF in (EXAMPLE) detector_descriptor_matcher_evaluation


I'm trying to evaluate BRIEF using the project (EXAMPLE) detector_descriptor_matcher_evaluation, but somehow the create function on line 294 does not return a valid detector. I'm referring to the line:

Ptr<FeatureDetector> detector = FeatureDetector::create(detector_name);

I stepped into that function and finally reached the following function:

Ptr<Algorithm> Algorithm::_create(const string& name)
    Algorithm::Constructor c = 0;
    if( !alglist().find(name, c) )
        return Ptr<Algorithm>();
    return c();

The function finds the BRIEF constructor in that list, i.e. it reaches the command return c(), but somehow does not return a valid detector. The problem does not occur using ORB or BRISK, but occurs with FREAK, SIFT and SURF.

Can someone please guide me to the reason that the code can't seem to create a BRIEF detector?

Thanks in advance!