How to ensure that extractor does not remove keypoints
I'm working with a framework that relies on keeping the number of keypoints constant before and after descriptor extraction. So far I applied a detection mask such that keypoints are not detected if they are close (e.g. 30 pixel) to the border of the image. Unfortunately, the extractor still removes a few keypoints. For example, I detect keypoints with the SURF detector on several octaves (!) and then use the FREAK extractor. Everything works fine if the number of octaves of the SURF detector is set to 1.
Can I sort out these keypoints by considering their size and octave? I removed all the keypoints with a size larger than 60 pixels but I've got still the same problem.
In the last paragraph: what does it change in your case between removing manually the keypoints before extracting the descriptors and let the compute method do it automatically ?
It's just that the framework I am working with uses the Eigen library to store keypoint and descriptor data. Furthermore, the detector and extractor class are implemented separately so I pass data from the detector to the extractor with Eigen. Unfortunately, it is quite painful to remove data from Eigen vectors and matrices. That's my problem.