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