Descargar el ejemplo de código Sketch
Sinopsis
En este ejemplo de código se utiliza el SDK de Intel® RealSense™ para Windows con el fin de crear una sencilla aplicación de dibujo virtual llamada Sketch. Esta aplicación de escritorio de Windows, desarrollada en C#/WPF, demuestra varias de las capacidades de seguimiento de manos y reconocimiento de gestos del SDK de Intel RealSense:
- Obtención de coordenadas (globales) x-y-z de articulaciones de manos
- Captura selectiva de datos de gestos
- Adquisición de información de estado de alertas (es decir, detección de manos, calibración y estado de límites)
(Nota: para que la funcionalidad de esta aplicación de ejemplo sea total, se debe contar con una cámara 3D frontal).
MIRE aquí el resumen en video de Sketch.
Introducción a Sketch
Sketch es una aplicación de dibujo simple que permite al usuario simular que dibuja en un lienzo por medio de gestos y movimientos de las manos. En la Figura 1 se muestra la interfaz de usuario de Sketch (desarrollada en WPF/XAML).
Figura 1. Interfaz de usuario de Sketch
Hay habilitados tres gestos (que se representan en la pantalla con la acción que los acompaña) para interactuar con el lienzo virtual:
- Pellizco (“Dibujar”): hace que el cursor se vuelva sólido y dibuje una línea sobre el lienzo. La posición del cursor en el lienzo es controlada por las coordenadas x e y de la punta del dedo mayor del usuario. El grosor de la línea lo controla el eje z de la punta del dedo mayor del usuario (si se la aleja de la cámara, la línea se vuelve más delgada, como si se redujera la presión sobre un lápiz o un pincel).
- Separar los dedos (“Desplazarse”): desactiva el lápiz y hace que el cursor se convierta en un círculo vacío. Permite al lápiz ir a otras partes del lienzo sin dibujar ninguna línea. También permite elegir colores de la paleta situada a la derecha, simplemente con desplazarse sobre ellos.
- Saludo (“Borrar”): limpia el lienzo de dibujo y lo deja listo para volver a dibujar.
Detalles
La aplicación Sketch simula el acto de dibujar sobre un lienzo cuando el usuario hace el gesto "two_fingers_pinch_open". Se eligió este gesto porque se aproxima a la postura que tendría la mano si sostuviera un lápiz o un pincel. Es el gesto que se muestra en la Figura 2.
Figura 2.Gesto para dibujar
Para determinar la posición del lápiz y el grosor del trazo, se hace un seguimiento de la punta del dedo mayor del usuario, lo cual podría parecer antiintuitivo si consideramos que el gesto para dibujar es el pellizco. La razón por la cual se sigue el dedo mayor es para evitar posibles oclusiones cuando se presiona el pulgar contra el índice. Cuando se sigue el dedo mayor en lugar del índice o el pulgar, se obtiene un mejor rendimiento.
La aplicación Sketch también demuestra cómo adquirir y mostrar información de estado de alerta de manos (en este caso, detección de manos, calibración y estado de límites). Este tipo de comunicación de respuesta ayuda a los usuarios, de una forma o de otra, a posicionar las manos correctamente frente a la cámara. Aunque la presentación de esta información es simplista en esta aplicación de ejemplo, alentamos a los desarrolladores a proporcionar indicaciones similares para mejorar la experiencia general del usuario.
A descargarla
Para experimentar con esta aplicación y conocer más sobre su funcionamiento, descárguela de aquí.
Acerca de la tecnología Intel® RealSense™
Para dar los primeros pasos y conocer más del SDK de Intel RealSense para Windows, vaya a https://software.intel.com/en-us/realsense/intel-realsense-sdk-for-windows.
Acerca del autor
Bryan Brown es ingeniero de aplicaciones de software de la División de Relaciones con los Desarrolladores de Intel. Su experiencia profesional es variada: en ingeniería de software, electrónica y de diseño de sistemas. Sus intereses técnicos se centran en aplicaciones de interacción natural y tecnologías de interfaz cerebro-computadora; participa activamente en varios programas de desarrollo alfa relacionados con diversas tecnologías emergentes en estas disciplinas.