【问题标题】:OpenCV orb matching, too many matchesOpenCV orb 匹配,匹配太多
【发布时间】:2017-08-27 19:33:54
【问题描述】:

我一直在使用 Orb 检测器和描述符以及 BF_hamming 匹配器。但问题是当我尝试使用这段代码过滤匹配项时:

matcher.match(descriptors1, descriptors2, matches);
svimatches = matches.toList();

for (int j = 0; j < descriptors1.rows(); j++) {
    distance = svimatches.get(j).distance;
    if (distance < min_distance) {
        min_distance = distance;
    }


    for (int z = 0; z < descriptors1.rows(); z++) {
        if (svimatches.get(z).distance <= 2*min_distance) {
            goodmatcheslist.add(svimatches.get(z));
        }
    }

我得到了太多匹配项,但是当我使用 0.25*min_distance 时,它​​会过滤得恰到好处。 这是什么原因?任何人都可以为 ORB 推荐任何其他类型的匹配过滤器方法吗?

提前致谢, K.Š.

【问题讨论】:

  • 匹配距离越小越好。通过使用0.25*min_distance,您降低了接受阈值,从而减少了好的匹配。

标签: android opencv


【解决方案1】:

也许您想通过提高检测器的阈值来减少检测到的特征数量?这是另一种减少匹配项的方式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-18
    • 2021-03-29
    • 1970-01-01
    • 2014-05-16
    • 2017-10-05
    相关资源
    最近更新 更多