中山大学南方学院 2019 届本科生毕业论文(设计)
中山大学南方学院
本科生毕业论文(设计)
装
订
线
题目:基于 OpenCV 的智能视频
监控系统设计
系
专
学
姓
名:电气与计算机工程学院
业:电子信息科学与设计
号:152012079
名:张泽峯
指导教师:原伟(讲师)
二○一九 年 三 月
中山大学南方学院 2019 届本科生毕业论文(设计)
摘 要
随着智能化时代的到来,视频处理技术日渐成熟。数字化、网络化、智能化
的视频监控逐渐成为了当前时代的必然产物,智能化视频监控系统可应用在各行
各业,如小区的安全监控,仓库监控,甚至改进后用于交通违章、智能家居,等
等众多项目。智能视频监控实现的是,实时监控场地的动静,通过设置一个阈值,
判断动静的大小。利用 VideoCapture 对超过动静范围的图像进行抓取,替代人
眼完成监控的工作,弥补人类完成工作的不足,比如人眼所监控的视频过多,无
法面面俱到,也无法长达 24 小时的工作。智能视频监控系统,通过数字图像处
理的方式,很容易地完成了这份工作,并且完成了全程地录像,在需要的时候可
以选择回放。全文主要运用了 cvtColor 对图像进行灰度化处理,然后通过帧差
法 absdiff 对视频的当前帧和前一帧进行相减,最后运用开运算对差分图像进行
处理和判断处理后的图像像素数量的方式,完成摄像头保留图像的工作,也就是
实时监控的工作。
关键词:智能化,监控,数字图像处理,帧差法
I
中山大学南方学院 2019 届本科生毕业论文(设计)
ABSTRACT
With the coming of intelligent era, video processing technology is becoming more and
more mature. Digital, network, intelligent video monitoring has gradually become the
inevitable product of the current era, intelligent video monitoring system can be
applied in all walks of life, such as security monitoring of the community, warehouse
monitoring, and even improved for traffic violations, smart home, and so on.
Intelligent video monitoring realizes the real-time monitoring of the activity of the site
and determines the size of the activity by setting a threshold. VideoCapture is used to
capture the images beyond the range of motion, replacing the human eye to complete
the monitoring work, and making up for the lack of human work. For example, the
human eye monitors too many video, which cannot cover all aspects and cannot work
as long as 24 hours. Intelligent video monitoring system, through the digital image
processing, it is very easy to complete the work, and complete the whole video, when
you need to choose replay. In this paper, cvtColor is used to grayscale the image, and
then the current frame and the previous frame of video are subtracted by the frame
difference method absdiff. Finally, the open operation is used to process the difference
image and judge the number of pixels in the processed image to complete the work of
camera image retention, that is, real-time monitoring.
Key words: Intelligent, monitoring, digital image processing, frame difference
II
中山大学南方学院 2019 届本科生毕业论文(设计)
目 录
摘 要 ............................................................. I
ABSTRACT ....................................................... II
目 录 ........................................................... III
第 1 章 绪论 ....................................................... 1
第 2 章 OPENCV 的编程环境 ........................................ 3
2.1OpenCV 简介 .................................................3
2.2OpenCV 环境介绍 .............................................5
2.2.1OpenCV 的基本结构 .....................................5
2.2.2OpenCV ............................................... 6
2.3 安装配置 OpenCV ............................................ 6
第 3 章 OPENCV 的体系结构 ....................................... 16
3.1 OpenCV 中的常用数据结构体系 ...............................16
3.2OpenCV 中处理图像常用的函数 ................................16
第 4 章 智能视频监控系统的研究和实现 .............................. 21
4.1 系统逻辑 ...................................................21
4.2 智能视频监控系统的实现图示 .................................21
4.2 核心算法 absdiff .............................................23
4.2.1 基本原理 .............................................23
4.2.2absdiff 实现 ........................................... 23
4.2.3 优缺点 ...............................................23
4.3 智能化视频监控的实现 .......................................23
第 5 章 智能视频监控系统视频处理 .................................. 25
5.1 对视频进行读写处理 .........................................25
5.1 对获取的视频进行保存 .......................................26
第 6 章 智能视频监控系统的实验与解析 .............................. 27
6.1 使用初始阈值进行智能化监控 .................................27
6.2 判定功能的选择 .............................................27
6.3 检验录像回放 ...............................................28
6.4 检查是否有生成的图像视频文件 ...............................28
第 7 章 总结 ...................................................... 29
致 谢 ............................................................ 30
参考文献 .......................................................... 31
III
中山大学南方学院 2019 届本科生毕业论文(设计)
附 录(源代码) .................................................... 32
IV
中山大学南方学院 2019 届本科生毕业论文(设计)
第 1 章 绪论
随着计算机存储容量的提高,用途的不断增多,网络带宽的提高,以及各类
视频信息处理技术的出现,全程网络化、智能化、数字化的视频监控系统开始走
进人们的视野。近年来,视频监控不断地迭代更新,在不断更新的过程中,虽然
视频监控系统跟设备都得到了极大的提高,但是或多或少存在一些问题。比如一
些固有的因素,人类没办法 24 小时对着监控进行永不疲劳地观察,并且很多人
需要同时对很多监控进行观察,难免会有忙不过来,出错的时候,如果这时候出
现了可以自动完成智能化监控工作的监控系统,那么就会被很多人所接纳和使用,
可以节省一大部分的人力,并且得到的效果远远比人力来得完美,毕竟计算机不
会偷懒,也不会心不在焉,没有人类工作那么多弊端。
虽然现在已经有了一部分类似监控系统的出现,不过却并不太完善,现在市
场上的智能视频监控或多或少存在一些问题,导致在并不是很实用,在安全上也
有所不足,比如警报出错、图像分析困难、精确度差、响应时间太长等等,这些
问题都是比较严重的。
在市场和技术成熟的推动下,智能化视频监控应运而生,相比与传统监控技
术,智能化视频监控有非常多的优点。
第一,运动智能视频监控技术可以提高系统的运行速度,大大降低系统的响
应时间,高效分析图像,具有强大的视频分析处理能力,并且能够有效得筛选信
息,在短时间得出结论。
第二,顶替人力完成整个监控工作,可以连续工作 24 小时,扫除了人为的
理解错误和判断,自动对图像进行分析,有效地降低无用信息对监控人员的干扰,
可以比人类本身更完美的完成监控任务,并且可以完整地处理异常情况并保存相
应的照片,同时发出警报。
第三,智能视频监控高度的开放性和智能性使得性能得不断提升成为了可能,
并且由于开放性,市场机遇不断涌现。同时,作为最前沿的智能化技术,交通监
控,智能家居,安防产业等方面都有很大的发展空间。
第四,智能视频监控技术检测范围广,使用方便,价格便宜,技术简单便捷,
相应速度快,准确率高,越来越有取代传统监控的趋势。
智能化技术的不断提升视频会带动整个社会的智能化器械的产出,越来越多
的智能化工具出现,智能化视频监控作为先行者,势必会普及于各家各户,而越
来越多的智能化产品的到来,也将迎来完整的智能化时代。
智能视频监控技术在国内发展已经 10 年有余,在国外更是有 20 年左右的研
究时间了。
1
中山大学南方学院 2019 届本科生毕业论文(设计)
国外最初出现智能化视频技术是为了提升安防而加大投资,于是大量的研究
促使了智能视频监控技术的出现,技术的出现厂商所看好,于是在大量的资金、
市场需求和政府的支持下,国外的智能化视频便从理论阶段发展到了真正的应用
阶段,于是在各个方面都出现了智能化视频的影子,在交通方面,如在地铁,机
场,高速等等地方。在安防方面,银行,商场等等大型场所,智能化视频在渗入。
甚至在天气方面,在军事方面,也得到了一定的应用,慢慢地形成了一个颇具规
模的小型产业,各个方面都在兴起智能化。
智能视频监控系统不仅符合信息产业的未来发展趋势,而且代表了监控行业
未来发展的方向。视频监控图像中动态目标的识别技术输出计算机视觉研究范畴,
对计算机视觉(CV,Computer Vision)领域各种技术的研究,归根结底,其实
都是对从底层的原始数据进行分析从而得到高层的行为语义理解技术的研究,本
课题的研究证实围绕着最根本的问题而展开了,因此本课题的研究成果对与计算
机视觉的其他领域的研究具有很重要的参考和借鉴意义。
2
中山大学南方学院 2019 届本科生毕业论文(设计)
第 2 章 OpenCV 的编程环境
本章将介绍 OpenCV 2.4.9 及其配置环境变量还有各种工具的使用方法,
说明 Visual Studio 2010 下的安装与配置,了解 OpenCV 的应用与开发,学习其
基础的使用方法,通过实例来说明如何在 Visual Studio 2010 集成环境下快速建
立应用程序框架。
2.1 OpenCV 简介
OpenCV 是 Intel 公司资助的开源计算机视觉库。它由一系列 C 函数和 C++
类构成,实现了图像处理和计算机视觉方面的很多通用算法。
其重要特性包括:
拥有包括多个跨平台的 API。它不依赖于其他的外部库,可以单独使用,并
且有一个非常重要的特点,就是它是开源的,对非商业应用和商业应用都是免费
的。源代码开放(open source)是信息技术界从 20 世纪 80 年代开始兴趣的新名词,
开源软件的免费特性使得很多人可以获取源码使用并学习,而且,由于有全球众
多编程者的参与,开源软件一般具有简约精炼、资源占用少、功能集中和安全性
好的特点。OpenCV 是由 Intel 资助的开源项目,跟其他爱好者自己发起编程的
开放代码不一样,OpenCV 的代码有非常强的改进能力和后继开发能力,并且代
码规范,注释使得代码具备较强的可读性。
源代码是由软件命令电脑执行指定动作的程序语句,是一个软件的核心所在,
Linux 是最著名的开源软件。
以往传统的开发工程人员在完成的硬件设计的时候,还要自己编码完成底层
所有的算法,并且所有的图像处理方法都要重新写一遍,非常浪费时间和精力,
并且由于代码过于冗杂,并不能保证代码的稳定和实用,随着处理器速度和内存
容量增长,这种传统模式已经不能满足需求。为了解决这一部分问题,于是有了
很多的计算机视觉和图像处理的软件包。为了满足多平台移植性的开发要求,这
些软件包都使用了 C/C++进行编写,MVTee 公司开发的 HALCON 是其中之一,
它包含了 C/C++代码的图像处理库。有微软公司开发的 SDK 是一个底层的图像
操作分析的 C++库。在 Matlab 中的图像处理工具包以及在 Mathematica 中的数字
图像处理软件包都是较为强大的图像处理工具,同时这两个软件包兼有许多高级
数学计算功能。Gandaif 提供了计算机视觉和数值计算库,适合于可移植平台的
视觉应用软件的开发。Delft 科学图像处理库 DIPlib 是另一个科学图像处理 C 程
序库,包含了许多图像数据多维分析和处理函数。
同时许多商用图像处理和计算机视觉软件包也得到相应开发。有 Aurora 公
3