cvExtractSurf: parameter useProvidedKeyPts
Hi, I'm trying to reuse previously computed key-points with "cvExtractSurf", setting useProvidedKeyPts = 1. This short snipped can show the issue.
CvSeq *imageKeypoints = 0;
CvSeq *imageDescriptors = 0;
CvMemStorage* storage = cvCreateMemStorage(0);
CvSURFParams params = cvSURFParams(400, extended);
//working version (KP+descriptors)
//cvExtractSURF( image, 0, &imageKeypoints, &imageDescriptors, storage, params, 0 );
//not working version
cvExtractSURF( image, 0, &imageKeypoints, NULL, storage, params, 0 );
cvExtractSURF( image, 0, &imageKeypoints, &imageDescriptors, storage, params, 1 );
Actually before the last call to cvExtractSurf, the values are: imageKeypoints->total : 27411. imageDescriptors : NULL
After the call to cvExtractSurf, the values are such that every KPs seem to be erased. imageKeypoints->total : 0 imageDescriptors->total : 0
The same behavior is shown with 2.4.5 and 2.4.8 version. (in OpenCV 2.1 it was working correctly)
I need to keep KPs and descriptors computations separated. In case I'm doing wrong, anyone can please suggest me the correct way to do that? Thanks.
oh, please stop using the outdated c-api