1 | initial version |
The reason for this is quite simple. In order for a keypoint to exist, there must be a certain region of information around it to use later for descriptor creation. If you take a point that lies on a border (since the image parts are processed piece by piece and not together), these points will not have the required amount of pixels surrounding to create the ORB descriptor and thus be removed.
If you want to change this behaviour you will have to dive into the source code of both ORBDescriptor and the GridAdaptedFeatureDetector, to make sure that you know the size of the region around the keypoint needed, add about 15% to that and use that measurement as an overlap value for different parts of the grid. Using overlapping windows will then give you the possibility of finding this keypoints.