- Primero debemos crear un proyecto de tipo aplicación WPF.
- Para poder operar con la librería de kinect, debemos agregar la referencia Microsoft.Kinect
- Habiendo agregado la referencia, debemos agregar el namespace en el código fuente using Microsoft.Kinect;
- Ahora debemos agregar un control image, lo expandimos sobre toda la ventana.
- Ya con el control image listo, debemos agregar un evento a la ventana. Desde propiedades buscamos el evento loaded y clic!
using Microsoft.Kinect;
namespace CamaraWebSencilla
{
/// <summary>
/// Lógica de interacción para MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
KinectSensor miKinect;
public MainWindow()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e) //nuestro método paso 5
{
miKinect = KinectSensor.KinectSensors.FirstOrDefault(); // Almacenamos nuestra kinect en esta variable para así llamar sus funciones. //
miKinect.Start(); // Aca le indicamos que inicio.
miKinect.ColorStream.Enable(); //Este método da inicio a la señal de flujo de stream de la cámara (Habilita la cámara).
miKinect.ColorFrameReady += miKinect_ColorFrameReady; //Con este controlador de eventos le decimos a la aplicación que debe hacer cuando detecte el flujo de datos.
}
void miKinect_ColorFrameReady(object sender, ColorImageFrameReadyEventArgs e)
{
using (ColorImageFrame frameImagen = e.OpenColorImageFrame())
{
if (frameImagen == null)
return;
byte[] datosColor = new byte[frameImagen.PixelDataLength];
frameImagen.CopyPixelDataTo(datosColor);
mostrarVideo.Source = BitmapSource.Create(
frameImagen.Width, frameImagen.Height,
96,
96,
PixelFormats.Bgr32,
null,
datosColor,
frameImagen.Width * frameImagen.BytesPerPixel
);
}
}
}
}
Ejecutando nuestro proyecto, podremos tener una cámara web sencilla con kinect.
No hay comentarios:
Publicar un comentario