0

頭上のウェブカメラからロボットの位置を追跡しようとしています。ただし、ロボットや環境にあまりアクセスできないため、Webカメラからのスナップショットを使用しています。
ロボットには5つの明るいLEDが戦略的に配置されており、ロボットや環境とは十分に異なる色であるため、簡単に分離できます。
私はEmguCVを使用してそれを行うことができ、次のようなバイナリイメージが作成されました。私の質問は、5つのブロブの位置を取得し、それらの位置を使用してロボットの位置と方向を決定する方法です。

私はこのクラスで実験を行ってきEmgu.CV.VideoSurveillance.BlobTrackerAutoましたが、上の画像のブロブを検出することを頑固に拒否しています。これに関しては少し初心者なので、何が間違っているのかわかりません。
では、上の画像のブロブの位置を取得するための最良の方法は何でしょうか?

4

3 に答える 3

2

特にemgucvでそれを行う方法を説明することはできません。呼び出しを、opencvからemgucvに変換する必要があります。cv :: findContoursを使用してblobを取得し、cv :: momentsを使用してblobの位置を取得します(blobの中間点を取得する式はのドキュメントにありますcv::moments)。次に、cv::estimateRigidTransformを使用してロボットの位置と向きを取得します。

于 2011-02-24T11:18:11.307 に答える
0

私はcvBlobライブラリを使用してblobを処理しています。昨日、私はそれを使って小さなブロブを検出し、正常に動作しました。

于 2011-02-24T16:56:53.420 に答える
0

私はこれを行うためにPythonモジュールを作成しました。

http://letsmakerobots.com/node/38883#comments

于 2013-12-31T04:29:48.960 に答える