SIFT在openCV中检测到的关键点,其大小是半径还是相关区域的直径?

时间:2015-10-29 17:35:03

标签: c++ opencv sift

OpenCV SIFT descriptor keypoint radius 这里deltheil回答为半径 但是当我转到OpenCV的文档时,它给出了:

float cv :: KeyPoint :: size 有意义的关键点邻域的直径

http://docs.opencv.org/master/d2/d29/classcv_1_1KeyPoint.html#a308006c9f963547a8cff61548ddd2ef2 不知怎的混淆...... 谢谢!

1 个答案:

答案 0 :(得分:4)

这是两件不同的事情:

  • size cv::KeyPoint属性是由SIFT特征检测器确定的blob的大小。 size也称为scale,它可以从图像的平滑级别导出。不要忘记:通过构造高斯尺度空间来获得在多个尺度上搜索关键点。每个关键点由四个参数的几何框架描述:关键点中心坐标xy,其scale(最初是区域的半径,但OpenCV将其定义为直径),及其orientation(角度)。

  • 另一方面,问题here中的radius是SIFT描述符的属性,它对应于包含维度{的平方补丁(高斯窗口)的圆圈{1}}。通过这个窗口,算法加权或减少了远离描述符中心的梯度贡献。

正如在其他问题中也提到的那样,我强烈建议您参考这个vlfeat SIFT documentation