2011-01-27 14 views
5

私は360度のテンプレートマッチングを行う必要があります。テンプレートとローテーションの一致

ほとんどのテンプレートは80 * 120で、画像は640 * 480グレースケール(8ビット)です。

私はopencv cvmatchtemplateを使用していますが、これはかなりうまく動作しています。

さまざまな角度でテンプレートを回転させて、cvmatchtemplateを実行しようとしましたが、動作していますが時間がかかりすぎました。

通常のテンプレートマッチでは12ms、360度で50ms未満の時間が必要です。

+0

達成しようとしているものは何ですか?おそらく、テンプレートマッチの代わりに...テンプレートが頻繁に変更されますか?そうでない場合は、それらを回転して保存し、回転したテンプレートを使用することができます。それはもっと速くなければなりません...そして(繰り返された)テンプレートマッチがそれほど長くかかる場合は、別の方法の使用を検討すべきです...サンプル画像はありますか? – evident

答えて

0

検索を、レディとChatterji、画像処理に関するIEEEトランザクション「翻訳、回転、スケール不変の画像登録のためのFFTベースの技術」を見てみましょうまたは「複合相関フィルタ」である。これは良い出発点です:http://www.opticsinfobase.org/abstract.cfm?URI=ao-31-23-4773。 「Correlation Pattern Recognition」という本が見つかると、第6.2節で複合フィルターについて説明します。

主な考え方は、画像を回転して生成されたテンプレートを取得し、1つの合成テンプレートを生成することです。あなたはAはあなたが利用可能なテンプレートから生成された係数行列であるフォーム

Ax = c 

の線形方程式系を処方することにより、これを行います。 xはあなたが決定しようとしている合成テンプレートであり、cは制約ベクトルです。制約はに設定することができ、いくつかのテンプレートを含み、には以外のテンプレートを含めることができます。

あまりにも多くのテンプレートを1つに結合すると、一致するパフォーマンスが低下するという問題があります。合成テンプレートを使用する予定の画像について、どのような追加情報があるかによって、この問題を克服する方法はあります。

4

テンプレートと画像を極座標に変換すると、あたかもそれが翻訳であるかのように検索できます。これは1つの変換だけなので、はるかに高速になるはずです。これを効率的に実装できます。

私は360度で良い結果を期待するのは難しいと思います。その変換中にテンプレートが変更されている必要があります。わずか数度であれば、変更する可能性は低くなります。

「合成の判別関数」は、Google Scholarの中で、1996年

関連する問題