1

固定位置のカメラを使用して、動いているオブジェクトを追跡し、事前に選択した座標系でローカライズする必要があります。アイデアは、既知の高さを持つオブジェクトの上部に特定のカラー マーカーを配置することです。これにより、Z 座標が認識されます。色の追跡が完了したら、色が見つかった u と v の画像座標から X と Y を見つける必要があります。私はすでにカメラのキャリブレーションを行っており、cv::solvePnP を使用して回転と平行移動ベクトルを取得する予定です。また、ここでカラー トラッキングについて学び、そこから C++ API を作成しました。

ここで同様の質問を見つけて、そこから多くのことを学びましたが、違いは、Z 座標がわかっている (以前に測定された) ため、X と Y のみを評価する必要があることです。事前に指定された Z でこれらの X 座標と Y 座標を取得するにはどうすればよいですか? 手伝ってくれてありがとう!

4

2 に答える 2

2

キャリブレーションを行ったので (z=0 であると仮定します)、カメラ、平行移動、および回転行列を使用して、ピクセルから rw 座標に移動できます。

  1. rw座標を知りたい点を見つけます。(カラーマーカー)
  2. この点の x 座標と y 座標を調べます (z=0 と仮定)
  3. x と y の角度を計算します (主点に対して)。
  4. これらの角度を使用して、z=objectHeight での x と y を計算します。
于 2012-08-22T13:43:02.727 に答える
0

外部パラメータと内部パラメータをキャリブレーションして取得したら、次の情報を使用できます。

  • u、v 座標
  • z 座標

ワールド座標で X e Y を見つけるには:

  • Pc = R * Pw + T

ここで、Pc カム座標、Pw ワールド座標、R 回転行列、T 並進ベクトルです。

于 2012-09-11T13:12:16.437 に答える