1 / 13
文档名称:

OPENCV论文基于OpenCv运动目标的检测(1).doc

格式:doc   大小:104KB   页数:13页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

OPENCV论文基于OpenCv运动目标的检测(1).doc

上传人:zhufutaobao 2019/12/15 文件大小:104 KB

下载得到文件列表

OPENCV论文基于OpenCv运动目标的检测(1).doc

文档介绍

文档介绍:OPENCV论文基于OpenCv运动目标的检测(1)OpenCv课程论文基于OpenCv运动目标的检测院(系)理学院专业信息与计算科学班级111001114姓名王肖程学号111001114导师刘建伟2014年10月22日1引言:运动目标检测是智能视频监控系统的重要组成部分它是指从视频图像序列中将变化的目标从背景中分割出来。一旦检测出目标,监控系统将产生报警信息提示管理员采取相应措施,同时开始存储该时段视频文件以备查阅,可见检测结果至关重要。运动目标检测主要包括背景提、前景检测、判断报警、背景更新等主要步骤。目前常用的运动目标检测方法主要有3种:帧差法,对于动态环境具有较强的自适应性,稳健性较好,但一般不能完全提取出所有相关的特征像素点:光流法,能够检测独立运动的对象,并且可用于摄像机运动的情况,但是多数计算复杂、耗时多,很难实现实时监测;背景减法,一般能够较完整地提取目标点,但对于动态场景的变化!如光照和外来无关事件的干扰等特别敏感。2OpenCv简介OpenCv(puterVisionLibrary)是一种种用于数字图像处理和计算机视觉的函数库。由Intel微处理器研究实验室的视觉交互组开发"。它主要用于对图像进行一些高级处理。比如特征检测与跟踪、运动分析、目标分割与识别以及3D重建等。可以在VC环境下使用,操作方便。功能强大!可以大大缩短相关程序的开发周期。OpenCv是开放的C源码,基于Intel处理器指令集开发的优化代码,具有统一的结构和功能定义、强大的图像和矩阵运算能力,方便灵活的用户接口,同时支持Windows,Linux平台等。,相邻帧差法为补充的检测方法:当视频采集开始时,首先提取视频序列的一帧作为初始背景B以后每帧通过Img(x,y)读入,通过数帧更新得到较准确的背(x,y)景图!这里图像存储格式均采用IplImag结构,背景更新采用更新加权累计图像的方法,使用函数cvRunningAvg其定义是:voidcvRunningAvg(constCvArr*image,CvArr*acc,doublealpha,constCvArr*mask=NULL)。以背景建模与更新为核心"整个运动检测的流程框图如图1所示:(ROI)视频监控运动目标检测过程中,对实时性有着非常高的要求,一般的视频采集多为20~30(帧/秒)的速度。如果检测过程太复杂,耗时太久,就无法及时地给出报警。因此,运动检测算法必须简单(高效)除了采用实时性好的背景模型及更新方法,还有一种方法就是采用感兴趣区域(ROI)。人们对于图像各个区域内容读取关注程度各不相同,关注程度较高的部分就称为ROI,一般这些部分包含了图像的重要内容,细节比较丰富。在视频监控领域中,有时用户会指定一个区域只对其监控"而不对整个图像处理。这里使用函数cvSetImagROI基于给定的矩形设置图像的ROI,另外,对于特定场景,如果只对一幅图像的某个部分进行处理就能够达到运动检测的目的,也可以使用ROI在系统进行参数初始化阶段。首先设定分块系数M和N将整幅图划分为个块M*N再根据不同目标区域的需要,选择所需要的第i块作为监控区域,其实现过程主要为:图2,是摄像头采集的一段视频中的第796帧,后两幅前景图对比了没有设置ROI和设置了ROI的两种情况"都检测到了目标的出现"但是从每帧处理时间看"处理时间后者快了近10ms大大提高系统的实时性能。当然,采用ROI会带来一定的漏报率,但实验证实一般场景下合适的ROI选取可使检测率与传统方案相差很小,而时间成本得到了大幅度改善。4小结本文介绍了一种基于OpenCv的视频监控运动检测系统方案,包括了背景提取、前景检测、判断报警,背景更新等主要模块。OpenCv由大量库函数组成,且代码经过优化,是一种高效且实用的开发工具#方案通过设置感兴趣区域可以提高系统的实时性能。修正的大津法自适应阈值得到更准确的前景图"帧差法解决摇摆树叶等背景扰动以及光照的影响,得到了比较好的检测效果。另外本方法虽然算法相对简单,实时性较好,但在处理复杂程度较高的背景以及光线突变时效果仍不理想,还需进一步研究解决。代码如下:<spanstyle="font-size:18px;">#include""#include"opencv2/"#include<vector>#include<iostream>usingnamespacecv;usingnamespacestd;Matsrc,frameImg;intwidth;intheight;vector<Point>orner(4);vector<Point>dstCorner(4);sta