基于OpenCV的智能视频监控设计
摘要:采用智能视频分析技术的智能监控系统能够最大限度地减少人为干预,提高监控效率,减轻人的工作负担,并可对动态场景视频中的目标物体进行检测、分离、跟踪与有效识别。文中介绍了opencv中的运动模板检测方法,并给出了使用该检测方法来对运动目标进行检测、跟踪与智能判断的实验结果。
关键词:opencv;视频监控;目标检测;智能识别
O 引言
智能视频监控以数字化、网络化视频监控为基础,但又有别于一般的网络化视频监控,它是一种更高端的视频监控应用。智能视频监控系统能够识别不同的物体。发现监控画面中的异常情况,并能以最快和最佳的方式发出警报和提供有用信息,从而能够更加有效地协助安全人员处理危机,并最大限度地降低误报和漏报现象。智能视频监控中的运动目标检测与跟踪技术则是实现这一环节的关键技术。目前比较常用的运动目标检测方法是帧间差分法、背景差分法和光流法。而几种较受关注的目标跟踪算法则有粒子滤波、基于边缘轮廓的跟踪和基于模板的目标建模等方法。
通过计算机开源视觉库(openCV)中的运动模板检测能对视频图像中运动目标有效地进行检测与跟踪,本文首先介绍了openCV算法,然后在该算法的基础上,给出了实现智能视频监控中对运动目标进行跟踪,并根据运动目标的质心位置作出相应智能判断的具体方法。
1 0penCV简介
OpenCV是“Open Source Computer Vision Library”的简写,是Intel开源计算机视觉库。它由一系列C函数和少量的C++类构成,是可实现图像处理和计算机视觉方面的很多通用算法。OpenCV拥有包括300多个C函数的、跨平台的中、高层API,它不依赖与其它的外部库。Op-enCV对非商业应用和商业应用都是免费的;另外,OpenCV为Intel的IPP也提供了透明接口。这意味着,如果有为特定处理器优化的IPP库,那么,OpenCV将在运行时自动加载这些库,以使函数性能达到最好。OpenCV的优点是开放源代码,具有基于Intel处理器指令集开发的优化代码,统一的结构和功能定义,强大的图像和矩阵运算能力,以及方便灵活的用户接口,同时支持MS-Windows和Linux平台。
最新的OpenCV库已经包含有大量的函数和例子,可用来处理计算机视觉领域中常见的问题,其中主要涉及到以下几个方面的内容:
(1) Motion Analysis and Objection Tracking-运动分析和目标跟踪;
(2)Image Analysis-图像分析;
(3) StructuralA nalysis-结构分析;
(4)ObjectR ecognition-目标识别;
(5)3D Reconstruction-3D重建。
2 算法流程
运动模块检测算法的流程图如图1所示。该流程首先是获得当前帧与上一帧的差,接着对差图像进行二值化,以去掉超时影响,更新运动历史图像,然后计算运动历史图像的梯度方向,并将整个运动分割为独立的运动部分,再用一个结构序列标记每一个运动分割,最后计算选择区域的全局运动方向,从而获得运动目标的质心位置与运动方向。
评论