重磅干货,第一时间送达
本期我们将学习如何使用OpenCV实现运动检测
运动检测是指检测物体相对于周围环境的位置是否发生了变化。接下来,让我们一起使用Python实现一个运动检测器应用程序吧!
该运动检测器可以完成以下任务:
1)在家工作时在屏幕前查找时间
2) 监控孩子在屏幕前的时间
3) 在你的后院发现非法侵入
4) 在你的房间/房子/小巷周围找到不需要的公共/动物活动……。
想要实现该运动检测器程序我们需要具备以下条件:
1)硬件要求:装有网络摄像机或任何类型摄像机的计算机。
2)软件需求:Pyhton3或者更高版本。
3)附加要求:对运动检测有一定的兴趣。
接下来我们将一步步的完成该应用程序的构建。
首先,我们将通过网络摄像头捕获第一帧,并将它视为基准帧,如下图所示。通过计算该基准帧中的对象与新帧对象之间的相位差来检测运动。我们也将得到的结果称为Delta帧。
接下来,我们将使用像素强度来优化Delta帧,优化后的帧称为阈值帧。并且,我们将应用一些复杂的图像处理技术,例如阴影消除、扩张轮廓等,以完成在阈值帧上提取对象物体。以下是您要实现的目标:
被探测对象
当这个对象进入帧和退出帧时,我们能够很容易的捕获这两帧的时间戳。因此,将能够准确的在视频中找到相关片段。
我们希望小伙伴都能自己实现这个程序,因此我们就不直接嵌入代码了。
从最基本的安装开始,我们需要安装Python3或更高版本,并使用pip安装pandas和OpenCV这两个库。这些工作做好,我们的准备工作就完成了。
第一步:导入需要的库:
第二步:初始化变量,列表,data frame: