呂延崗
摘 要:本文在對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.