OpenCV Python特征检测和匹配

时间:2014-03-03 06:37:38

标签: python opencv feature-detection

我不了解FLANN中的功能匹配API。我发现了这段代码,我将它作为开发的基础:Image stitching Python

但我无法弄清楚flann.knnMatch()函数的返回方式。它是DMatch类型的元组列表。我不明白为什么每个元组中都有两个匹配项。我也不明白为什么要使用Lowe的比率来比较元组中的两个项目,然后我们只使用元组中的第一个项目。

我似乎无法在OpenCV文档中找到有关flann python绑定的任何信息,所以我一直在努力弄清楚所有这些是什么。

对此的任何解释都将非常感激。

感谢。

1 个答案:

答案 0 :(得分:0)

  1. 函数flann.knnMatch()方法(k = 2)返回两个 最佳匹配点。
  2. 对于图像拼接,您可能需要进行两种匹配 方向,即第一张图像中的每个点,我们需要找到两个 第二张图片中的最佳匹配,我们对该功能也做同样的事情 第二张图像中的点在第一张图像中找到两个最佳匹配 图像。
  3. 根据两者之间的距离返回两个最佳匹配 描述。如果测量的距离非常低,以获得最佳匹配 第二场比赛的第二场比赛要大得多,那么第一场比赛就是 毫无疑问是最好的选择。
  4. 如果两个最佳匹配距离相对较近 然后你执行最佳匹配距离的比率测试 第二场比赛的距离不大于给定的距离 阈值(这通常是测试的比率)