1 | initial version |
Several ideas:
First I would try your idea and initialize the 2D locations and initially assume no rotation and a scale of 1.0. If you like you can then add more keypoints at the same locations but with different scale (see e.g. how it is done in the dense-detector: detectors.cpp, l.162) and / or rotation parameters and see how good the features will match / be useful for classification.
The most feature-detectors first detect 'robust' keypoints like corners. And from these ones they compute the major orientation / scale. So you could look in the source code of your favorite descriptor and modify it such that it uses your points instead of the original points of interest and then continue processing.
Maybe this is possible for you: Take a window around each of your points and run OpenCV's keypoint-detector / descriptor then of course you'll most certainly get more keypoints/descriptors.