2

簡単に言えば、Kinect にモーションを拾わせて、前方/後方/左右の動きを簡単に確認できるように、素敵なスケルトンを作成しました。これらの前後左右の動きを、画面上で上下左右の動きに変換したいと考えています。つまり、左足がカメラから前後に動いているとします。それをそれぞれ上下に移動するドットとして変換します。YZ 平面から XY 平面に簡単に転置する方法はありますか? 画面の異なる部分に前進と上昇の両方のモーションを表示したい

4

1 に答える 1

0

私はあなたの問題を正しく理解したと思います。

playerSkeleton.Joints [JointType.Head] .Position(playerSkeletonはスケルトンフレームから取得したSkeletonオブジェクト)を調べると、ジョイントのX、Y、Z座標があることがわかります。次のようなこともできます。

DepthImagePoint jointDepthPoint = DepthFrame.MapFromSkeletonPoint(playerSkeleton.Joints[JointType.Head].Position);

結果として得られるピクセルの値を取得し、結果として深度値を取得します。

残りは単なる数学です...あなたはただ値をスケーリングします。

深度値が128から256の間にあり、それを(0、0)から(480、0)の間隔でスケーリングしたいとします(水平線のように)

new_value =(480-0)* your_value /(256-128)

したがって、(new_value、0)にドットを描くことができます

于 2012-09-03T12:07:36.840 に答える