Introducción
Una de las características que quería aprender a implementar con OpenCV era la detección de movimiento, esto me permitirá implementar formas de interacción interesantes (y bastante simples de generar) entre el usuario y el sketch a través de la cámara web.
En pocas palabras, la técnica para detectar movimiento que se describe a continuación se basa en generar una imagen monocromática con los píxeles que han cambiado entre dos cuadros del video. Para hacer esto se siguen los pasos mostrados a continuación.
|
|
Para verificar si ha sucedido movimiento en una determinada área de la imagen se debe verificar si los píxeles que pertenecen a esa área se encuentran blancos (si hubo) o no. Esta información se obtiene utilizando el método get(int x, int y) del objeto PImage el cual retorna el color del píxel seleccionado. Por facilidad se recomienda que se obtenga el brillo (brightness(color)) de este píxel para su comparación.
El siguiente código revisa un área cuadrada de píxeles en búsqueda de movimiento en esa zona.
for(int px=x; px<x+size; px++)
for(int py=y; py<y+size; py++)
if (px < width && px > 0 && py < height && py > 0)
if (brightness(mImage.get(px, py)) > 127)
count ++;
Screenshot

UO! muchas gracias por tu información, probaré el código y te digo si he tenido exito! 🙂
Hola, he probado el código con la librería opencv para processing, sin embargo hay modificaciones, como cuando importas Hypermedia, pero al corregir eso, sale otro error: cannot find anything named “OpenCV.SOURCE” podrías actualizar tu código con la nueva librería de opencv para python?, te lo agradecería mucho, saludoss.