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 回答