3

Kinect によってキャプチャされた深度マップと一緒にカラー画像があります。別の場所に投影したい (別の視点でどのように見えるかを見るため)。Kinect の固有パラメータ (カメラ パラメータ) を持っていないので、どうすれば実装できますか?

PS: C++ でコードを書いています。

4

1 に答える 1

1

デプスフレームとカラーフレームを使用すると、やりたいことと同じようなことを実現するのに十分なデータが必要になります。

カラーフレームには、各ピクセルの色があります。デプスフレームには、各ピクセルの距離があります。

(各センサーの位置により、深度フレームとカラーフレームのデータ間にわずかなギャップがあることに注意してください。マッピングヘルパーメソッドを参照してください:MapDepthFrameToColorFrame

デプスフレームとカラーフレームの両方ですべてのデータを同時に取得すると、各ピクセルを3次元の世界のポイントとして描画できます。解像度が640x480だとします。640(x =幅)、480(y =高さ)、〜3000(z =深さ)の長方形で描かれたシーンがあります。次に、視点を変更できます!

唯一の問題は、Z軸の適切なスケールがないことです。より良い結果が必要な場合は、SkeletonFrameも使用する必要があります。そのおかげで、実際のX、Y、およびZの値(メートル単位)が得られます。ここでも、ヘルパーメソッド(MapDepthToSkeletonPoint)を使用して、各深度ポイントに対応するスケルトンポイントを取得できます。

この投稿を見ると、結果を示すビデオ、C#のコードの一部、および再利用できるプロジェクトサンプルが見つかります。

于 2012-07-26T21:35:16.990 に答える