image47dd1de4

Buenas,

antes que me queden obsoletos y mientras sigo participando en el MVP Summit 2012 pero de forma virtual, vamos con algunos de los cambios que tenemos que tener en cuenta si tenemos aplicaciones para Kinect que utilicen el Kinect SDK Beta 2 y pensamos en migrarlas a Kinect SDK V1.0.

Referencias

Inicialmente teníamos una referencia a Microsoft.Research.Kinect

image

Con el nuevo SDK tenemos que resolver la referencia inválida y agregar una nueva a Microsoft.Kinect.

image

 

Inicialización del Sensor

Cuando utilizábamos la Beta 2, teníamos que definir la inicialización del sensor utilizando el método Initalize() y al mismo le pasábamos una serie de parámetros para inicializar la cámara, el sensor de profundidad o la detección de skeletons.

   1: void InitKinect()

   2: {

   3:     if (Runtime.Kinects.Count == 0)

   4:         return;

   5:     kinect = Runtime.Kinects[0];

   6:     RuntimeOptions = RuntimeOptions.UseDepthAndPlayerIndex | 

   7:         RuntimeOptions.UseSkeletalTracking | 

   8:         RuntimeOptions.UseColor;

   9:     kinect.Initialize(RuntimeOptions);

  10:     kinect.DepthStream.Open(ImageStreamType.Depth, 2, ImageResolution.Resolution320x240,

  11:         RuntimeOptions.HasFlag(RuntimeOptions.UseDepthAndPlayerIndex) || 

  12:         RuntimeOptions.HasFlag(RuntimeOptions.UseSkeletalTracking) ? 

  13:         ImageType.DepthAndPlayerIndex : ImageType.Depth);

  14:     kinect.DepthFrameReady += this.KinectDepthFrameReady;

  15: }

Con el SDK V1.0 esto es mucho más simple. Creo que el siguiente código, donde solo se inicializa el sensor de profundidad, es lo suficientemente declarativo como para que se entienda que ahora lo importante está en la línea 7.

   1: void MainWindowLoaded(object sender, RoutedEventArgs e)

   2: {

   3:  

   4:     if (KinectSensor.KinectSensors.Count == 0)

   5:         return;

   6:     this.kinectSensor = KinectSensor.KinectSensors[0];

   7:     this.kinectSensor.DepthStream.Enable();

   8:     this.kinectSensor.Start();

   9:     this.kinectSensor.DepthFrameReady += this.KinectSensorDepthFrameReady;

  10: }

Si además del sensor de profundidad quisiésemos activar el stream de la cámara y además el reconocimiento de skeletons, el siguiente código es el que tenemos que utilizar. Las líneas 7, 8l y 9 son las importantes.

   1: void MainWindowLoaded(object sender, RoutedEventArgs e)

   2: {

   3:  

   4:     if (KinectSensor.KinectSensors.Count == 0)

   5:         return;

   6:     this.kinectSensor = KinectSensor.KinectSensors[0];

   7:     this.kinectSensor.ColorStream.Enable();

   8:     this.kinectSensor.SkeletonStream.Enable();

   9:     this.kinectSensor.DepthStream.Enable();

  10:     this.kinectSensor.Start();

  11:     this.kinectSensor.DepthFrameReady += this.KinectSensorDepthFrameReady;

  12: }

 

En próximos posts otros ejemplos sobre algunos cambios desde Beta 2 al SDK Final.

 

Saludos @ Home

El Bruno

   

Download: http://www.microsoft.com/en-us/kinectforwindows/develop/overview.aspx

5 responses to “[#KINECT] Cambios en #KinectSdk desde Beta 2 a SDK V1.0 (I)”

  1. Gracias amigo, siempre es un lujo leer tu blog.

    Like

    1. De nadas … buenísimo el blog de Ajedrez.
      Saludos

      Like

      1. Gracias Amigo, de a poco vamos tirando unas líneas !!!!!

        Like

  2. Hola muy buena info, yo estaba batallando pues estaba checando el codigo de Skeletal Tracking Fundamentals pero pedia precisamente hacer referencia a Microsoft.Research.Kinect… instale el SDK y nada pero buneo ahora entiendo.

    mi pregunta es si este codigo podra funcionar con esta otra referencia? o si ya lo has modificado?
    y si tienes algun trabajo mas desarrollado que utilice esta referencia Microsoft kinect.

    gracias

    Like

    1. Jose buenas,

      lo ideal es que saques las refencias “viejas” y agregues las del SDK. No te funcionará a la primera, pero el código es más limpio. En el libro que publicaré en 20 días hay bastantes ejemplos de este tipo.

      Saludos

      Like

Leave a comment

Discover more from El Bruno

Subscribe now to keep reading and get access to the full archive.

Continue reading