Ajout de lignes pour comprendre comment cela fonctionne

pull/9/head
Johan LACHENAL 1 year ago
parent d2d98ab898
commit 70b52ba6ea

@ -1,6 +1,7 @@
using Microsoft.Kinect; using Microsoft.Kinect;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
@ -28,32 +29,39 @@ namespace WpfApp
public MainWindow() public MainWindow()
{ {
InitializeComponent(); InitializeComponent();
Debug.WriteLine("Initialisation de Kinect...");
// Initialiser la Kinect // Initialiser la Kinect
this.kinectSensor = KinectSensor.GetDefault(); this.kinectSensor = KinectSensor.GetDefault();
if (this.kinectSensor != null)
// Ouvrir le lecteur de flux de couleur {
this.colorFrameReader = this.kinectSensor.ColorFrameSource.OpenReader(); Debug.WriteLine("Kinect détecté.");
Debug.WriteLine("Ouverture du capteur Kinect.");
// Frame description pour les images de couleur // Ouvrir le lecteur de flux de couleur
FrameDescription colorFrameDescription = this.kinectSensor.ColorFrameSource.CreateFrameDescription(ColorImageFormat.Bgra); this.colorFrameReader = this.kinectSensor.ColorFrameSource.OpenReader();
// Frame description pour les images de couleur
// Créer le bitmap pour afficher l'image FrameDescription colorFrameDescription = this.kinectSensor.ColorFrameSource.CreateFrameDescription(ColorImageFormat.Bgra);
this.colorBitmap = new WriteableBitmap(colorFrameDescription.Width, colorFrameDescription.Height, 96.0, 96.0, PixelFormats.Bgr32, null); // Créer le bitmap pour afficher l'image
this.colorBitmap = new WriteableBitmap(colorFrameDescription.Width, colorFrameDescription.Height, 96.0, 96.0, PixelFormats.Bgr32, null);
// Gérer l'événement FrameArrived pour le flux de couleur // Gérer l'événement FrameArrived pour le flux de couleur
this.colorFrameReader.FrameArrived += this.Reader_ColorFrameArrived; this.colorFrameReader.FrameArrived += this.Reader_ColorFrameArrived;
// Ouvrir la Kinect
// Ouvrir la Kinect this.kinectSensor.Open();
this.kinectSensor.Open(); }
else
{
Debug.WriteLine("Aucune Kinect détectée.");
}
} }
private void Reader_ColorFrameArrived(object sender, ColorFrameArrivedEventArgs e) private void Reader_ColorFrameArrived(object sender, ColorFrameArrivedEventArgs e)
{ {
Debug.WriteLine("Frame de couleur arrivée.");
using (ColorFrame colorFrame = e.FrameReference.AcquireFrame()) using (ColorFrame colorFrame = e.FrameReference.AcquireFrame())
{ {
if (colorFrame != null) if (colorFrame != null)
{ {
Debug.WriteLine("Traitement de la frame de couleur.");
FrameDescription colorFrameDescription = colorFrame.FrameDescription; FrameDescription colorFrameDescription = colorFrame.FrameDescription;
using (KinectBuffer colorBuffer = colorFrame.LockRawImageBuffer()) using (KinectBuffer colorBuffer = colorFrame.LockRawImageBuffer())
@ -73,6 +81,11 @@ namespace WpfApp
this.colorBitmap.Unlock(); this.colorBitmap.Unlock();
} }
Debug.WriteLine("Frame de couleur traitée.");
}
else
{
Debug.WriteLine("Frame de couleur nulle.");
} }
} }
} }
@ -80,6 +93,7 @@ namespace WpfApp
// Assurez-vous de fermer correctement le lecteur et le capteur Kinect lors de la fermeture de la fenêtre // Assurez-vous de fermer correctement le lecteur et le capteur Kinect lors de la fermeture de la fenêtre
private void MainWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e) private void MainWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{ {
Debug.WriteLine("Fermeture de l'application et libération des ressources Kinect.");
if (this.colorFrameReader != null) if (this.colorFrameReader != null)
{ {
this.colorFrameReader.Dispose(); this.colorFrameReader.Dispose();
@ -91,6 +105,7 @@ namespace WpfApp
this.kinectSensor.Close(); this.kinectSensor.Close();
this.kinectSensor = null; this.kinectSensor = null;
} }
Debug.WriteLine("Ressources Kinect libérées.");
} }
} }
} }

Loading…
Cancel
Save