2014-12-03 10 views
7

Ho raccolto un sacco di video utilizzando Kinect per Windows 2 utilizzando lo studio kinect con estensione .xef.Kinect v2, leggere i dati da file .xef

Ora voglio scrivere un programma per caricare i dati da loro e solo riprodurre o salvare come un altro formato, ma ho trovato poche risorse per farlo, c'è qualche risorsa utile per farlo?

risposta

1

quello che puoi fare è leggere il file xef usando il Kinect Studio, quindi andare alla scheda Play (o Riproduzione) e premere play, il tuo programma inizierà lo streaming. Penso che sia l'unico modo per farlo, facendo come se venisse dal kinect.

14

In realtà, è possibile utilizzare l'API Kinect Studio per leggere e riprodurre file .xef dall'ultima versione di SDK (KinectSDK-v2.0_1409). Non è ancora adeguatamente documentato, ma può essere integrato nel tuo codice. Ecco una breve descrizione di usarlo (provato in un VS 2013 C# Solution):

  1. Vai alla cartella di installazione del KinectStudio (ad esempio C: \ Program Files \ Microsoft SDK \ \ Kinect v2.0_1409 \ Tools \ KinectStudio).
  2. Riferimento "Microsoft.Kinect.Tools.dll" nel progetto.
  3. Copia "KStudioService.dll" nella cartella Debug o Release.
  4. Modificare BuildProperties su x64 (altrimenti si ottiene una BadImageFormatException).

L'API è descritta here.

E here è un codice di esempio da Carmine del team Microsoft Kinect.

+0

Ciao, ho eseguito correttamente il codice di esempio da Carmine, ma non so come ottenere il colore e le immagini di profondità da KStudioPlayback Object. Hai qualche idea su questo? – JerryDDG

1

Sembra non esserci un modo per analizzare il file XEF per estrarre direttamente le immagini ancora.

Se non sono necessari tutti i frame memorizzati nel file XEF, vale a dire, il frame dropping è ok, un modo indiretto consiste nel fare un'applicazione Kinect per ricevere i frame dal file XEF tramite il servizio Kinect.

Un test rapido è:

  1. lancio KinectStudio, connettersi al servizio di Kinect, il file XEF aperto.
  2. Avvia ColorBasics-D2D o DepthBasics-D2D (da Kinect v2 SDK).
  3. Riproduce il file XEF in KinectStudio.
  4. Le cornici di colore/profondità vengono visualizzate nell'app ColorBasics o DepthBasics.

È quindi possibile modificare il codice sorgente in ColorBasics o DepthBasics per salvare le immagini di conseguenza. È possibile modificare KinectFusionExplorer-D2D se si desidera allineare la profondità e le immagini a colori.

Questo approccio può solo acquisire un sottoinsieme di frame memorizzati nell'XEF perché la riproduzione e la ricezione frame tramite il servizio Kinect sono asincroni. Pertanto funzionerà solo se il frame drop non è un problema nel tuo programma.