Mostrar video desde el Sensor Kinect

Ahora que Microsoft ha liberado la versión Beta del SDK de Kinect para Windows, podemos empezar a jugar con él. Sí tienes un Sensor Kinect puedes probar este pequeño tutorial que te permite reproducir video desde el Kinect en una aplicación Windows Presentation Foundation utilizando Visual C# y Visual Studio 2010.

Puedes utilizar la versión Express de Visual C#.

Requisitos:

·         Kinect for Windows SDK beta

·         Coding4Fun Kinect Toolkit

·         Sensor Kinect (Hardware)

 

1.- Crear una aplicación WPF Application

clip_image001

 

2.- Agregar un control Image a la ventana MainWindows.xaml

clip_image002

3.- Agregar la referencia a Microsoft.Research.Kinect

clip_image003

4.- Agregar la referencia a Coding4Fun.Kinect.Wpf.dll

clip_image004

5.- En el archivo MainWindow.xaml.cs Importar los espacios de nombres de las referencias agregadas.

using Microsoft.Research.Kinect.Nui;

using Coding4Fun.Kinect.Wpf;

 

6.- En el código de la clase MainWindow, declarar una variable a nivel de clase que representará una instancia del Sensor Kinect

    publicpartialclassMainWindow : Window

    {

        Runtime Sensor = newRuntime();

 

7.- En el controlador del evento Loaded de la ventana, agregar el código para inicializar el subsistema del Sensor Kinect para que procese información con la cámara RGB:

        privatevoid Window_Loaded(object sender, RoutedEventArgs e)

        {

            Sensor.Initialize(

                RuntimeOptions.UseColor);

 

8.- En el mismo método Window_Loaded, agregar el código para suscribirse al evento VideoFrameReady que ocurre cuando un Frame de video está listo. Visual Studio genera automáticamente el manejador de eventos al presionar <tab> <tab> después del símbolo igual:

        privatevoid Window_Loaded(object sender, RoutedEventArgs e)

        {

            Sensor.Initialize(

                RuntimeOptions.UseColor);

            Sensor.VideoFrameReady +=

                newEventHandler<ImageFrameReadyEventArgs>(Sensor_VideoFrameReady);

        }

 

        void Sensor_VideoFrameReady(object sender, ImageFrameReadyEventArgs e)

        {

            thrownewNotImplementedException();

        }

 

9.- Agregar código para abrir un Stream de las imágenes del video. Indicando que deje 2 frames en buffer con una resolución de 640×480, y que la imagen sea a color.

        privatevoid Window_Loaded(object sender, RoutedEventArgs e)

        {

            Sensor.Initialize(

                RuntimeOptions.UseColor);

            Sensor.VideoFrameReady +=

                newEventHandler<ImageFrameReadyEventArgs>(Sensor_VideoFrameReady);

            Sensor.VideoStream.Open(ImageStreamType.Video, 2,

                ImageResolution.Resolution640x480, ImageType.Color);

        }

 

10.- En el controlador de evento Sensor_VideoFrameReady agregar el código para mostrar la imagen recibida.

        void Sensor_VideoFrameReady(object sender, ImageFrameReadyEventArgs e)

        {

            image1.Source = e.ImageFrame.ToBitmapSource();

        }

 

11.- En el controlador del evento Closed de la Ventana, agregar el código para detener el uso de la instancia del Sensor.

        privatevoid Window_Closed(object sender, EventArgs e)

        {

            Sensor.Uninitialize();

        }

12.- En este punto ya podemos ejecutar la aplicación y se mostrará una ventana con el video reproducido por el sensor Kinect.

A divertirse desarrollando aplicaciones con el Kinect!!!

 

 

Esta entrada fue publicada en C#, Entretenimiento, Kinect. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s