opencvc++记录运动时,从凸轮检测视频

OpenCv C++ record video when motion detected from cam

本文关键字:检测 视频 记录 运动 opencvc++      更新时间:2023-10-16

我试图使用一个简单的运动检测代码来检测从相机的运动。我正在使用OpenCV库,我有一些代码,需要两个帧之间的差异来检测变化。

我让差帧工作得很好,当没有运动时它是黑色的。

问题是我现在如何检测到黑暗停止记录或没有黑暗开始记录帧。

谢谢大家

一个非常简单的方法是将整个diff图像求和为一个整数。如果总和超过某个阈值,就会出现移动。然后你可以使用第二个阈值,当总和低于这个限制时,你就停止了移动。

您还可以使阈值仅在自上次阈值以来已经过了一些时间时才更改程序状态。也就是说,在检测到移动后,10秒内不检查是否没有移动

看看自由软件运动的代码,以获得鼓舞人心的想法。

有相当多的事情要记住可靠的运动检测。例如,忍受太阳自转带来的缓慢变化。或者接受瞬间的图像故障,尤其是来自最便宜的相机。

从我的一个小经验来看,我认为比仅仅把所有的差异加起来更好的是计算变化超过一定阈值的像素的数量。

Motion还提供遮罩,例如,它可以让你忽略附近道路上的移动。

如何在内部存储黑色帧并使用相同的比较代码?如果您的新帧与全黑帧不同(高于阈值),请开始录制。

这似乎是最直接的,因为你已经有了图像处理算法。