Detección del cuerpo con Processing
Por Julia Saenz
Última actualización
Por Julia Saenz
Última actualización
Palabras clave: Sensado del cuerpo, Processing, OSC
Conocimiento básico de paradigma de objetos
Esta página describe un sistema para sensar el cuerpo usando Processing. La idea es realizar una estructura que pueda adaptarse a diferentes cámaras, métodos se sensado y necesidades, para lo cuál vamos a dividir el código en dos clases principales: Cámara
y Detector
La ventaja de este sistema es que ambas partes funcionan independientemente, por lo que se puede modificar una sin modificar la otra y se pueden modificar ambas sin tener que cambiar el código principal.
Las subpáginas expanden sobre distintas implementaciones del Detector
con diferentes tecnologías de sensado del cuerpo, por lo que en está parte nos vamos a centrar en el funcionamiento del programa principal y las estructuras generales de ambas clases.
La Camara
se encarga de elegir la fuente, hacer las configuraciones necesarias, aplicar efectos (si fuese necesario). Las variables y el contenido de los métodos pueden ir variando según la cámara que se conecte, pero mientras los nombres de los métodos y los tipos de datos que retornan se mantengan, el resto del sistema no se va a ver afectado.
Los métodos principales son:
mostrarFeed
muestra en pantalla la imagen
enviarFeed()
retorna la imagen capturada de tipo PImage
frenarFeed()
detiene la captura
Para crear una instancia de esta clase en el programa principal escribimos:
El this
refiere al sketch sobre el que se va a ejecutar la cámara, en este caso, el programa principal.
El Detector
es el encargado de hacer el sensado del cuerpo usando alguna librería o conectándose a algún programa externo. Al igual que la Camara
tanto variables y el contenido de los métodos puede variar, mientras se mantengan los métodos usados en el programa principal.
En este caso es probable que también haya nuevos métodos privados a la clase ( ver detección con OpenCV ) pero el método importante es uno:
medicion(PImage feed)
recibe el feed y realiza la detección
Para crear una instancia de esta clase en el programa principal escribimos:
El constructor también puede variar según el método de detección que se este usando
El programa principal, para hacer la detección, solo necesita el siguiente código: