4

私は、主に機能の検出と抽出のために、OpenCV の多くのチュートリアルと例を実行してきました。

C++、Visual Studio 2012、およびオープン CV 2.4.11 を使用しています。

私の最終的な目標は、棚にあるシリアルの箱を検出、識別、およびカウントすることです。Cheerios が 2 箱、コーンフレークが 1 箱、Froot Loops が 3 箱あるとします。アイテムを識別してカウントしたい。

例を見つけて、車のロゴを使用した小さなテストを実装しました。私のテンプレート ロゴは、メーカーの Opel 用です。サイズ変更および回転された Opel ロゴの 2 つのインスタンスを含む、半ダースほどの車のロゴを含むテスト画像があります。下の画像は結果を示しています (テスト画像の 2 つの Opel ロゴの周りに手動でオレンジ色の円を描きました)。

マッチ

2 つのテスト Opel ロゴには、他のロゴとの一致よりも多くの記述子の一致があります。一致をグループ化して、2 つの Opel ロゴが正しいことを認識し、他のロゴを無視する方法に行き詰まっています。

これを行う標準的な方法があるはずですが、私の検索では見つかりませんでした。

誰かが私を正しい方向に向けることができますか?おそらく例または私が見るべきOpenCV関数に?

4

1 に答える 1

0

opencv でのテンプレート マッチングは、アルゴにより適した方法です。

もう 1 つの方法は、ロゴなどのポジティブ サンプルを 1 つだけ提供する必要がある haar カスケードをトレーニングすることです。

于 2015-03-20T05:36:50.537 に答える