2017-09-22 7 views
0

Je dois obtenir les trames Color et Depth d'un fichier XEF enregistré avec Kinect Studio.Kinect V2 - Chargement des fichiers XEF enregistrés dans Kinect Studio, accès aux trames Color et Depth

Mon code d'accès à la couleur et des cadres de profondeur lorsque vous utilisez le Kinect donne directement comme ceci:

 _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; 


     } 

En private void Reader_MultiSourceFrameArrived(object sender, MultiSourceFrameArrivedEventArgs e) je fais ma magie qui fonctionne.

Comment puis-je faire pour utiliser un fichier XEF préenregistré?

j'ai eu que je peux charger un fichier XEF comme ceci:

 var kStudioClient = KStudio.CreateClient(); 

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

Mais comment puis-je obtenir un MultiSourceFrame de cela?

Toute aide est grandement appréciée! Merci!

Répondre

0

Vous êtes sur la bonne voie avec l'API KStudioClient. Si vous ne l'avez pas déjà implémenté vous-même, il existe également une classe KStudioPlayback que vous devez utiliser pour lire les clips XEF de manière asynchrone. Je ne vais pas expliquer et vous donner le code exact de lecture à ce stade - l'API est très facile à comprendre. L'utilisation correcte de cette classe émet automatiquement des événements MultiSourceFrameArrived, vous devez donc modifier la façon dont vous les gérez.

Voici tout ce que vous devez savoir pour vous familiariser avec la classe KStudioPlayback - KStudioPlayback class API. Si vous avez besoin d'échantillons de code, postez un commentaire, et je reviendrai vers vous.