0

如果我想使用 Kinect 传感器实时读取和存储获得的数据/值到变量,关于骨骼关节,我该怎么做?

如何将该数据/值保存到一个不会更新的变量,除非我要求一个新值。我希望能够将我得到的值保留在不同的变量中。

任何帮助,将不胜感激。

4

1 回答 1

0

与保存任何其他变量类型没有什么不同。

JointCollection _savedJoint;
DateTime _savedJointTime;

private void OnSkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e)
{
    using (SkeletonFrame skeletonFrame = e.OpenSkeletonFrame())
    {
        if (skeletonFrame == null || skeletonFrame.SkeletonArrayLength == 0)
            return;

        // resize the skeletons array if needed
        if (_skeletons.Length != skeletonFrame.SkeletonArrayLength)
            _skeletons = new Skeleton[skeletonFrame.SkeletonArrayLength];

        // get the skeleton data
        skeletonFrame.CopySkeletonDataTo(_skeletons);

        foreach (var skeleton in _skeletons)
        {
            // skip the skeleton if it is not being tracked
            if (skeleton.TrackingState != SkeletonTrackingState.Tracked)
                continue;

            // do other checks and actions if needed...

            // save off the joint
            _savedJoint = skeleton.Joints[JointType.HandLeft];
            _savedJointTime = DateTime.Now;
        }
    }
}

如果要保存多个关节,可以创建一个数组。如果您想将所有内容打包在一起,您可以创建一个存储所有内容的类。

于 2012-12-14T21:26:46.720 回答