Práctica
Práctica
La práctica se divide en cuatro fases. En cada una de ellas hay una serie de tareas que el alumno debe realizar.
Las especificaciones de cada una de las cuatro fases de la práctica se detallan a continuación:
Práctica: Primera parte
- De forma análoga a las prácticas realizadas en la unidad anterior, se va a partir de uno de los programas de ejemplo distribuidos junto a OpenNI para utilizarlo como base en el desarrollo de la práctica. Concretamente, será la aplicación NiUserTracker
- En primer lugar, el alumno debe acceder, compilar y ejecutar el programa localizado en ../OpenNI/Samples/NiUserTracker
- Una vez se ha entendido el programa, el alumno creará una copia de la carpeta ../OpenNI/Samples/NiUserTracker en ../OpenNI/Samples/NiUserTracker_OCW, y modificará el fichero Makefile de la nueva carpeta para que al compilar se cree un ejecutable con nombre Sample_NiUserTracker_OCW en la carpeta ../OpenNI/Samples/Bin. Durante toda la práctica, sólo se modificará el contenido de ../OpenNI/Samples/NiUserTracker_OCW
Esta primera parte de la práctica consistirá en entender el código, identificando los bloques funcionales más relevantes en la misma. No es necesario entender la sección de código correspondiente al archivo SceneDrawer en las líneas 347 en adelante, ya que esta parte corresponde a la extracción de las coordenadas del esqueleto, que será objeto de estudio en la siguiente unidad didáctica. Se ofrece una guía/solución a continuación.
Guía-solución
Práctica: Segunda parte
- En la segunda parte de la práctica, el alumno deberá modificar el programa anteriormente presentado para que únicamente se muestre por pantalla un usuario concreto en color (por ejemplo, el usuario 2, en el supuesto de tener dos o más usuarios), es decir, todos los demás usuarios deben mostrarse en tonos grises, y sólo uno se "colorea".
Práctica: Tercera parte
En la tercera parte de la práctica, el alumno deberá modificar el programa original para que los usuarios se dibujen en dos colores (no es necesario que cada usuario sea dibujado en colores distintos entre sí, y pueden ser dos colores cualesquiera). Concretamente, el dibujo del usuario se dividirá longitudinalmente en dos partes, aproximadamente por la mitad, de forma que la mitad izquierda del usuario aparezca pintada en un color, y la mitad derecha en otro.
Ejemplo del acabado final:

Atención
Posiciones en espacio píxel
Práctica: Cuarta parte
Aplicación 'Cambiacolor'
En esta última parte de la práctica, se va a implementar un pequeño juego basado en identificación de usuarios. Para ello, el alumno deberá modificar el programa original conforme a las siguientes condiciones:
- El color del usuario dependerá de la posición aproximada en que se encuentre en cada momento, conforme a la siguiente regla:
- mientras más a la izquierda se encuentre en la imagen, menos azul será el color del usuario. Por contra, mientras más a la derecha se encuentre, mayor componente azul tendrá
-
mientras más cerca de la cámara se encuentre en la imagen, menos verde será el color del usuario. Por contra, mientras más alejado se encuentre, mayor componente verde tendrá
- No obstante, si hay más de un usuario en la escena, y dos o más usuarios están relativamente cerca unos de otros, el color con el que se dibujaran será cada vez más rojizo conforme más juntos estén entre sí dos usuarios dados (si un mismo usuario está cerca de varios a la vez, se deja libertad al alumno para decidir qué usuario se toma de referencia para aplicar la coloración roja)..