Kinect SDK Hola mundo (4 / 5 paso)

Paso 4: El C#

Asegúrese de que haya importado el Microsoft Kinect y kit de herramientas de bibliotecas.

En MainWindow() activamos el Kinect:

sensor de KinectSensor privada;

Luego cuando se carga la ventana que vamos a iniciar el selector de Kinect para conseguir el estado del kinect.

privado MainWindowLoaded void (remitente de objeto, RoutedEventArgs e)
{

var sensorStatus = new KinectSensorChooser();

sensorStatus.KinectChanged += KinectSensorChooserKinectChanged;

kinectChooser.KinectSensorChooser = sensorStatus; sensorStatus.Start();

}

La KinectSensorChooserKinectChanged actualiza la etiqueta, debido al interruptor creamos en esta función. Aquí también el esqueleto está inicializado.

privado KinectSensorChooserKinectChanged void (remitente de objeto, e KinectChangedEventArgs)
{

Si (sensor! = null) sensor. SkeletonFrameReady-= KinectSkeletonFrameReady;

sensor = e.NewSensor;

Si (sensor == null) volver;

interruptor (Convert.ToString(e.NewSensor.Status))

{

"Conectado" del caso: KinectStatus.Content = "Conectado"; rotura;

"Desconectado" del caso: KinectStatus.Content = "Desconectado"; rotura;

"Error" del caso: KinectStatus.Content = "Error"; rotura;

caso "NotReady": KinectStatus.Content = "No listo"; rotura;

caso "NotPowered": KinectStatus.Content = "No funciona"; rotura;

"Inicialización" del caso: KinectStatus.Content = "Initialising"; rotura;

por defecto: KinectStatus.Content = "Undefined"; rotura;

}

sensor. SkeletonStream.Enable(); sensor. SkeletonFrameReady += KinectSkeletonFrameReady;

}

Una vez que un seguimiento el esqueleto para el X, Y y Z buscar coordenadas de puntos específicos en el esqueleto. En este ejemplo estamos después las coordenadas de las manos del usuario. Mostramos los valores como texto en la ventana en nuestro textblocks. Entonces comparamos la posición Z de la cadera de los usuarios en la posición Z de su mano. Si está sobre cierto umbral vamos a tratar el brazo de los usuarios como ser 'levantado' y, por tanto, impresión de la ventana depende de que brazo.

privado KinectSkeletonFrameReady void (remitente de objeto, e SkeletonFrameReadyEventArgs)
{

esqueletos de var = nuevo esqueleto [0];

usando (var skeletonFrame = e.OpenSkeletonFrame())

{

Si (skeletonFrame! = null)

{

esqueletos = nueva Skeleton[skeletonFrame.SkeletonArrayLength]; skeletonFrame.CopySkeletonDataTo(skeletons);

}

}

Si (esqueletos. Longitud == 0) {vuelta;}

skel var = esqueletos. FirstOrDefault (x = > x.TrackingState == SkeletonTrackingState.Tracked);

Si (skel == null) {vuelta;}

var derecha = skel. Joints[JointType.WristRight]; XValueRight.Text = rightHand.Position.X.ToString(CultureInfo.InvariantCulture); YValueRight.Text = rightHand.Position.Y.ToString(CultureInfo.InvariantCulture); ZValueRight.Text = rightHand.Position.Z.ToString(CultureInfo.InvariantCulture);

var izquierda = skel. Joints[JointType.WristLeft]; XValueLeft.Text = leftHand.Position.X.ToString(CultureInfo.InvariantCulture); YValueLeft.Text = leftHand.Position.Y.ToString(CultureInfo.InvariantCulture); ZValueLeft.Text = leftHand.Position.Z.ToString(CultureInfo.InvariantCulture);

var centreHip = skel. Joints[JointType.HipCenter];

Si (centreHip.Position.Z - rightHand.Position.Z > 0.35)

{

RightRaised.Text = "Levantado";

}

else if (centreHip.Position.Z - leftHand.Position.Z > 0.35)

{

LeftRaised.Text = "Levantado";

}

otra cosa

{

LeftRaised.Text = "Baja"; RightRaised.Text = "Baja";

}

}

Puede cambiar el valor 0.35 dependiendo de la longitud del brazo y hasta dónde quiere llegar antes de que piensa que su brazo se levanta.

Artículos Relacionados

Cómo escribir una 'Hola mundo!' de la aplicación para Android

Cómo escribir una 'Hola mundo!' de la aplicación para Android

IntroducciónEste tutorial está dirigido a cualquier persona que no tiene experiencia en programación de aplicaciones para el sistema operativo Android, pero le gustaría. Es muy básico, e instalar los programas necesarios es más complicado que la apli
LinkIt uno tutoriales - #1 Hola mundo

LinkIt uno tutoriales - #1 Hola mundo

La forma más básica de Hola mundo usando microcontroladores es un LED encendiendo y apagando.Sobre un lote de microcontroladores hay al menos un usuario LED controlable a bordo.Hay una serie de requisitos previos antes de que podemos convertir el LED
Hola mundo: su primer proyecto de Othermill (Otherplan para Mac OS X)

Hola mundo: su primer proyecto de Othermill (Otherplan para Mac OS X)

El Othermill es un molino CNC escritorio fácil de usar que puede fabricar cosas sorprendentes a una variedad de materiales, incluyendo madera y metal. Grabado de placas de circuito impreso (PCB) para la electrónica es una de las tareas que maneja esp
Hola mundo: su primer proyecto de Othermill (Otherplan público Beta)

Hola mundo: su primer proyecto de Othermill (Otherplan público Beta)

El Othermill es un molino CNC escritorio fácil de usar que puede fabricar cosas sorprendentes a una variedad de materiales, incluyendo madera y metal. También es ideal para creación de prototipos PCB para proyectos hobby o fabricación.En este tutoria
Hola mundo de la programación paralela en Ubuntu con OpenMP

Hola mundo de la programación paralela en Ubuntu con OpenMP

Hola a todos!!!!Espero que está teniendo un buen día y siga así. En mi segunda instructables, quisiera compartir un poco canapés que había aprendido en ubuntu. Me gustaría compartir sobre basic de programación paralela en ubuntu... Cualquier comentar
Shapeoko 2 CNC DIY Kit: Sistema eléctrico. Prueba y Hola mundo

Shapeoko 2 CNC DIY Kit: Sistema eléctrico. Prueba y Hola mundo

parte 2 de mi gran aventura CNC DIY, este cableado de tiempo por el paso a paso motores para Arduino, calibrar la máquina de nivelación y ejecución de Hola mundo. No necesariamente en ese orden.
¡ Hola, mundo (MAKECOURSE)

¡ Hola, mundo (MAKECOURSE)

Este instructable fue creado en cumplimiento de la exigencia de proyecto de la Makecourse de la Universidad de South Florida (www.makecourse.com)Hola, mundo es un proyecto simple en torno usando la placa Arduino y unos componentes diferentes. La part
Alias WAMP / Prepros / Hola mundo web tutorial y

Alias WAMP / Prepros / Hola mundo web tutorial y

Este tutorial le guía a través del proceso de creación de un archivo index.php, poder ejecutar el archivo php en un servidor local y poder actualizar dinámicamente la página en un navegador usando Prepros.Paso 1:Ir a la carpeta donde es wamp y buscar
DEVCC Hola mundo

DEVCC Hola mundo

El parpadeo del LED es una manera probada de obtener su tabla de trabajo, pero es algo cansado, así. Ya que hemos estado suministrando el escudo proto con las compras de arándano pensé que sería una buena idea para hacer algo diferente con el proyect
Hola mundo: construir un circuito Simple con el Othermill

Hola mundo: construir un circuito Simple con el Othermill

El Othermill es un molino de escritorio poco ingenioso que puede fabricar cosas sorprendentes a una variedad de mercancías. Tarjetas de circuitos impresos para electrónica son algo que maneja muy bien.Aquí hay un tutorial para un Consejo básico jugar
Cómo descargar bloques de código y escribir un programa Hola mundo en C++

Cómo descargar bloques de código y escribir un programa Hola mundo en C++

Fernando Soler-Casanova, Alberto joven, Jacob McPeek y Sterling NeillyPaso 1:En el explorador web, visite el sitio web: www.codeblocks.orgPaso 2:Haga clic en la pestaña de descargas en la barra de herramientasPaso 3:Ahora te da 3 opciones para descar
Hola mundo de Python en frambuesa PI

Hola mundo de Python en frambuesa PI

este instructable muestra cómo mostrar texto en terminal.Paso 1: Crear archivo .py Abrir terminal y escribir:CD ./Desktop/sudo nano Helloworld.pyImprimir ("¡ Hola mundo!")CTRL + Xy(entrar)Paso 2: Ejecutar programa Escribe:sudo python Helloworld.
Hola mundo

Hola mundo

LinkIT uno para dummiesPaso 1: materiales LEDTransistorresistenciaLinkIT unoprotoboardcables dePaso 2: Codificación y ArmandoEste es el código que utilizasconst int pinLED = 3; Conectar LED a D13void setup() {pinMode (pinLED, salida); / / configurar
Cómo crecer "Hola mundo" con las bacterias de la GFP

Cómo crecer "Hola mundo" con las bacterias de la GFP

Uso de bacterias como pigmentos para crear "imágenes de vida" ha sido utilizado por muchos artistas y científicos. Desde sus primeras pinturas de placa de petri de Alexander Fleming a las fotografías de la bacteria de Edgar Lissel.Inspirándose e