La detección de movimiento es el proceso de detectar un cambio en la posición de un objeto con respecto a su entorno, o los cambios en el entorno en relación con un objeto. La detección de movimiento se puede lograr por métodos tanto mecánicos y electrónicos. Cuando la detección de movimiento se lleva a cabo por organismos naturales, se llama la percepción del movimiento.
Este proyecto presenta un enfoque para una segmentación de movimiento basado en regiones en tiempo real, utilizando un umbral adaptativo en una escena, con el foco en un sistema de videovigilancia. Para indicar las regiones de máscara de movimiento en una escena, en lugar de determinar el valor de umbral manualmente, utilizamos un método de umbral adaptativo para elegir automáticamente el valor de umbral.
Para segmentar la imagen, Supongamos que tenemos 2 imágenes, las imágenes son una subsecuencia lineal con cierto retraso t entre ellos. Si queremos comparar cada pixel de las 2 imágenes y nos damos cuenta de que todos son iguales, podemos concluir las 2 imágenes son idénticas. Pero si no lo hacen, podríamos decir que hay algo sucedió durante el tiempo de retardo t. Alguien podría colocar un objeto delante de la cámara, por lo que sería automatico el reconocimiento de aquel objeto. Y sí, esta es la idea que vamos a utilizar para la detección de movimiento.
El método que he descrito, es también llamado "diferencial de imágenes". Es el resultado de restar 2 imágenes.
En nuestro proyecto vamos a utilizar una secuencia de imágenes, por lo que iremos tomando 2 imágenes consecutivas y las procesaremos, las llamaremos la primera imagen anterior y la segunda, del frame actual. Primero restaremos las imágenes actual menos la anterior. Después de esto se obtiene una imagen binaria.
Después se le aplicará un umbral, en el cual será como este, los cuales los puntos blancos indican los cambios. (Se puede jugar con la función umbral, para obtener mejores resultados).
- =A continuación vamos a colocar una ventana en el centro del software, con el resultado final (el resultado de umbral). Y vamos a ver los cambios, esto significa que vamos a buscar los píxeles con valores mayores que cero (esto indicará movimiento). Cuando se detecta movimiento (un píxel con un valor> 0), la búsqueda se detendrá y etiquetar la imagen con un cuadrado amarillo, indicará un objeto en movimiento.
|
|
OpenCV:
$ sudo sh ./InstallOpenCV.sh
Download InstallOpenCV.sh
QtCreator:
$ sudo apt-get install qtcreator
Run:
$cd Project
$./proyecto