重複の可能性:
スケールと回転テンプレートマッチング
背景が白で、その上に黒い形のテンプレートグレースケール画像があります。また、回転や形状が異なる同様のテスト画像もいくつかあります。テスト画像はテンプレートと同じではありませんが、類似しています。
これらの2つの画像を比較して、テンプレートがテスト画像のいずれかに最も類似しているかどうかを確認したいと思います。画像に歪み、ノイズ、その他の欠陥はありません。このトピックに関するチュートリアルはありますか?
重複の可能性:
スケールと回転テンプレートマッチング
背景が白で、その上に黒い形のテンプレートグレースケール画像があります。また、回転や形状が異なる同様のテスト画像もいくつかあります。テスト画像はテンプレートと同じではありませんが、類似しています。
これらの2つの画像を比較して、テンプレートがテスト画像のいずれかに最も類似しているかどうかを確認したいと思います。画像に歪み、ノイズ、その他の欠陥はありません。このトピックに関するチュートリアルはありますか?
最初に最も簡単な方法を試してください。
私があなたを正しく理解しているなら、あなたはいくつかのモデルを持っています - 白い背景の上に黒い形。あなたはそれをブロブとして扱うことができます - 主軸角度を計算することによってその重心と回転を見つけてください -そこを見てください.
次に、他の画像から形状をセグメント化する必要があります。次に、matchShapes() 関数を使用して、対応する最適な形状を見つけようとします。その使用方法を参照してください。
matchShapes() 関数は、スケールと回転を不変に一致させます。一致する形状が最小であるほど、一致度が高くなります。
質問を拡張すると、最適に一致するブロブの重心と回転を見つけ、モデルと一致した画像の間の回転、スケール、および変位を見つけることができます。
これはかなり複雑なテーマです。通常、テンプレート マッチングを処理するために、一般化されたハフ変換や正規化されたグレースケール相関などのオプションがあります。問題は、最も単純な表現ではスケールまたは回転不変ではないことです。その時点で問題に集中する必要があります。一般化されたソリューションは複雑です。最初に単純なテンプレート マッチングをお勧めします。次に、回転とスケーリングの「ハック」を追加します。回転の場合、ダウンスケール (低解像度マッチング) と、回転したモデルとのテンプレート マッチングが可能です。これでスケールにも対応できます。