简而言之,我让 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 回答