martes, 15 de febrero de 2011

Análisis del flujo de movimiento en OpenCV (y 3)

Con muy poquitas modificaciones realizo ahora el seguimiento de dos puntos centrales de la imagen para calcular la rotación (balanceo) de la cámara.

El código de ejemplo es:


Con un par de modificaciones rápidas más (hardcoded) guardo las imágenes obtenidas en un vídeo AVI con FOURCC "XVID", 30 imágenes por segundo y con nombre de archivo "salida.avi". Lo ideal sería calcular la velocidad de cuadro real y/o enviar el mismo fotograma a la salida en caso de ralentización.

Ese tema lo dejaremos para más adelante.

El código de ejemplo modificado es:


En el siguiente vídeo puede observarse el seguimiento del horizonte realizado por el algoritmo.


Hay que recordar que no se hace corrección de perspectiva, por lo que si la webcam no sólo se rota (balancea) si no que se gira o cabecea, el cálculo del balanceo comienza a acumular errores. Por eso en el vídeo reinicio el horizonte en dos ocasiones.

No hay comentarios:

Publicar un comentario