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

Sto*_*007 2 c++ opencv sift

OpenCV SIFT 描述符关键点半径 在这里 deltheil 回答为半径但是当我转到 OpenCV 的文档时,它给出:

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

http://docs.opencv.org/master/d2/d29/classcv_1_1KeyPoint.html#a308006c9f963547a8cff61548ddd2ef2 有点困惑......谢谢!

Kor*_*nel 5

这是两件不同的事情:

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

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

正如在另一个问题中也提到的,我强烈建议您参考这个vlfeat SIFT 文档