Search code examples
opencvsiftsurf

How using 'extended' option for Surf algorithm


I want to concatenate SIFT and SURF descriptors to see if it gives better accuracy so I need that SIFT and SURF have the same number of columns. So I want to code on 128 bits SURF descriptors and so I need to use "extended" option. I do this like it :

SurfFeatureDetector detector2(minHessian);
detector2.extended=1;

and then:

extractor2.compute(img, keypoints_4, descriptors2);

But I do this :

cout<<"descriptors2   "<<descriptors2.rows<<" +  "<<descriptors2.cols<<endl;

it gives that

descriptors2 168 + 64

So my question is to take into account the extended parameter ? What am I doing wrong ? Should I need to give a similar parameter to the extractor?

Thanks in advance


Solution

  • The answer was quite simple. I needed to add

    extractor2.extended=1;