0

我需要从使用 Kinect Studio 记录的 XEF 文件中获取颜色和深度帧。

我在直接使用 Kinect 时访问颜色和深度帧的代码如下所示:

        _sensor = KinectSensor.GetDefault();

        if (_sensor != null)
        {
            _sensor.Open();

            _reader = _sensor.OpenMultiSourceFrameReader(FrameSourceTypes.Color | FrameSourceTypes.Depth | FrameSourceTypes.Infrared | FrameSourceTypes.Body);
            _reader.MultiSourceFrameArrived += Reader_MultiSourceFrameArrived;

            _coordinateMapper = _sensor.CoordinateMapper;


        }

private void Reader_MultiSourceFrameArrived(object sender, MultiSourceFrameArrivedEventArgs e)我做我的魔法,这是有效的。

现在我该如何使用预先录制的 XEF 文件呢?

我知道我可以像这样加载 XEF 文件:

        var kStudioClient = KStudio.CreateClient();

        var eventFile = kStudioClient.OpenEventFile(@"D:\Kinect Studio Recordings\20170922_083134_00.xef");

但是我怎样才能从中获得 MultiSourceFrame 呢?

任何帮助是极大的赞赏!谢谢!

4

1 回答 1

0

您使用 KStudioClient API 走在正确的轨道上。如果您自己还没有实现它,还有一个KStudioPlayback类可以用来异步播放 XEF 剪辑。在这个阶段我不会解释并给你确切的代码如何播放 - API 很容易理解。正确使用此类将MultiSourceFrameArrived自动发出事件,因此您现在需要更改处理它们的方式。

以下是您需要了解的一切,以加快使用KStudioPlayback该类 - KStudioPlayback 类 API。如果您需要代码示例,请发表评论,我会回复您。

于 2017-09-25T08:21:54.047 回答