【问题标题】:OpenCV 3.0 Why does number of keypoints go over threshold?OpenCV 3.0 为什么关键点的数量超过阈值?
【发布时间】:2015-12-19 03:37:08
【问题描述】:

我创建了 SIFT 构造函数,阈值 = 20

sift = cv2.xfeatures2d.SIFT_create(20)
keypoints, descriptors = sift.detectAndCompute(image,None)

然后我从图像序列中提取描述符,对于某些图像,我收到的关键点数量比限制大一。请参阅下面的描述符打印:

(20, 128)
(20, 128)
(20, 128)
(20, 128)
(21, 128)

这是一个错误吗?如何避免这种行为?

谢谢。

【问题讨论】:

    标签: python opencv


    【解决方案1】:

    documentation 表示要保留的最佳特征的数量。特征按其分数排序(在 SIFT 算法中作为局部对比度测量)

    这意味着如果你有 99 个特征,而后面几个(例如 3 个)得分相同,算法将返回 102 个特征。

    逻辑是:

    • 我们有 99 个关键点
    • 下一个最佳关键点集包含
    • 例如 4 个关键点,那么我们应该添加 4 个关键点中的哪一个?图片中出现的第一个?

    感谢 Eduardo 澄清这个逻辑。

    【讨论】:

      猜你喜欢
      • 2015-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-18
      • 2019-12-19
      • 1970-01-01
      相关资源
      最近更新 更多