4

私は現在、kinectを使用して特定のオブジェクトのサイズを計算する方法を見つけようとしています

私は次のデータを持っているので

800*600の解像度からのピクセル単位のレンズ距離と幅の角度視野

これは計算できると思います。誰かが私に少し助けを与える数学のスキルを持っていますか?

4

1 に答える 1

3

いくつかの三角法を使用すると、近似できるはずです。

カメラを片方の脚(A)に、オブジェクトを遠端(エッジBC)に、直角を(C)にして、右の三角形ABCを描画すると、オブジェクトの高さは次のようになります。脚の高さBCになります。ピクセルまでの距離は、レッグACまたはABの距離である可能性があります。Kinectセンサーの仕様はそれを規制する予定です。ピクセルの中心までの距離を取得すると、ACになります。ピクセルコーナーまでの距離がある場合、距離はABになります。

Aはピクセルが占めるカメラでの角度を表し、dは直角の斜辺の距離、yは遠方の脚(エッジBC)の距離です。

sin(A) = y / d

y = d sin(A)

yは、オブジェクト平面に投影されたピクセルの長さです。天使の罪に物体までの距離を掛けて計算します。

ここで、kinectのAPIと、それが提供する詳細レベルがわからないことを告白します。あなたはあなたが視野の角度を持っていると言います。800x600ピクセルグリッドの各ピクセルは、カメラの視野と同じ角度を占めると想定する場合があります。その場合、その視野を均等に分割して、各ピクセルのオブジェクトの線形サイズを測定できます。

また、オブジェクトまでの距離があるとおっしゃいました。800x600グリッドの各ピクセルの距離マップがあると想定していました。これが正しくない場合、測定対象のオブジェクトについていくつかの仮定を行うと、対象のオブジェクトを含むピクセルの距離グリッドを概算するためにいくつかの計算を実行できます。

于 2011-08-12T14:06:42.473 に答える