简体   繁体   English

OpenCV / C ++ - SIFT关键点检测和相应的描述符

[英]OpenCV/C++ - SIFT keypoint detection and corresponding descriptors

I have an image. 我有一张图片。 I used Canny edge detector,and then I apply Sift on it. 我使用Canny边缘检测器,然后我在它上面应用Sift。

Here the result : 结果如下:

在此输入图像描述

I don't understand the result. 我不明白结果。 Why have i some interest points on some black areas and not a lot where I expect the more ? 为什么我在一些黑色区域有一些兴趣点而不是我期望的更多? Besides, what does the circle size refer to ? 此外,圆圈大小是指什么?

I took a look on the internet but it's not totally clear and I don't find any information about it. 我看了一下互联网,但它并不完全清楚,我也没有找到任何有关它的信息。

Can anyone explain? 谁能解释一下?

SIFT stands for "Scale-invariant feature transform". SIFT代表“尺度不变特征变换”。 It detects keypoints on multiple scales. 它可以检测多个等级的关键点。 The circles on your image probably refer to the scale on which the keypoint was detected. 图像上的圆圈可能指的是检测到关键点的比例。

the keypoint positions in black areas don't seem completely unlikely to me: if you suppose that the area they look at is about 2 or 3 times the size of the circle, than the keypoints in the black zone make a lot more sense: it does not just detect a black zone but a zone like this for example; 黑色区域中的关键点位置对我来说似乎不太可能:如果你认为它们看到的区域大约是圆圈大小的2到3倍,那么黑色区域中的关键点会更有意义:它不只是检测黑区,而是像这样的区域; which is distinctive: 这是独特的: 在此输入图像描述

important remark a keypoint does not mean that only that exact point is different from the rest; 重要的一点,一个关键点并不意味着只有那个确切的点与其他点不同; it means that that point, together with its surroundings is particular. 这意味着这一点与周围环境一起是特别的。 In the case of SIFT it means that SIFT will be able to detect the same point (or zone if you will) even if you scale the image. 在SIFT的情况下,即使您缩放图像,也意味着SIFT将能够检测到相同的点(或区域,如果您愿意)。 The keypoint location returned is then the "centre" of that zone if you will. 如果愿意,返回的关键点位置就是该区域的“中心”。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM