吕延岗
摘 要:本文在对EMGU介绍的基础上,给出了使用配置过程。通过利用IMOS监控平台中的视频的信号,实现了运动目标的检测、识别和跟踪,给出了部分关键代码。
关键词:EMGU;智能监控;目标跟踪
随着视频监控技术的发展,其架构从模拟化转向了数字化,利用计算机视觉技术对视频信号进行分析理解,并以此为基础对视频监控系统进行控制,不断提高系统的智能化和自动化。本文将EMGU应用到智能监控系统的开发过程,并实现了运动目标的自动跟踪。
1 EMGU简介
OpenCV(Open Source Computer Vision Library)是一个跨平台计算机视觉库,实现了图像处理和计算机视觉方面的很多通用算法。Emgu CV是.NET平台下对OpenCV图像处理库的封装[1],也就是.NET版的OpenCV。EMGU具有跨平台的特点,兼容C#、VB.NET、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._SmoothGaussian(3);
//更新图像帧和背景模型,以自适应环境变化[4]
#region use the BG/FG detector to find the forground mask
currentForm._detector.Update(frame);
Image
#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.