【导读】 OpenCV是一个强大的图像和视频处理库,在这篇文章中,我将创建一个运动热图,用于检测运动、以及物体或人的流动方向,在投影公共区域时可以对建筑师有所帮助。
简介
OpenCV,或(开源计算机视觉)是英特尔于1999年开发的一个库,主要提供计算机视觉和实时视频的相关操作,它是用C++编写的,同时也支持多种其它语言(包括Python)。
工作流程
这个程序是基于一种被称为高斯背景差法的技术,这项技术被广泛应用于用稳定的摄像机检测运动物体。
背景差法创建一个表示帧(图像的静态部分)背景的模板,对于每一帧,它将减去前一帧。
让我们对该算法的两个主要步骤进行一个简要概述:
- 背景初始化:在第一步中,通过冻结第一帧来计算背景的模型。
- 更新:在第二步中,下一帧将减去上一帧,如果两帧之间发生变化(移动),则这些帧的差异将反映出该变化,可以通过应用过滤器来进行提取差异信息。
以下是背景差法应用于从城市摄像机录制的短视频的示例:
代码
对于整个项目存储库,在此处可以获取。
- https://github.com/robertosannazzaro/motion-heatmap-opencv/blob/master/README.md
代码首先读取输入的视频文件并初始化所需的