image

Buenas,

después del post de ayer donde mostré como pintar en un Canvas un skeleton a partir de los datos que nos brinda Kinect, me han llegado un par de preguntas donde me preguntan como pintar 2 skeletons.

Pues bien para lograr algo similar a las siguientes imágenes, lo único que debemos modificar sobre el código de ayer es la rutina donde Kinect nos indica que ha detectado un Skeleton. En esta rutina nos encargábamos de pintar el mismo, pues bien ahora lo hacemos así:

   1: void KinectSkeletonFrameReady(object sender, SkeletonFrameReadyEventArgs e)

   2: {

   3:     var skeletonId = 0;

   4:     Skeleton.Children.Clear();

   5:     foreach (var skeleton in e.SkeletonFrame.Skeletons.Where

   6:              (skeleton => 

   7:                        SkeletonTrackingState.Tracked == skeleton.TrackingState))

   8:     {

   9:         PaintBones(skeleton, KinectCanvas.SkeletonColors[skeletonId]);

  10:         PaintJoints(skeleton);

  11:         skeletonId++;

  12:     }

  13: }

La gran diferencia está en que para cada Skeleton importamos un color estático desde un diccionario. Amarillo y verde para mi gusto.

   1: public static Dictionary<int, Color> SkeletonColors 

   2:         = new Dictionary<int, Color>

   3:           {

   4:             {0, Colors.Yellow},

   5:             {1, Colors.Green}

   6:           };

 

En este punto ya podremos tener un skeleton tracker que nos ayude a mostrar una pose estática:

image

O un salto de a 2.

image

Detalle interesante, en las imágenes anteriores podemos ver como el Valentino me llega hasta las rodillas y los puntos del Skeleton así lo demuestran.

El ejemplo para descargar desde

https://skydrive.live.com/embedicon.aspx/Code%20Samples/2011%2011%2012%20-%20ElBruno.KinectSkeleton01.zip?cid=bef06dffdb192125&sc=documents

 

Saludos @ Home

El Bruno

   

5 responses to “[#KINECT] HowTo: Pintar 2 skeletons en un Canvas WPF”

  1. […] WPF Canvas[#KINECT] HowTo: Pintar un skeleton en WPF[#KINECT] HowTo: Draw the Kinect skeleton in WPF[#KINECT] HowTo: Pintar 2 skeletons en un Canvas WPF[TFS2010] HowTo: Configurar un servicio SMTP que envie alertas utilizando una cuenta de […]

    Like

  2. […] de mostrar como se pinta el Skeleton en Kinect aquí y aquí, hoy vamos a un ejemplo más simple (en lo que cabe) donde mostraremos el contenido de la […]

    Like

  3. […] [#KINECT] HowTo: Pintar 2 skeletons en un Canvas WPF […]

    Like

  4. […] cada punto del skeleton cuando trabajamos con el mismo punto a punto o Joint a Joint. Si ejecutas la aplicación que muestra ambos skeletons en un Canvas de WPF, verás que la misma funciona bastante […]

    Like

  5. […] cada punto del skeleton cuando trabajamos con el mismo punto a punto o Joint a Joint. Si ejecutas la aplicación que muestra ambos skeletons en un Canvas de WPF, verás que la misma funciona bastante […]

    Like

Leave a comment

Discover more from El Bruno

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

Continue reading