1

このタスクは、安定した背景でオブジェクトを追跡することから生じます。これまでのところ、背景を削除して、次のようなバイナリ マスクを取得できました。

1

2

コードを接続せずにおもちゃの境界矩形を取得する必要があります (一部のフレームではかなり太いです)。簡単に思えますが、良い方法が思い浮かびません。

切り取ったおもちゃのテンプレートと相互相関させてみました。それはあまり良くありませんでした。さらに、サイズを変更するには長方形が必要でした。そして、コードはいくつかの混乱を追加しました。

meanShift()また、コードと時折のノイズのために、良い結果が得られませんでした。

findContours()今のところ、いくつか微調整して使用していますが、問題ないように見える画像に奇妙な境界線が生成されます。

もっとシンプルで効果的な解決策がなければならないと私は考え続けています。

4

2 に答える 2

0

取り付けられたコードを取り外すには、単に閉じてから開きます。というように、まず近いところを繋ぎ直し、孤立したところを消してコードを切る。

次に、対応する MatLab 関数を使用して境界ボックスを計算できます。

于 2016-04-28T07:29:38.627 に答える
0

2番目の画像によると、閉じるプロセスでおもちゃの大部分が削除される可能性があります(おもちゃの本体の境界が薄いため)。したがって、(おもちゃとコードの位置が常に垂直であると想定できる場合)最初に凸包を使用し、次に「画像の各行」で個別に厚いオブジェクトを探します(すべての部分のおもちゃの幅がコードまたはノイズの多いスポットよりもはるかに大きいという事実に基づいています)。各行で、長さがしきい値を超えるすべての水平線はその線を保持し、それ以外の場合は削除します。このようにして、おもちゃの凸包だけを再構築し、長方形を簡単に合わせることができます。

于 2016-12-10T08:51:58.630 に答える