Kit de desarrollo Kinect





Todos conocemos este novedoso apoyo de Microsoft, en post pasados les subi Microsoft Visual Studio, bueno pues ahora les traigo las herramientas de desarrollo de aplicaciones Kinect for Windows, la programacion se lleva a cabo mediante Visual C# o Visual C++.


Tras el lanzamiento del dispositivo Microsoft lanzo el SDK para trabajar en el, el problema es que hace falta contar con el dispositivo para el desarrollo y pruebas directas.


Les voy a mostrar un ejemplo de desarrollo de aplicaciones:

Una vez tenemos todo podemos comenzar a familiarizarnos con el SDK de Kinect. Abrimos Visual Studio y creamos un nuevo proyecto: 'WPF application'. Le damos un nombre a nuestro proyecto, en mi caso lo he llamado ejemploKinect.




Una vez agregado el proyecto debemos agregar la referencia de Kinect a nuestro proyecto. Vamos al Solution Explorer y en nuestro proyecto en 'Reference' hacemos clic derecho y seleccionamos 'Add Reference..' y en la pestaña de .NET buscamos la referencia Microsoft.Kinect.




Una vez agregada la referencia debemos ir al "MainWindow.xaml" y agregar un control del tipo imagen. Le cambiaremos el nombre al que queramos y modificaremos su ancho y su alto. Debido a que la imagen de Kinect va a 640x480 recomiendo poner 480 de alto y 640 de ancho. Debido a que no me funciona correctamente el script para subir código mostraré una imagen.




A continuación vamos al .cs asociado a MainWindow. Esto es "MainWindow.xaml.cs". El código esta comentado por tanto no será necesario explicaciones extra. Tan solo apuntar que se debe añadir "using Microsoft.Kinect;"



/// <summary>
[/font][/color]
    
/// Interaction logic for MainWindow.xaml
[/font][/color]
    
/// </summary>
[/font][/color]
    
public
partial
class
MainWindow : Window
[/font][/color]
    
{
[/font][/color]
        
KinectSensor miKinect;
[/font][/color]
        
public
MainWindow()
[/font][/color]
        
{
[/font][/color]
            
InitializeComponent();
[/font][/color]
            
// Agregamos el evento de carga de la ventana
[/font][/color]
            
Loaded += MainWindowLoaded;
[/font][/color]
        
}
[/font][/color]
 
        
void
MainWindowLoaded(
object
sender, RoutedEventArgs e)
[/font][/color]
        
{
[/font][/color]
            
// Comprobamos que tenemos un sensor conectado
[/font][/color]
            
if
(KinectSensor.KinectSensors.Count > 0)
[/font][/color]
            
{
[/font][/color]
                
//Evento ejecutado al cerrar
[/font][/color]
                
Closing += MainClosing;
[/font][/color]
                
// Escogemos el primer sensor kinect que tengamos conectado. Puede haber más de un kinect conectado
[/font][/color]
                
miKinect = KinectSensor.KinectSensors[0];
[/font][/color]
                
// Habilitamos la cámara elegiendo el formato de imagen.
[/font][/color]
                
miKinect.ColorStream.Enable(ColorImageFormat.RgbResolution640x480Fps30);
[/font][/color]
                
// Arrancamos Kinect.
[/font][/color]
                
miKinect.Start();
[/font][/color]
                
// Nos suscribimos al método
[/font][/color]
                
miKinect.AllFramesReady += KinectAllFramesReady;
[/font][/color]
            
}
[/font][/color]
 
        
}
[/font][/color]
 
        
/// <summary>
[/font][/color]
        
/// Obtenemos los frames y los pintamos en la imagen.
[/font][/color]
        
/// </summary>
[/font][/color]
        
/// <param name="sender">
[/font][/color]
        
/// <param name="e">
[/font][/color]
 
        
void
KinectAllFramesReady(
object
sender, AllFramesReadyEventArgs e)
[/font][/color]
        
{
[/font][/color]
            
//Obtenemos el frame de imagen de la camara
[/font][/color]
            
using
(var colorFrame = e.OpenColorImageFrame())
[/font][/color]
            
{
[/font][/color]
                
// Si este es null no continuamos
[/font][/color]
                
if
(colorFrame ==
null
)
return
;
[/font][/color]
                
// Creamos un array de bytes del tamaño de los pixel del frame.
[/font][/color]
                
byte
[] pixels =
new
byte
[colorFrame.PixelDataLength];
[/font][/color]
                
//Copiamos los pixel del frame a nuestro array de bytes.
[/font][/color]
                
colorFrame.CopyPixelDataTo(pixels);
[/font][/color]
                
// Colocamos los pixel del frame en la imagen del xml
[/font][/color]
                
int
stride = colorFrame.Width * 4;
[/font][/color]
                
imageKinect.Source = BitmapSource.Create(colorFrame.Width, colorFrame.Height, 96, 96, PixelFormats.Bgr32,
null
, pixels, stride);
[/font][/color]
                
//imageKinect es el objeto imagen colocado en el xaml
[/font][/color]
            
}
[/font][/color]
        
}
[/font][/color]
 
        
void
MainClosing(
object
sender, EventArgs e)
[/font][/color]
        
{
[/font][/color]
            
// Al cerrar paramos Kinect
[/font][/color]
            
if
(miKinect !=
null
)
[/font][/color]
            
{
[/font][/color]
                
miKinect.Stop();
[/font][/color]
            
}
[/font][/color]
        
}
[/font][/color]
    
}



[/font][/color]

Y listo ya tenemos nuestra primer aplicacion en Kinect!! como ven no es tan complicado solo hay que familiarizarnos con C# y el SDK de MIcrosoft.







ya saben pass: kerenzitaa ....Saludosss y graciaas por pasarse por mis post!!
Kit de desarrollo Kinect
0 Puntos Score: 0/10
Visitas: 1833 Favoritos: 4
0 Comentarios Kit de desarrollo Kinect
Este post no tiene comentarios. Sea el primero!
Para dejar un comentario Registrate! o.. eres ya usuario? Accede!