2011-01-27 72 views
5

我需要在360度進行模板匹配。與旋轉匹配的模板

大部分模板是80 * 120,圖像是640 * 480灰度(8位)。

對於非旋轉,我使用opencv cvmatchtemplate,它工作得很好。

我試着在各個角度旋轉模板,並做cvmatchtemplate,它的工作,但消耗太多的時間。

對於正常模板匹配,需要12 ms,對於360度,需要小於50 ms。

+0

你究竟想達到什麼目的?也許有一種模板匹配的替代方案...模板是否經常更改?如果沒有,您可以旋轉它們並保存它們,然後使用旋轉的模板。這應該更快...如果(重複)模板匹配本身花費太長時間,你應該考慮使用另一種方法...你有任何樣本圖像? – evident 2011-01-27 09:26:46

回答

0

搜索在谷歌學術爲「合成的判別函數」或「複合相關濾波器」。這是一個好的起點:http://www.opticsinfobase.org/abstract.cfm?URI=ao-31-23-4773。如果您可以找到該書「Correlation Pattern Recognition」,那麼第6.2節也解釋了複合過濾器。

主要思想是,您將通過旋轉圖像生成模板並生成單個合成模板。您可以通過制定形式

Ax = c 

哪裏A是從你提供的模板生成係數矩陣的線性方程組的做到這一點。 x是您要確定的合成模板,而c是約束矢量。約束可以設置爲包括一些模板和拒絕其他。

問題是,當您將太多的模板合併到一個模板中時,就會開始失去匹配性能。當然,還有一些方法可以解決這個問題,具體取決於您計劃使用合成模板的圖像中有哪些可用的附加信息。

4

如果您將您的模板和圖像轉換爲極座標,您可以像進行翻譯一樣進行搜索。這應該會更快,因爲它只是一種轉換 - 您可以高效地實現這一點。

我認爲,期待在360度獲得好的結果是具有挑戰性的。該模板在該變換過程中必須已更改。如果只有幾度,那麼它不太可能改變。

看看,雷迪和特吉,對圖像處理IEEE TRANSACTIONS「爲平移,旋轉和尺度不變的圖像配準基於FFT技術」,1996年。