Social Icons

twitterfacebookgoogle plusemail

jueves, 16 de mayo de 2013

Detección de movimiento

En esta entrada hablaremos sobre la detección de movimiento, en la cual consiste ver la diferencia de un a imagen anteriormente obtenida con una actual, y a partir de la diferencia de los objetos encontrados se establece hacía que dirección se fueron. Pero antes de obtener las diferencias nosotros lo que debemos hacer es la detección de objetos, esto es realizado por medio de un BFS (Breadth First Search) por medio de este método creamos diferentes grupos para cada objeto y de la cual el fondo es descartado simplemente descartando el grupo con mayor cantidad de pixeles.

Una vez obtenidos los grupos estos son guardados en una lista en donde dicha lista se le verificará la diferencia  del centro de los objetos con otros objetos obtenidos anteriormente, dicha diferencia según su valor se establece si se esta moviendo hacía la derecha ( -> ), izquierda (<- ), abajo ó arriba y para saber si se esta alejando ( - ) ó acerando ( + ) se obtiene la diferencia del ancho y altura de la imagen tomando como referencia el penúltimo valor obtenido del ancho y la altura. El ejemplo que les proveeré contiene un generador que realice con el fin de poder realizar una prueba tomando imágenes del canvas y a partir de ahí pasar a lo que el procesamiento de la imagen para poder hacer la detección del movimiento.

A continuación veamos el código:


Para ejecutar el programa damos primero la cantidad de nodos y luego el tiempo de espera de movimiento:

Ahora veamos unos ejemplos con en unos videos de como realiza la detección del movimiento.

En este ejemplo podemos ver como se comporta el programa cuando esta detectando el movimiento de un objeto.



En estos dos vídeos podemos ver como se comporta cuando realiza la detección del movimiento de varios objetos. Se detectaron unos problemas al momento en el que se juntan dos objetos, ya que se detectaban como si fueran 3 objetos esto era debido a que generaba borde el objeto y se procesaba como si fuera otro objeto.





1 comentarios:

  1. Generación de múltiples objetos que mueven en 3D; identificación de sus direcciones; con algunos problemas; cámara estática. 15 pts. Haz lo de wavelets.

    ResponderEliminar