Comenzando a desarrollar aplicaciones con Kinect

Hola a todos, el dia de quise probar programar una aplicación con el Kinect para Xbox 360 dentro de Windows. y se me vino la curiosidad de como se realiza. Siguiendo algunos ejemplos comunes de internet me encontre el de Speech Recognition (reconocimiento de voz). Para empezar a realizar aplicaciones son necesarios algunos requisitos, los cuales son:

Hardware

PC

  • Procesador dual core 2.66-GHz o mejor.
  • 2 GB de RAM
  • Tarjeta de video que soporte Direct X 9.0 o superior

Dispositivo Kinect para Xbox 360

  • Cable de corriente con puerto USB para Kinect (en caso de no ser Kinect for Windows)

en-US_Xbox360_Kinect_Power_Supply_3VJ-00001

Se puede comprar uno en:

http://www.microsoftstore.com/store/msstore/en_US/pd/Kinect-Sensor-Power-Supply/productID.221244000

Y si estas en Nicaragua en el Mercado Oriental los venden como a C$400 córdobas 😉

Software:

  • Windows 7 o Windows 8
  • Microsoft Visual Studio 2010 Express o cualquier edición de Visual Studio 2010 con soporte para WPF, puedes descargarlo de:

http://www.microsoft.com/visualstudio/eng#products/visual-studio-express-products

Para este ejemplo yo utilizare Microsoft Visual Studio 2010

  • Microsoft .NET Framework 4 (Incluido con el visual Studio 2010)
  • SDK para Kinect (ultima versión 1.5)

http://go.microsoft.com/fwlink/?LinkID=247938

  • Kinect for Windows Developer Toolkit

http://go.microsoft.com/fwlink/?LinkId=275589

  • Speech Platform SDK

http://www.microsoft.com/en-us/download/details.aspx?id=27226

  • Kinect for Windows Language Packs v1.5.0 (El idioma en que desarrollen sus aplicaciones puede variar, descarguen el/los que necesiten)

En este caso descargue el Spanish/Mexico – KinectSpeechLanguagePack_es-MX pues es el más cercano a mi ubicación (Nicaragua), pero se pueden encontrar otros idiomas, supongo que también podría funcionar el Spanish/Spain – KinectSpeechLanguagePack_es-ES

http://www.microsoft.com/en-us/download/details.aspx?id=34809

Experiencia en programación

  • Conocimientos en C# o Visual Basic.Net
  • Conocimientos en programación orientada a objetos

Procedimientos

Lo primero a realizar es instalar el visual studio (en caso de que no esté instalado), luego de eso procedes a instalar el Kinect SDK

k1

Luego de tener instalado el kinect SDK puedes instalar el kinect developer toolkit.

k2

Una vez que tengamos ambos podemos instalar el Speech Platform SDK  instala el language pack con el que estarás desarrollando tus aplicaciones.

k3 k4 k5 k6 k7

Una vez que termines de instalar el language pack con el que estaras desarrollando, abre Visual Studio 2010 y crea un nuevo proyecto WPF llamado “SpeechDemo1”. Con el lenguaje de programación C#.

k8

Se creará a manera de ejemplo un slider que interactúe en dependencia del comando de voz dictado. Para ello agregaremos los siguientes controles:

  • 1 control Label (cambiamos el nombre al control y lo nombramos “titulo”)
  • 1 control Image (cambiamos el nombre al control y lo nombramos “imagen1”)
  • 2 controles TextBlock (cambiamos el nombre a los controles y los nombramos “mensaje” y “statusK”)

k9

Una vez que tenemos la primera apariencia lista procederemos a importar el control del kinect, para ello agregamos una referencia a la librería Microsoft.Kinect, hacemos clic derecho agregar referencia en el proyecto y en la pestaña de .Net buscamos la dll “Microsoft.Kinect”

k10

Tambien agregaremos la referencia a Microsoft.Speech, para ello nos vamos a la pestaña Browse (Examinar) y buscamos en la ruta:

C:\Program Files (x86)\Microsoft SDKs\Speech\v11.0\Assembly

Y seleccionamos el dll con el nombre “Microsoft.Speech.dll”.

k11

Con la vista de diseño activada procedemos a dar clic en la parte superior de la pantalla en donde dice  “MainWindow” y nos vamos a ir a nuestra pestaña de Propiedades, después seleccionamos la opción de Eventos y buscamos un evento llamado “Loaded” y otro llamado “Closing”.

Lo que haremos es que cuando el evento de “Loaded” ocurra, iniciaremos el funcionamiento de nuestro dispositivo Kinect, así como algunas de las funciones que son fundamentales al momento de crear aplicaciones con Kinect y cuando cerremos nuestra ventana se detenga el funcionamiento del dispositivo Kinect.

k12 k13

Ahora se deben agregar algunas imágenes para el “slider” para ello nos vamos a las propiedades de la imagen y presionamos en source y luego en add para agregarlas.

k14

k15

Ahora nos vamos al código y agregaremos los imports al código

CODE1

Dentro de nuestra clase vamos a agregar dos variables, una que para el objeto controlando las funciones del kinect y el otro para determinar el lenguaje utilizado, las palabras dictadas que se va a hacer cuando se reconozcan las frases.

CODE2

Ahora buscamos el evento “WindowLoaded” agregaremos las siguientes líneas de código:

CODE3

Nos hace falta KinectSensors_StatusChanged para ello agregamos el siguiente código:

COD4

Pero ahora hará falta el código del método que llamamos el cual es conectaActiva, para lo cual agregamos:

CODE5 CODE6 CODE7

El siguiente método faltante se llama obtenerLP() y SpeechRecognized para ello tenemos que agregar:

CODE8

Y el otro metodo

CODE9 CODE10

Finalmente el método window Closing agregamos el codigo de cierre para apagar el dispositivo

CODE11

Con esto el código estará funcionando y el siguiente paso seria probar la aplicación.

K16

Y aqui dejo el codigo del ejemplo:

http://www.mediafire.com/?e0e27t1ivera68q

Anuncios

15 Comentarios Agrega el tuyo

  1. JunKa Ortega dice:

    Grcias por la informacion, provare que pasa! y sigue subiendo informacion hay muy poco sobre este tema, y es de gran interes.

    1. David Blanchard dice:

      Estoy preparando algunos tutoriales, pero probando algunas cosas para seguir con esto 😀

      1. JunKa Ortega dice:

        muy bien Amigo. Estare al pendiente de tus publicaciones, y diculpa sabes de donde mas podira obteer informacion sobre el desarrollo de kinect…Me gustaria hacer mi tesis sobre esto.

      2. David Blanchard dice:

        Pues yo las estaba buscando de la pagina de Microsoft de la documentacion de Kinect for windows, lo que pasa es que yo solo tengo el kinect for xbox360 y es algo limitado respecto al de windows.

  2. Jonathan Garcia dice:

    Pues probere a ver que pasa, tengo la Kinect para Windows, y pues necesito mucha informacion…
    Gracias por tu aporte..
    este es nuestro proyecto..
    http://www.facebook.com/AtomCoputacion

    1. David Blanchard dice:

      Suena genial yo por que no tengo la kinect para windows, y si se ve genial el proyecto

  3. Buen aporte amigo, a la espera de otro aporte¡¡¡¡

  4. Roma dice:

    Muy buen tutorial ¡¡¡ gracias

    1. David Blanchard dice:

      Gracias 😀

  5. Andres Beltran dice:

    Disculpa Amigo tienes mas tutoriales acerca del tema y tambien porque no haces un videotutorial de el codigo anterior. Te lo agradeceria Gracias

  6. buen dia, cuando instalo el kinectSDK v1.5 me resulta una ventana con la leyenda “Instalacion con errores” y me pide de compruebe el registro de instalaciones para verificar cuales errores resultaron… Como puedo resolver esto? Gracias de antemano

  7. kilen dice:

    no inventes como los demas tutoriales que he visto, son estúpidos, como pueden decir de principiantes si nisiquiera explican nada, se de programación en C pero esto es una burla, tantas palabras reservadas y herramientas especiales de programa y no explican nada

  8. carlos daniel dice:

    hola david como puedo ponerme en contacto contigo? necesito crear un juego kinetic

  9. carlos daniel dice:

    hola david como puedo ponerme en contacto contigo? necesito crear una serie de juegos kinetic

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s