Detectando movimiento con GSVideo y Processing

Introducción

De manera análoga a como se realizó inicialmente con OpenCV, se realizó el proceso de detección de movimiento básico utilizando Processing y la librería de GSVideo instalada hace poco.  Esta librería se especializa en la captura, grabación y reproducción del video mas que en su procesamiento así que la manipulación de las imágenes se realiza manualmente con las facilidades que provee el lenguaje.

En términos generales el procedimiento se basa en capturar el video proveniente de la cámara web a través de una instancia de la clase GSCapture provista por la librería GSVideo.  Cada una de las imágenes obtenidas es comparada con la imagen inmediatamente anterior.  De cada uno de sus píxeles se toma el color en forma de tripleta RGB y se determina su cantidad de variación utilizando la fórmula de distancia (función dist en Processing).  De esta manera se determina si en ese punto específico sucedió movimiento o no y es traducido a un píxel de color blano o negro respectivamente.

Screenshot

Imagen de movmiento sobre el objetivo
Imagen de movmiento sobre el objetivo

Enlaces

4 thoughts on “Detectando movimiento con GSVideo y Processing”

  1. Increiblemente hermoso interesante todo lo que se puede hacer con Processing, pense en la idea de poder hacer que el cuadro se mueva conforme la mano pero soy muy nuevo y no se explotar toda la capacidad del programa , que tal si lo intentas?
    Saludos

  2. La detección de movimiento me parece mas útil para verificar si se está “tocando” o no una determinada área. Lo complejo de mover algo de esta forma es que tendrías que establecer cual de todo el movimiento registrado (parte blanca) es la que vas a utilizar para ubicar el objeto.

    Si te interesa el tema próximamente estaremos presentado una charla introductoria a Processing/Arduino y estaremos preparando varios cursos interesantes.

  3. Héctor, complicado no sería. Lo que no veo muy claro es como definir a “donde” quieres que se mueva exactamente. Ten en cuenta que tendrías que decidir cual sería la posición elegida de toda la imagen blanca. Podrías por ejemplo tomar una Y fija y tomar la coordenada X del primer punto blanco buscando de izquierda a derecha.

Leave a Reply

Your email address will not be published. Required fields are marked *