Convert keypoint to ellipse [closed]
Hi,
Keypoints in openCV have an orientation and zize, but that's not enough to convert them to an ellipse that describes the region (There are an infinite number of ellipses with the same orientation and size).
I noticed that in the feature2d evaluation file:
https://github.com/Itseez/opencv/blob/master/modules/features2d/src/evaluation.cpp
they somehow convert a keypoint to an ellipse, but I can't figure out how they uniquely determine the size of the axes.
Can someone please shed some light on this?
Thanks,
Gil.
Just a note, you are mixing up the difference between an actual keypoint and a descriptor region around it. A keypoint itself is a single dot location and can never have an orientation and size. However, the description of that keypoint CAN have a size and orientation, depending on which descriptor algorithm you are using. However if you know the size and the direction, then there can only be a single ellips matching right? The size defines the largest dimensions of the ellips following the axes of the orientation.
Oh, I thought the size was the space of the keypoint. I didn't know it's the largest dimension.
It is the space of the keypoint description. If you know an angle and a width and a height it is just plain math to calculate the dimension ...
Thanks for the answer
I fail to understand. Does descriptors such as Brisk output the width and height of the region?
And if I have only the orientation and the size of the largest dimension, there still exists an infinite number of ellipses that fit.
Can you please explain? Thanks.
You are mixing up techniques. SURF for example takes a single region around a keypoint. Brisk however uses sampling on specific radii around the keypoint.
Thanks for the answer. For the example of the Brisk detector, what is the meaning of the "size" and "orientation" and is there any way to deduce a bounding ellipse from those parameters?
Thanks!
Have a look at this powerpoint about BRISK. Basically you should put more research in an algorithm so that you actually understand the basics!
I know all about brisk. My question is what those parameters exactly represent in the openCV implementation, not in the original theoretical work.
It looks to me they have exact the same meaning as in those slides...