對算法評論
但你必須要小心你的算法似乎不錯:
邊緣效應:您需要確保該算法不利於比賽,其中最形象A不重疊圖像B.例如,您可能希望計算平均相似性度量並限制變換以確保至少有50%的像素重疊。
計算複雜度。可能需要考慮很多可能的翻譯和旋轉,並且這種算法在實踐中可能太慢。
經紗的類型。根據您的應用,您可能還需要考慮透視/照明變化以及平移和旋轉。
加速
類似的算法在視頻編碼器是常用的,但大多數會忽略轉/角度的變化,只是搜索翻譯。
一種比較常用的方法是對最佳匹配進行梯度搜索。換句話說,嘗試以幾種不同的方式調整翻譯/旋轉(例如左/右/上/下16像素),並選擇最佳匹配作爲新的起點。然後重複這個過程幾次。 一旦你不能改善比賽,減少你的調整的大小,然後再試一次。
替代算法
根據您的應用程序,你可能要考慮一些替代方法:
立體匹配。如果你的2張圖片來自立體相機,那麼你只需要在一個方向上進行搜索(並且OpenCV提供了有用的methods來做到這一點)
已知模式。如果你能夠在你的圖像中放置已知的圖案(例如棋盤),那麼註冊它們變得更容易(並且OpenCV提供methods來查找和註冊某些類型的圖案)。圖像配準的一種常用方法是搜索獨特的點(例如,角點類型或更一般的感興趣的地點),然後嘗試在兩個圖像中找到匹配的獨特點。例如,OpenCV包含用於檢測SURF功能的功能。谷歌發佈了一個很好的paper使用這種方法來消除我推薦閱讀的捲簾快門噪音。