2016-07-07 8 views
0

私はImageクラスを使用しています。絵のパターンを検出するには、Emgu CVのMatchTemplateメソッドを使用しています。だから、私の写真は白黒(256色のグレーバリエーション)で、白いテンプレートを検索する必要がありますが、どのように保存するのですか?私が2色しかない.pngを使用している場合:パターンの白と背景の黒 - MatchTemplateメソッドはテンプレートの背景部分を考慮します(結果が損なわれます)。私はパターンの背景としてどの色を使用しなければなりませんか?Emgu CV - テンプレートと一致する間に色を無視する

UPD:画像が追加されました。

柄(白のみの三角形が必要):

Pattern

画像例(簡単なもの):

Image

検出(白四角は私が得るものである、赤、1 - 私が必要なもの): Detection

+0

白い三角形だけが必要な場合は、テンプレートから黒い枠線を削除しないでください。 – TheLethalCoder

答えて

0

これを読んでください: http://docs.opencv.org/2.4/modules/imgproc/doc/object_detection.html?highlight=matchtemplate#matchtemplate

明らかに、matchTemplateの仕組みが分かりません。

背景が無視されるように1つの色だけを選択することはできません。このアルゴリズムは、テンプレートと一部の画像領域との間の差異を常に計算します。画像とテンプレートの背景が同じでない限り、常に影響を与えます。

バックグラウンドを「無視する」場合は、バックグラウンドの差異が0になるように、またはすべてのピクセルで少なくとも同じになるように、イテレーションごとにイメージ領域でバックグラウンドを置き換える必要があります。これは非常に効率的に聞こえません。

入力画像とテンプレート例を提供します。あなたの問題を解決する可能性は非常に高いです。

+0

投稿に画像を追加しました。 – JustLogin

+0

私はあなたの問題を理解していません。 matchTemplateは、相関値の配列を介してpositonを与えます。それはあなたの四角形のサイズにどのように関連していますか?センターは同じように見えます。 – Piglet

関連する問題