我用夜视摄像机(监控抽搐)记录了我一岁的儿子在睡觉。
我现在想要自动创建一个包含所有运动的视频,例如,我只想过滤被检测到的运动影响的帧。
我尝试了运动检测的VLC,它可以工作,但是我无法告诉VLC仅仅显示包含运动的帧。
发布于 2014-10-12 07:44:49
这是使用OpenCV和Python可以很快完成的事情。
只需下载并安装: Python、OpenCV、Python库Numpy和pyopencv。
python中OpenCV中的运动检测实例
这个例子来自Matthias的博客。
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"发布于 2018-06-14 20:55:15
https://github.com/Breakthrough/DVR-Scan
DVR-扫描是一个跨平台命令行(CLI)应用程序,可以自动检测视频文件中的运动事件(例如,安全摄像机镜头)。除了定位每个运动事件的时间和持续时间外,DVR扫描还会将每个运动事件的片段保存到一个新的、单独的视频剪辑中。不仅是DVR扫描免费的开源软件(FOSS),它是用Python编写的,基于Numpy和OpenCV,它被构建为可扩展和可攻击的软件。
我可以确认它与MPEG4 (H264) AVI文件完美地工作。
用法:
dvr-scan -i some_video.mp4 -o some_video_motion_only.avi
发布于 2017-05-13 21:36:46
有一个软件来自safeware: SafeMotion。http://www.safeware.ca/support.php,对我来说效果很好。也许它能解决你的问题。安全情绪是一个有用的程序,使您能够导出所有的视频与运动。此外,您还可以定义应该检测运动的区域,并且可以调整移动对象的大小和灵敏度。只是用来分析老鼠的行为录像,而不是看沉睡的场景。
该软件是免费的,但我认为有相当一段时间没有更新。它没有图形用户界面,但是有一种通过命令行调整它的方法,例如调整灵敏度: safemotion.exe -m 7 XXX.avi
1-2之间检测中运动物体的m=标度
https://softwarerecs.stackexchange.com/questions/12097
复制相似问题