2012-03-12 9 views
3

kinectの奥行き値を使って、オブジェクトの実際のサイズをどうやって調べるのだろうと思っていました。kinectの奥行きデータを使ってオブジェクトの実際のサイズを調べる

例えば、kinectがその前に丸いオブジェクトを見て、丸いオブジェクトが画像内の100ピクセルのスペースをとり、kinectが与える深さの値がxである場合、どのようにして実際のサイズを知ることができますか?ラウンドオブジェクト?

私はメートルや何かのような単位でそれを必要としません、私はちょうどオブジェクトがkinectからどれくらい離れているから独立しているオブジェクトのサイズを計算するための数式を見つけようとしています。

私はOpenCVとkinect SDKを使用していますが、何か役に立つものがあれば教えてください。

ありがとうございます。

答えて

1

サイズ2dに与えられた3Dの大きさを、見つけるために、あなただけの操作を行います。ボールは10個のピクセルの幅として画面上に表示され、1メートル離れている場合

3d_rad = 2d_rad * depth 

だから、それは本当に10です「単位」幅。返された単位を見つけるために少し遊んで、私は彼らが何であるか分からない。

画面上に20ピクセルの半径の球があり、その深さが30として返されたとすると、ボールの実際のサイズは20 * 30 = 600単位です。繰り返しますが、私はどのユニットが正確かは分かりませんが、それはカメラに依存しますが、一定しているのでそれで遊んでいます。カメラの前に1メートルのボールを置き、100ピクセルのように見えます。その距離の逆数は、あなたが持っている単位をセンチメートルに変える変換係数でなければならず、定数として使うことができます。例:

3d_rad_in_cm = conversion * 2d_rad * depth 
関連する問題