基于emgu运动目标监控系统设计实现

基于emgu运动目标监控系统设计实现

ID:32636408

大小:55.30 KB

页数:5页

时间:2019-02-14

基于emgu运动目标监控系统设计实现_第1页
基于emgu运动目标监控系统设计实现_第2页
基于emgu运动目标监控系统设计实现_第3页
基于emgu运动目标监控系统设计实现_第4页
基于emgu运动目标监控系统设计实现_第5页
资源描述:

《基于emgu运动目标监控系统设计实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于Emgu运动目标监控系统设计实现摘要:本设计是基于开放视觉图形处理库Emgu对捕获的视频图像进行处理,实现视频图像进行显示与跟踪,动态监控画面,并对视频进一步分析,捕获画面中的运动实体,并把重要信息保存到数据库,提供信息检索修改等操作。关键词:Emgu视频运动检测运动目标检测中图分类号:TP391.41文献标识码:A文章编号:1672-3791(2013)07(a)-0018-02随着现代电子技术和计算机智能技术的发展,视频监控也由模拟走向数字化,走向智能化、人性化。工作人员可以摆脱在长长的录像带中去寻找过时的信息,由智能系统及时准确地报告所需要的信息。真正地实现产生风险预防和干

2、预,尽量减少由于不及时的信息给生产带来的损失。本文设计的视频监控系统基于开放视觉图形处理库Emgu对捕获的视频图像进行处理,实现视频图像进行显示与跟踪,动态监控画面。1系统设计本系统大体上可以分为两大部分,第一部分为视频动态视频的图像处理,是本系统的主要组成部分;第二部分为信息的查阅管理功能,是系统的附加功能。1.1动态视频的分析技术和方法背景差法是目前视频图像中的运动目标检测算法中最常用的一种方法,该方法一般能够检测出较为完整的运动目标。在动态视频中,序列图像亮度的变化是运动检测的重要基础。在一般情况下运动的前景目标与背景的灰度值有比较大差别,而背景物体与运动物体本身的灰度值不会有

3、太大的变化。因此通过图像差分就能很好地反映两帧图像之间的差别,如果能够得到这些差别信息,就能对运动目标进行提取为进一步的运动特征分析做准备。设当前帧图像,背景图像为,所以差分求得的二值化图像为。(1)在式(1)中,前景运动目标为二值化图像中的灰度值为255的像素点。由此可以检测出视频中的运动物体。1.2捕获信息的保存为了管理方便,本系统使用的数据库为SQLiteo当进入到信息维护界面时,首先将监控系统所采集的历史信息加载历史信息窗口,历史信息窗口的主要区域是一个表格控制,用以显示查询的信息。历史信息窗口的右边是一个图像预览区域,通过预览区域可以看到被记录的图像,如图lo在历史信息表格

4、中记录数据的编号,复选框,ID号,捕获信息的时间,预览按钮和备注信息,通过备注信息可以看到与每一张图片相关的记录信息,也可以通过编辑备注栏,将信息反写回数据库,以便以后的查阅。2运动目标检测与处理的实现2.1建立背景模型获取了视频图像,就是对图像进行下一步的处理。首先创建历史对像,它是建立背景模型的基础:MotionHistory_motionHistory=newMotionHistory1.0,//按秒计算,要保存多久的历史信息0.05,//按秒计算,要考虑两帧之间的时间差的最小值0.5);//按秒计算,要考虑两帧之间的时间差的最大值第二步是建立背景模型,这里用的是混合高斯背景模

5、型,在EmguCv中封装了建立高斯背景模型的算法,保用类BGStatModel就能得到该模型。BGStatModelforgroundDetector=newBGStatModel(frame_Emgu,Emgu.CV.CvEnum.BG_STAT_TYPE.FGD_STAT_MODEL);2.2检测运动目标以上这两步是建立背景模型和运动检测的重要基础,得到了历史对像和识别对像后,再进行下面的步骤。步骤一,更新图像帧和背景模型,以自适应环境变化。将新的图像帧传入背景检测器中:_forgroundDetector・Update(frame_Emgu);更新背景图像历史动态信息:_mot

6、ionHistory.Update(_forgroundDetector.ForgroundMask);图像的灰度化以及滤波除噪,得到除噪后的灰度值,代码如下:Imagegrayimage二_motionHistory.Mask;ImagemotionMask=grayimage・Mui(255.0/maxValues[0]);Imagemotionlmage=newImage(motionMask.Size);motionimage[0]=motionMask;根据上面的代码就可以根据动态对像的大小创建新的图像,创建动态对像,以存储识别的结果,其中第一通道用蓝色显示运动像素点。步骤

7、二,获取取所有的运动实体,并对这些实体进行判断和标记,判断是根据阀值与每个运动实体的比对结果,满足条件的结果才进行下一步的处理与标记:获取所有的运动实体的代码为:SeqmotionComponents=_motionHistory.GetMotionComponents(storage);接下来遍历每个运动实体,过滤除运动区域于阀值,找岀运动的方向角和运动对像的像素个数,最后过滤除像素点太少的对像,程序如下:foreach(MCvConnectedComp

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。