Claudia M. Yarnold

Anónimo preguntó: Me gustó mucho el tutorial. Sólo necesitaba saber para hacer el PrepareImage método. Usted puede enviar a mi correo electrónico?

Me alegra que te haya gustado, el código se puede descargar desde los links pero si quieres que te lo envíe déjame tu dirección de correo. =)

Saludos,

Claudia Montalvo 

Kinect for Windows ofrece una manera de interactuar con la computadora de forma natural, las posibilidad de crear soluciones realmente asombrosas…pronto publicaré tutoriales para aprender a desarrollar aplicaciones usando Kinect SDK =)

Enlaces de descarga tutoriales actualizados

Hola…al parecer el código ya no estaba disponible para descargas así que he vuelto a subirlo por dropbox y actualizado los enlaces de descarga…espero que les sirva =)

Descargas:

Tutorial1

Tutorial2

@zoemy16 =)

WAKE UP es un sistema de estimulación psicomotriz que busca maximizar los beneficios de las nuevas tecnologías en los niños con Síndrome de Down mejorando su desarrollo cognitivo, personal y social, ayudando a construir una sociedad con igualdad, integración e inclusión.

WAKE UP permite que el niño mediante la kinect y juegos basados en interacción natural, detección de colores, reconocimiento de gestos e inteligencia artificial pueda mejorar sus habilidades motoras, de atención, memoria, comunicación y percepción.

Realidad Aumentada(AR) - SLARToolkit Tutoriales Demo

En este video vemos como corre la aplicación que hemos creado y como se proyectan   las imágenes sobre los markers sin importar si son iguales o diferentes, puedes ver ambos tutoriales más abajo en este blog =)

Espero que les sirva, a mi me tomó algo de tiempo aprender a usar ésta librería y bueno lo comparto con ustedes, nos vemos en el siguiente tutorial =).

Realidad Aumentada(AR) - SLARToolkit Tutoriales Parte2

En el tutorial anterior vimos cómo detectar un marker y proyectar sobre él una imagen, en esta segunda parte veremos que ocurre cuando le mostramos varios markers iguales a la cámara y aprenderemos a proyectar imágenes en este caso.

En el tutorial anterior teniamos lo siguiente:

Pero si le mostramos a la webcam 2 markers iguales veremos que la imagen se irá de un marker al otro continuamente ya que imgUsmp no puede estar en dos lugares a la vez, para trabajar con markers iguales simultáneamente  vamos a crear una lista de la misma imagen de tal forma que a cada marker del mismo tipo se le proyectará un elemento de esta lista de imágenes.

En este tutorial usaremos 3 tipos de markers diferentes (markerUsmp, markerSLAR y markerSL) y mostraremos 2 images de cada tipo de marker.

Así que vamos a definir 3 listas de tamaño 10 de 3 imágenes distintas

Dentro del método prepareImage solo creamos una imagen con esos parámetros, se inserta en el canvas y se agrega a la lista que hemos creado. 

Dentro del evento “UserControl_Loaded” que se dispara al cargar la aplicación vamos a mostrar al webcam, cargaremos los 3 tipos de markers (markerUsmp, markerSLAR y markerSL) e instanciaremos el arDetector con una lista de estos 3 markers.

Aquí viene la parte interesante, así que presta atención a esta parte del código. 

El método generateMultiplesImageProjections se encarga de asegurarse de que los markers detectados no son falsos-positivos, tras verificar esto proyecta una imagen de la lista correspondiente en el marker ya verificado con el método generateImageProjection que vimos en el tutorial anterior.

Eso es todo!!! =) …de esta manera puedes mostrarle varios markers a la webcam (del mismo tipo o de distintos tipos) y verás sobre ellos la proyección que deseas.
Espero que te sirva, puedes descargar el código completo aquí

Realidad Aumentada(AR) - SLARToolkit Tutoriales

Si quieres empezar a desarrollar aplicaciones con AR este tutorial te gustará, se trata de un ejemplo bastante básico en el cuál con la ayuda de la webcam detectaremos un marker y mostraremos una imagen en esa posición. 

Para esto haremos uso de la librería SLARToolkit y de los markers, crea genera tus propios markers o usa los que te da la librería como ejemplo. 

Debes descargar la librería SLARToolkit .
Ahora veamos algo de código.

CREAR PROYECTO
Crearemos una “Silverilgth Application” en el VS2010 y le añadiremos las referencias.

EN EL MAINPAGE.XAML
Primero debemos agregar el evento “Loaded” (seleccionar el UserControl, presionar F4, Eventos, Loaded)

Vamos a crear un rectángulo para ver la webcam, un botón para iniciar la cámara y un canvas, dentro del canvas crearemos la imagen que vamos a proyectar sobre la posición del marker.
El código quedaría de esta manera:

NOTA: Recuerda que todo elemento que quieras proyectar sobre un marker debe ir dentro de un canvas.

EN EL MAINPAGE.XAML.CS
Primero coloquemos las siguientes sentencias para poder hacer uso de la librería:
     using SLARToolKit;
     using System.Windows.Media.Media3D;

Para usar la webcam y detectar los markers debemos declarar lo siguiente:

El evento “UserControl_Loaded” se dispara al cargar la aplicación, por tanto vamos a instanciar aquí losobjetos y mostrar la webcam.
La parte interesante viene aquí, debemos agregar a nuestro proyecto el marker.pat (Add, Add Existing Item, seleccionar el marker), ahora que hemos agregado el marker tenemos que cambiar en sus Propiedades (seleccionar el marker +F4) y cambiarle el Build Action a Resource.
Ahora podemos cargar en la variable  markerUsmp el .pat que agregado.

 

Veamos que ocurre dentro de nuestro método generateImageProjection

Por último vemos que sucede cuando se da click al btnStartVideo

Eso es todo =) …es un ejemplo básico de como proyectar una imagen cuando se muestra un marker a la webcam con SLARToolkit, espero que les haya servido.
En el siguiente tutorial les mostraré que hacer cuando se quiere mostrar más de un marker y cuando se quieren mostrar markers idénticos simultáneamente.

El código de este tutorial esta disponible para  descargar

Wake Up  es un proyecto de investigación que nace como una contribución de tecnologías ubicuas, como realidad aumentada, computer vision y el empleo de la Kinect, al desarrollo de los niños con Síndrome de Down.