Hello,
So I'm trying to use opencv's ORB features detector on an object. So I want to get as much points on my object as I can even if I have a textured background. So I created an orb detector :
Ptr<featuredetector> orb = ORB::create(300, 2.0, 3, 31, 0, 2, 0, 31,15);
and then I tried to compare detect function with and without mask. what I did is, in the png below, I did a color filter then I tried to compare detection on the bounding box of my object and detection with a mask based on color. The first image shows the result for detection on the whole image , the second image is the mask that I want to apply. And the last image is the result of the detection by applying a mask( using the function : detect(image, keypoints, mask).
So what I was expecting is by applying the mask I would get more features on the object and less on the chessboard but what I got was the opposite. I circled in red some points that I found by detecting on the whole image and didn't find using the mask. Can someone tell me what am I missing ? by the way both detections give the same number of keypoints.