camshiftdemo.c
OpenCV2.3.1にバンドルされているプログラムを使用しています。
https://code.ros.org/trac/opencv/browser/trunk/opencv/samples/c/camshiftdemo.c?rev=1429
このプログラムを使用して、選択したオブジェクトを追跡するようにロボットに指示するにはどうすればよいでしょうか。私はそれが機能するかどうかを確認するために実験を実行しようとしていますが、明らかにそれを少し調整する必要があります。
camshiftdemoが機能する方法は、選択したオブジェクトの周囲に赤い楕円を描画することです(マウスでクリックすることにより)。オブジェクトが移動すると、赤い楕円も移動します。オブジェクトがさらに遠くに移動すると、楕円のサイズが小さくなり、カメラに近づくと楕円が大きくなります。
ロボットに指示するために、赤い日食のサイズが小さくなると前方に移動し、サイズが大きくなると後方に移動するように指示することを考えていました。日食が左に移動するとロボットは左に移動し、日食が右に移動するとロボットは右に移動します。
簡単そうに聞こえますが、このコードのどこに日食が描かれていますか?そして、オブジェクトが10秒で前後に移動した場合はどうなりますか?これは、ロボットが同じ場所にとどまるという意味ですか(つまり、ロボットの動きに遅延を導入する必要がありますか?)?
私の目標はcamshiftdemo.c
、ロボットに{前進、後退、左折、右折}するように指示するコードを取得することです。
では、日食のサイズを使用するなどして、ロボットにオブジェクトを追跡させるにはどうすればよいですか?