Updated by Alexander Shishkov about 13 years ago
When calling DescriptorExtractor::compute [[DescriptorExtractor]]::compute it will remove the keypoints for which a descriptor cannot be computed. This can
be inconvenient if you need to associate the Descriptors to some
auxillary structure.
For example, if you have detected keypoints and computed disparity of the points at some later stage. If the keypoints are removed then the original structure needs to be searched to find the disparity.
If ordering is preserved then the search might not be too hard to do.
Possible solutions would be:
* Template the Keypoint allowing for custom keypoints, e.g. storing all extra information or a reference to the original structure.
* Have the remove optional and instead return a vector of bools specifying which descriptors are valid. Or a list of the id's to original vector.
be inconvenient if you need to associate the Descriptors to some
auxillary structure.
For example, if you have detected keypoints and computed disparity of the points at some later stage. If the keypoints are removed then the original structure needs to be searched to find the disparity.
If ordering is preserved then the search might not be too hard to do.
Possible solutions would be:
* Template the Keypoint allowing for custom keypoints, e.g. storing all extra information or a reference to the original structure.
* Have the remove optional and instead return a vector of bools specifying which descriptors are valid. Or a list of the id's to original vector.