Grabé a mi hijo de 1 año mientras dormía con una cámara de visión nocturna (para controlar las contracciones).
Ahora quiero crear automáticamente un video que contenga todo el movimiento, por ejemplo, quiero filtrar solo los fotogramas que se ven afectados por un movimiento detectado.
Probé VLC con detección de movimiento y funciona, pero no puedo decirle a VLC que solo me muestre los cuadros que contienen movimiento.
Este es el tipo de cosas que puedes hacer rápidamente usando OpenCV y Python .
Simplemente descargue e instale: Python, OpenCV, las bibliotecas de Python Numpy y pyopencv.
Ejemplo de detección de movimiento en OpenCV en python
Este ejemplo vino del blog de Matthias Stein.
import cv2
def diffImg(t0, t1, t2):
d1 = cv2.absdiff(t2, t1)
d2 = cv2.absdiff(t1, t0)
return cv2.bitwise_and(d1, d2)
cam = cv2.VideoCapture(0)
winName = "Movement Indicator"
cv2.namedWindow(winName, cv2.CV_WINDOW_AUTOSIZE)
# Read three images first:
t_minus = cv2.cvtColor(cam.read()[1], cv2.COLOR_RGB2GRAY)
t = cv2.cvtColor(cam.read()[1], cv2.COLOR_RGB2GRAY)
t_plus = cv2.cvtColor(cam.read()[1], cv2.COLOR_RGB2GRAY)
while True:
diff = diffImg(t_minus, t, t_plus)
cv2.imshow(winName, diff) # This shows the delta image
# Here you would use diffImag to save the frame if the difference is bigger than some threashold
# Read next image
t_minus = t
t = t_plus
t_plus = cv2.cvtColor(cam.read()[1], cv2.COLOR_RGB2GRAY)
key = cv2.waitKey(10)
if key == 27:
cv2.destroyWindow(winName)
break
print "Goodbye"
https://github.com/Breakthrough/DVR-Scan
DVR-Scan es una aplicación de línea de comandos multiplataforma (CLI) que detecta automáticamente eventos de movimiento en archivos de video (por ejemplo, imágenes de cámaras de seguridad). Además de ubicar tanto la hora como la duración de cada evento de movimiento, DVR-Scan guardará el metraje de cada evento de movimiento en un videoclip nuevo e independiente. DVR-Scan no solo es un software gratuito y de código abierto (FOSS), escrito en Python y basado en Numpy y OpenCV, sino que se creó para ser extensible y pirateable.
Puedo confirmar que funciona perfectamente con archivos AVI MPEG4 (H264).
Existe un software de safeware: SafeMotion. http://www.safeware.ca/support.php Funcionó bastante bien para mí. Tal vez resuelva su problema. Safemotion es un programa útil que le permite exportar todas las partes de video con movimiento. Además, puede definir zonas en las que se debe detectar movimiento y puede adaptar el tamaño del objeto en movimiento y la sensibilidad. Solo se usa para analizar videos de comportamiento de ratones, para no ver las escenas de sueño.
El software es gratuito, pero creo que no ha habido una actualización desde hace bastante tiempo. No tiene GUI, pero hay una forma de ajustarlo por línea de comandos, para ajustar, por ejemplo, la sensibilidad: safemotion.exe -m 7 XXX.avi
m= Escala de objetos en movimiento en detección entre 1-2
unor
Vadzim