EMGU在智能监控系统开发中的应用

时间:2022-10-28 07:30:45

EMGU在智能监控系统开发中的应用

摘 要:本文在对EMGU介绍的基础上,给出了使用配置过程。通过利用IMOS监控平台中的视频的信号,实现了运动目标的检测、识别和跟踪,给出了部分关键代码。

关键词:EMGU;智能监控;目标跟踪

随着视频监控技术的发展,其架构从模拟化转向了数字化,利用计算机视觉技术对视频信号进行分析理解,并以此为基础对视频监控系统进行控制,不断提高系统的智能化和自动化。本文将EMGU应用到智能监控系统的开发过程,并实现了运动目标的自动跟踪。

1 EMGU简介

OpenCV(Open Source Computer Vision Library)是一个跨平台计算机视觉库,实现了图像处理和计算机视觉方面的很多通用算法。Emgu CV是.NET平台下对OpenCV图像处理库的封装[1],也就是.NET版的OpenCV。EMGU具有跨平台的特点,兼容C#、、C++等编程语言,并且可以实现特征检测与跟踪、运动分析、目标分割与识别等图像高级处理功能[2]。

1.1 EMGU在VS2010中的配置

⑴下载EMGU安装包(以libemgucv-windows-x86-2.4.0.1717版本为例)并进行安装,安装完成后将emgucv-windows-x86 2.4.0.1717\bin目录添加到系统环境变量中;

⑵导入UI插件,单击VS2010中的工具->选择工具箱项->.NET Framework组件菜单,单击浏览按钮进入EMGU安装目录bin下选择Emgu.CV.UI.dll,将ImageBox 和HistogramCtrl组件添加到工具箱中;

⑶在解决方案中加入 EmguCV 的引用[3]:包括Emgu.CV.dll、Emgu.CV.ML.dll、Emgu.CV.UI.dll、Emgu.Util.dll以及ZedGraph.dll等。

1.2 系统设计目的及拓扑结构

开发的智能监控系统通过IMOS平台来获取告警信息和视频源,当系统接收到IMOS平台通知的告警信息后,开始对IMOS平台的监控视频流进行分析,主要完成图像预处理、运动目标的检测、人体目标的识别和自动跟踪等操作,进而通过IMOS平台控制摄像机云台跟踪运动目标,将目标始终锁定在被监控视野内。系统的拓扑方案如图1所示。

1.3 目标跟踪分析与实现

目标跟踪是利用监控视频的图像信号,对运动目标进行检测、识别和定位,并自动控制云台和摄像机的运动,跟踪和锁定目标。在目标检测阶段若有多个目标同时出现时,则由系统自动选取一个最有利(运动物体区域范围最大)的目标进行跟踪,达到目标跟踪监控自动化。部分关键代码如下:

//YUV格式转换

Bitmap frameBGR = ConvertYUV2Bitmap(srcY, srcU, srcV, (int)w, (int)h);

mage frame = new Image(frameBGR);

frame._SmoothGaussian(3);

//更新图像帧和背景模型,以自适应环境变化[4]

#region use the BG/FG detector to find the forground mask

currentForm._detector.Update(frame);

Image forgroundMask = currentForm._detector.ForgroundMask;

#endregion

currentForm._tracker.Process(frame, forgroundMask);

//选择运动物体区域范围最大目标并绘制跟踪框

Maxblob.Size = sizeF;

foreach (MCvBlob blob in currentForm._tracker)

{

if ((blob.Size.Height * blob.Size.Width) > (Maxblob.Size.Height * Maxblob.Size.Width))

Maxblob = blob;

}

frame.Draw((Rectangle)Maxblob, new Bgr(0.0, 0.0, 255.0), 1);

// 当跟踪框面积大于预设面积时,跟踪目标开启

if ((Maxblob.Size.Height * Maxblob.Size.Width >= 50))

{

//当跟踪框的坐标与前置坐标偏差超过阀值时,开始转动云台

if (((Maxblob.Center.X - currentForm.pointCenter.X) >= 10) )

{

currentForm.SendMessage(MW_PTZ_CMD_E.MW_PTZ_PANRIGHT);

... ...

}

}

2 总结

本文探讨了EMGU在智能监控系统开发过程中的应用,并给出了EMGU在VS2010中的配置过程。结合IMOS平台,对运动目标的自动跟踪过程进行了分析,对于智能监控系统的开发具有一定的参考价值。

[参考文献]

[1]王燕,曹银杰,郎丰法,等.基于Emgu CV的数字相机图像采集[J].电子科技.2012,25(4):31-32.

[2]赵霞,陆小龙,廖明.基于OpenCV的角铁中线检测方法[J].中国测试.2010,36(3):27-29.

[3]任超,冯勇建.EmguCV图像处理库在WPF中的应用[J].计算机应用与软件.2013,30(5):233-235.

[4]陈尧.基于Emgu的运动目标监控系统设计实现[J].科技资迅.2013,19:18-19.

上一篇:MIMO系统中多用户分集技术 下一篇:浅谈变压器提高抗短路能力的工艺措施