問題タブ [matchtemplate]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Opencv matchTemplate が類似オブジェクトの検出に失敗する
OpenCV 4.5.4 を使用して、別の画像内の画像を見つけています。そしてそのための matchTemplate 関数。
タスクは、ロボットが自動生産のためにそれらをマガジンに分類するために、テーブルで「チップ」を見つけることです。テーブルには 1 種類の「チップ」しかありませんが、その半分程度が裏返されているため、ロボットはそれらを 2 つのマガジンに仕分けし、次の生産ステップのために 1 つを裏返します。チップは多く重複するため、1 つのステップですべてのチップを検出する必要はありません。ロボットは検出されたものを整理し、静止位置に戻って新しい写真を作成できます。
シーンの例: シーン
チップの黄金面については、非常にうまく機能しています
テンプレート: object_a
結果: result_obj_a_0_5
しかし、反対側にテンプレートを使用すると、正しい検出がほとんど得られず、一致するしきい値を下げると、オブジェクトの前に金属製のテーブルが誤って検出されます。
テンプレート: object_b
結果のしきい値 0.5: result_obj_b_0_5
結果のしきい値 0.4: result_obj_b_0_4
両方のテンプレートをシーン画像から切り取り、回転させて適切な検出ボックスを取得しました。
私のコード:
上記のコードは、問題を示すための実例です。重複検出をフィルタリングし、見つかったボックスの回転軸を表示するようにコードを改善しました。
私は matchTemplate 関数にまったく慣れていないので、私の質問は、検出率を改善する方法があるということです。どんな助けにも感謝します。