如何使用运动检测触发相机?

Posted

技术标签:

【中文标题】如何使用运动检测触发相机?【英文标题】:how do I trigger the camera using motion detection? 【发布时间】:2020-07-29 09:18:36 【问题描述】:

我正在尝试使用运动检测来触发摄像头。

我有一个代码,它可以拍摄视频并在背景发生变化时执行运动检测和捕捉并保存帧。但问题是它需要拍摄经过的物体的多张图像。当对象完全在场景中时,我只需要拍摄一张图像。

当物体在中间并且完全可见时,如何只触发一次相机?

【问题讨论】:

您需要确保排除噪音,以免识别静止物体。如果您不将它们过滤掉,树木和电源线看起来都会不断地被识别为通过右侧的物体。您可以绘制仅包含道路的蒙版,还可以使用区域标签来排除低于特定大小的对象。 【参考方案1】:

尝试在 OpenCV 中使用跟踪器 API,因此如果您在二进制图像上检测到右侧的汽车,您可以使用跟踪器跟踪它并在分析下一帧时忽略该区域。 在 Python 中,您可以使用 cv2.Tracker_create() 创建 Tracker,然后将 Tracker 应用于感兴趣的对象,例如检测到的汽车。 Tracker Docs

【讨论】:

我有一个问题要问你,你的意思是应该在我的运动检测之上添加跟踪器吗? 您可以使用跟踪器作为跟踪您之前检测到的元素的工具,因此在下一次检测尝试中您将忽略它们。在新检测到的对象上添加边界框,当跟踪器跟踪它时,将该框更改为黑色,这意味着它没有检测到新的东西。如果我理解错了你的算法,请纠正我。

以上是关于如何使用运动检测触发相机?的主要内容,如果未能解决你的问题,请参考以下文章

如何检测相机上的运动以移动鼠标

使用 raspi 相机的树莓派运动检测

使用 Picamera 进行运动检测

在opencv c ++(移动相机)上检测运动

检测视频中是不是存在摄像机运动以及手术视频中的移动物体

OpenCV BackgroundSubtractor Android 运动检测器错误