基于OpenCV的智能視頻監控設計
摘要:采用智能視頻分析技術(shù)的智能監控系統能夠最大限度地減少人為干預,提高監控效率,減輕人的工作負擔,并可對動(dòng)態(tài)場(chǎng)景視頻中的目標物體進(jìn)行檢測、分離、跟蹤與有效識別。文中介紹了opencv中的運動(dòng)模板檢測方法,并給出了使用該檢測方法來(lái)對運動(dòng)目標進(jìn)行檢測、跟蹤與智能判斷的實(shí)驗結果。
關(guān)鍵詞:opencv;視頻監控;目標檢測;智能識別
O 引言
智能視頻監控以數字化、網(wǎng)絡(luò )化視頻監控為基礎,但又有別于一般的網(wǎng)絡(luò )化視頻監控,它是一種更高端的視頻監控應用。智能視頻監控系統能夠識別不同的物體。發(fā)現監控畫(huà)面中的異常情況,并能以最快和最佳的方式發(fā)出警報和提供有用信息,從而能夠更加有效地協(xié)助安全人員處理危機,并最大限度地降低誤報和漏報現象。智能視頻監控中的運動(dòng)目標檢測與跟蹤技術(shù)則是實(shí)現這一環(huán)節的關(guān)鍵技術(shù)。目前比較常用的運動(dòng)目標檢測方法是幀間差分法、背景差分法和光流法。而幾種較受關(guān)注的目標跟蹤算法則有粒子濾波、基于邊緣輪廓的跟蹤和基于模板的目標建模等方法。
通過(guò)計算機開(kāi)源視覺(jué)庫(openCV)中的運動(dòng)模板檢測能對視頻圖像中運動(dòng)目標有效地進(jìn)行檢測與跟蹤,本文首先介紹了openCV算法,然后在該算法的基礎上,給出了實(shí)現智能視頻監控中對運動(dòng)目標進(jìn)行跟蹤,并根據運動(dòng)目標的質(zhì)心位置作出相應智能判斷的具體方法。
1 0penCV簡(jiǎn)介
OpenCV是“Open Source Computer Vision Library”的簡(jiǎn)寫(xiě),是Intel開(kāi)源計算機視覺(jué)庫。它由一系列C函數和少量的C++類(lèi)構成,是可實(shí)現圖像處理和計算機視覺(jué)方面的很多通用算法。OpenCV擁有包括300多個(gè)C函數的、跨平臺的中、高層API,它不依賴(lài)與其它的外部庫。Op-enCV對非商業(yè)應用和商業(yè)應用都是免費的;另外,OpenCV為Intel的IPP也提供了透明接口。這意味著(zhù),如果有為特定處理器優(yōu)化的IPP庫,那么,OpenCV將在運行時(shí)自動(dòng)加載這些庫,以使函數性能達到最好。OpenCV的優(yōu)點(diǎn)是開(kāi)放源代碼,具有基于Intel處理器指令集開(kāi)發(fā)的優(yōu)化代碼,統一的結構和功能定義,強大的圖像和矩陣運算能力,以及方便靈活的用戶(hù)接口,同時(shí)支持MS-Windows和Linux平臺。
最新的OpenCV庫已經(jīng)包含有大量的函數和例子,可用來(lái)處理計算機視覺(jué)領(lǐng)域中常見(jiàn)的問(wèn)題,其中主要涉及到以下幾個(gè)方面的內容:
(1) Motion Analysis and Objection Tracking-運動(dòng)分析和目標跟蹤;
(2)Image Analysis-圖像分析;
(3) StructuralA nalysis-結構分析;
(4)ObjectR ecognition-目標識別;
(5)3D Reconstruction-3D重建。
2 算法流程
運動(dòng)模塊檢測算法的流程圖如圖1所示。該流程首先是獲得當前幀與上一幀的差,接著(zhù)對差圖像進(jìn)行二值化,以去掉超時(shí)影響,更新運動(dòng)歷史圖像,然后計算運動(dòng)歷史圖像的梯度方向,并將整個(gè)運動(dòng)分割為獨立的運動(dòng)部分,再用一個(gè)結構序列標記每一個(gè)運動(dòng)分割,最后計算選擇區域的全局運動(dòng)方向,從而獲得運動(dòng)目標的質(zhì)心位置與運動(dòng)方向。
評論