【问题标题】:knnMatch requires k>1 to get good results?knnMatch 需要 k>1 才能得到好的结果?
【发布时间】:2012-06-21 16:31:10
【问题描述】:

我正在使用 SURF,我正在尝试两者

FlannBasedMatcher

BruteForceMatcher

我看到了我需要设置的好匹配

matcher.knnMatch(,,2); // with k=2 (At least)

如果我设置k = 1,我不会得到该关键点的第一个距离较近的匹配。
有什么原因吗?

【问题讨论】:

    标签: opencv sift surf


    【解决方案1】:

    knnMatch 将您的数据划分为 k 个组。如果k=1,你会把它放在一个大组中。

    对于单个分区,算法很难计算出到第二个分区的距离。所以根本没有距离可以计算。

    【讨论】:

    • 我在使用 FlannBased 时可以理解,但是当我使用 BruteForceBased 时,它应该将每个关键点相互比较!所以我应该总是得到 1 个距离更短的关键点
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-11
    • 1970-01-01
    相关资源
    最近更新 更多