Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Orb feature detection problem

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.

image description image description image description

Orb feature detection problem

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 image 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.

image description image description image description

Orb feature detection problem

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 image and detection with a mask based on color. The first image is the original. The second 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.

image description image description image description image description