Kinect V2 — загрузка файлов XEF, записанных в Kinect Studio, доступ к кадрам «Цвет» и «Глубина»

Мне нужно получить кадры цвета и глубины из файла XEF, записанного с помощью Kinect Studio.

Мой код для доступа к кадрам цвета и глубины при непосредственном использовании 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?

Любая помощь приветствуется! Спасибо!


person WavyRancheros    schedule 22.09.2017    source источник


Ответы (1)


Вы на правильном пути с KStudioClient API. Если вы еще не реализовали его самостоятельно, есть также класс KStudioPlayback, который вы должны использовать для асинхронного воспроизведения клипов XEF. Я не буду объяснять и давать вам точный код, как воспроизводиться на данном этапе — API очень прост для понимания. Правильное использование этого класса автоматически вызовет события MultiSourceFrameArrived, поэтому теперь вам нужно изменить способ их обработки.

Вот все, что вам нужно знать, чтобы быстро освоить класс KStudioPlaybackAPI класса KStudioPlayback. Если вам нужны образцы кода, оставьте комментарий, и я свяжусь с вами.

person Levko Ivanchuk    schedule 25.09.2017