简而言之,我让Kinect进行运动,并创建了一个不错的骨骼,以便可以轻松查看我的向前/向后/左右移动。我想将这些向前/向后/左右移动,并将其转换为屏幕上的上下或左右移动。换句话说,我的左脚从摄像机向前或向后移动,我想将其转换为分别向上和向下移动的点。有没有一种方法可以简单地从YZ平面转置到XY平面?我想同时在屏幕的不同部分显示前进和后退动作
最佳答案
希望我能正确理解您的问题。
如果查看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)上绘制点
关于c# - 在C#中KINECT:将向前运动转换为屏幕上的向上运动,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10844879/