2014-03-03 108 views
0

我不明白FLANN中的特徵匹配API。我發現這個代碼,我用它作爲我的發展的基線:Image stitching PythonOpenCV Python特徵檢測和匹配

但我找不出什麼flann.knnMatch()函數返回。它是DMatch類型的元組列表。我不明白爲什麼每個元組中有兩個匹配。我也不明白爲什麼使用Lowe的比率來比較元組中的兩個元素,然後我們只使用元組中的第一個元素。

我似乎無法找到關於OpenCV文檔中的flann python綁定的任何信息,所以我一直在努力弄清楚所有這一切。

對此的任何解釋將不勝感激。

謝謝。

+0

你見過這個:http://docs.opencv.org/trunk/doc/py_tutorials/py_feature2d/py_matcher/py_matcher.html#matcher –

回答

0
  1. 函數flann.knnMatch()方法(k = 2)返回兩個 最佳匹配點。
  2. 對於圖像拼接,你可能要做兩個 方向一致,即在我們需要找到在第二圖像中的兩個 最佳匹配第一個圖像中的每個點和我們做同樣的特徵 點在第二圖像發現他們的兩個第一張 圖片中的最佳匹配。
  3. 根據 描述符之間的距離返回兩個最佳匹配項。如果測得的距離對於最佳匹配 非常低並且對於第二最佳匹配大得多,那麼第一匹配是 毫無疑問是最佳選擇。
  4. 如果兩個最佳匹配的距離相對接近每個 其他然後您執行比率測試的最佳匹配距離超過 第二場比賽的距離不大於給定的 閾值(這通常是什麼比率測試完成)