C#中的KINECT:将正向运动转换为屏幕上的向上运动

时间:2012-06-01 05:29:23

标签: c# kinect

简而言之,我让Kinect拿起我的动作,我创造了一个漂亮的骨架,这样我就可以很容易地看到我的前/后/左右移动。我想采取这些前/后/左右移动并将其转换为屏幕上上下或左右移动。换句话说,我说左脚从相机向前和向后移动,我想要将其翻译为分别向上和向下移动的点。有没有办法简单地从YZ平面转置到XY平面?我希望在屏幕的不同部分显示前进和上移动

1 个答案:

答案 0 :(得分: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)