2014-02-28 174 views
8

我擁有聚焦在不同距離的相同場景的圖像。我想對齊圖像,使每個圖像中的每個特徵在完全相同的位置。我如何使用opencv來做到這一點?在opencv中對齊圖像

回答

3

其基本思想是基於它們的匹配特徵點在X和Y方向上平面旋轉圖像及其2D平移。

檢出Image Alignment Algorithms您可以在這裏找到兩種使用OpenCV(帶代碼)的方法。

4

您可以使用image stitchingfeature machting算法的openCV。

特徵匹配的主要步驟是:

  • 提取特徵(SURF或SIFT或其他...)
  • 匹配功能(FLANN或暴力破解...)和過濾匹配數
  • 找到幾何變換(RANSAC或LMeds ...)
8

首先,您已確定圖像之間的轉換。它可以像移位一樣簡單,也可以像非線性翹曲一樣複雜。對焦操作不僅可以移動,而且可以輕微縮放甚至剪切圖像。在這種情況下,你必須使用Homography來匹配它們。

其次,您必須嘗試的最簡單方法是手動選擇至少4個相應點的巴黎,記錄它們的座標並將它們輸入到findHomography()函數中。得到的3x3轉換可用於warpPerspective()以匹配圖像。如果結果是好的,你可以通過使用SURF點並匹配它們的描述符來自動查找對應關係。

最後,如果結果不理想,則必須進行比單應性更一般的轉換。我會嘗試分段Affine嘗試分別匹配各個圖像。無論如何,有關您的輸入和最終目標的更多信息將有助於正確解決問題。

+0

[這裏](http://stackoverflow.com/a/40640482)是在Python和O完全工作示例penCV顯示如何使用SIFT/SURF自動檢測匹配點並在該數據上應用findHomography()和warpPerspective()函數。 –