OpenCV: ¿cómo detectar si el video tiene un objeto que se mueve rápidamente?

¿Cuál sería la mejor manera de detectar un objeto en movimiento rápido usando OpenCV?

Digamos, tengo 5 archivos de video aleatorios:

1) Video de una multitud, gente caminando, cámara estática. 2) Video de un gato jugando con una pelota, cámara de iPhone temblorosa. 3) Video de una persona siendo entrevistada. Cámara estática. 4) Animación (3D) de un automóvil en movimiento rápido, el fondo está borroso, etc., etc. 5) Un video borroso tomado con la cámara del iPhone (solo la cámara se mueve, no se ve nada).

Entonces me gustaría aislar video5 y detectar que hay mucho movimiento en video4 y video2.

¿Cuál sería el mejor enfoque para hacer eso? Pienso en usar OpenCV2, pero si hay una mejor solución para eso, me encantaría aprender sobre eso.

Cualquier entrada muy apreciada. Pseudo-código o simplemente recomendaciones de algoritmos específicos.

¡Gracias

preguntado el 22 de mayo de 12 a las 17:05

2 Respuestas

Flujo óptico Esta será una de las muchas formas de detectar movimiento.

contestado el 22 de mayo de 12 a las 17:05

¿Sería una buena opción si quiero hacer cosas a través de la línea de comandos? - Stpn

No sé si todavía estás en eso, pero me pareció interesante responder.

Enfoque 1: como sugirió el usuario 349026, una de las formas más intuitivas es trabajar con el flujo óptico, le dará un movimiento dominante, pero el flujo óptico siempre viene con ruidos. Tendrás que usar algún filtro antes de usar el flujo óptico.

Aproximación- 2 Esta difícil pero da buenos resultados. Esto es del enlace de papel CVPR-2013- http://www.irisa.fr/texmex/people/jain/w-Flow/motion_cvpr13.pdf Creo que la introducción justa de este documento resolverá su problema.

Respondido 08 Jul 15, 04:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.