智能視頻監(jiān)控(視頻敏感區(qū)域入侵檢測報警)的設(shè)計與實現(xiàn)_第1頁
智能視頻監(jiān)控(視頻敏感區(qū)域入侵檢測報警)的設(shè)計與實現(xiàn)_第2頁
智能視頻監(jiān)控(視頻敏感區(qū)域入侵檢測報警)的設(shè)計與實現(xiàn)_第3頁
智能視頻監(jiān)控(視頻敏感區(qū)域入侵檢測報警)的設(shè)計與實現(xiàn)_第4頁
智能視頻監(jiān)控(視頻敏感區(qū)域入侵檢測報警)的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩63頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

ABSTRACT摘要ABSTRACTWiththeincreasingdemandforsocialandpublicsecurity,combinedwiththedevelopmentofmoderncomputertechnology,securityproductsaremoreclosertothePC.Intelligentvideomonitoringbasedonimagerecognitionisgraduallyreplacingthetraditionalmonitoringmeasureswithprominentcharacteristics,suchasitshandiness,subsize,strongmovetointegrationandsoon.Thekeytechnologyofintelligentvideosurveillance,intrusiondetectiondependsonthevideocontent.Thissubjectintrusiondetectionbasedonvideocontentanalysis,theintegrationofreal-timealarmmonitoringtechnology.Thisprojectimplementsthesystembasedontheintegrationofintrusiondetectionofvideocontent,theanalysis,real-timealarmmonitoringtechnology.Keywords:IntelligentVideoSurveillanceandAlarmSystem,imagecontrast,RGBcolormode,SMTP目錄目錄目錄第一章引言 11.1 研究背景 11.2 視頻監(jiān)控發(fā)展歷史和國內(nèi)外研究現(xiàn)狀 11.2.1 視頻監(jiān)控發(fā)展歷史 11.2.2 國內(nèi)外研究現(xiàn)狀 21.3 論文的主要內(nèi)容及意義 21.4 論文組織 3第二章需求分析與總體設(shè)計 42.1 需求分析 42.2 總體設(shè)計 52.2.1 視頻監(jiān)控系統(tǒng)各模塊設(shè)計 72.2.2 關(guān)鍵數(shù)值設(shè)定說明 82.3 本章總結(jié) 9第三章關(guān)鍵理論及技術(shù) 113.1 智能視頻監(jiān)控技術(shù) 113.1.1 背景減除(BackgroundSubtraction) 123.1.2 時間差分(TemporalDifference) 123.1.3 光流(OpticalFlow) 133.1.4 運動向量檢測法 143.2 RGB色彩模式 143.3 SMTP和名稱空間簡介 153.3.1 SMTP簡介 153.3.2 名稱空間簡介 163.4 VFW體系結(jié)構(gòu)簡介 173.4.1 VFW下AVICap基本功能 183.4.2 常用的數(shù)據(jù)結(jié)構(gòu) 193.4.3 回調(diào)函數(shù) 203.5 WindowsAPI簡介 213.6 本章小結(jié) 22第四章軟件實現(xiàn) 234.1 軟件總體實現(xiàn) 234.2 軟件各模塊說明 234.2.1 視頻內(nèi)容捕獲實現(xiàn) 234.2.2 視頻內(nèi)容識別實現(xiàn) 274.2.3 報警功能的設(shè)計與實現(xiàn) 33第五章測試 425.1 系統(tǒng)測試相關(guān)理論 425.2 攝像頭監(jiān)控程序軟件描述 435.3 功能測試 445.3.1 啟動攝像頭功能測試 445.3.2 監(jiān)控對比圖形的設(shè)置測試 445.3.3 視頻敏感區(qū)入侵測試 455.3.4 郵件發(fā)送測試 475.4 各項參數(shù)性能測試 525.4.1 色差設(shè)定測試 525.4.2 限差設(shè)定測試 555.4.3 延遲時間設(shè)定測試 575.4.4 監(jiān)控間隔設(shè)定測試 575.5 測試結(jié)果分析及說明 57第六章總結(jié)和展望 58參考文獻(xiàn) 59致謝 60外文資料原文 61外文資料譯文 63電子科技大學(xué)學(xué)士學(xué)位論文第一章引言第一章引言研究背景一直以來,各類違法違規(guī)事件的發(fā)生猝不及防。同時隨著科技的發(fā)展,違法違規(guī)的手段也趨于復(fù)雜,給正常的維護(hù)偵破工作帶來諸多不便。社會的進(jìn)步對安全防范的要求和規(guī)范也更高。依賴于傳統(tǒng)的偵破人員勘察現(xiàn)場的手段已經(jīng)不能滿足當(dāng)今社會的發(fā)展需求。因此,智能視頻監(jiān)控系統(tǒng)進(jìn)入了人們的視線,也將是未來安全防范主要依賴的工具和手段。首先認(rèn)識一下智能視頻監(jiān)控的概念。智能視頻監(jiān)控是利用計算機(jī)視覺技術(shù)對視頻信號進(jìn)行處理、分析和理解,在不需要人為干預(yù)的情況下,通過對序列圖像自動分析對監(jiān)控場景中的變化進(jìn)行定位、識別和跟蹤,并在此基礎(chǔ)上分析、判斷目標(biāo)的行為。隨著計算機(jī)網(wǎng)絡(luò)技術(shù)、計算機(jī)圖形技術(shù)、多媒體處理技術(shù)、通信技術(shù)的普及和快速發(fā)展,視頻監(jiān)控系統(tǒng)的數(shù)字化、網(wǎng)絡(luò)化、智能化程度得到進(jìn)一步得加強(qiáng)。也就意味著視頻敏感區(qū)域的入侵檢測也向著多維度的方向發(fā)展,并且具備了更多功能。在視頻監(jiān)控系統(tǒng)不斷發(fā)展的今天,越來越多的視頻監(jiān)控產(chǎn)品向輕、巧、小的方向發(fā)展。視頻監(jiān)控發(fā)展歷史和國內(nèi)外研究現(xiàn)狀視頻監(jiān)控發(fā)展歷史隨著監(jiān)控行業(yè)的飛速發(fā)展,視頻監(jiān)控系統(tǒng)的發(fā)展大致經(jīng)歷了三個階段。第一代模擬時代:視頻是以模擬方式進(jìn)行處理,視頻信號由同軸電纜進(jìn)行傳輸,其控制方式也以模擬信號的形式進(jìn)行處理;第二代為半數(shù)字式時代:則仍采用視頻信號由同軸電纜進(jìn)行傳輸,而控制主機(jī)或硬盤錄像機(jī)(DVR)則進(jìn)行數(shù)字處理與存儲;第三代是全數(shù)字式時代:視頻信號從采集開始即為數(shù)字信號,以網(wǎng)絡(luò)系統(tǒng)為傳輸媒介,基于網(wǎng)絡(luò)TCP/IP協(xié)議,采用流媒體計算機(jī)控制技術(shù),具有多路復(fù)用傳輸,以網(wǎng)絡(luò)虛擬矩陣控制方式,實現(xiàn)強(qiáng)大的視頻監(jiān)控管理控制平臺。[1]圖1-1視頻監(jiān)控系統(tǒng)處理流程國內(nèi)外研究現(xiàn)狀國外的研究主要有[2]:在美國國防高級研究計劃局(DARPA)資助下,卡內(nèi)基梅隆大學(xué)、戴維SARNOFF研究中心等幾家著名研究機(jī)構(gòu)合作,研制了視頻監(jiān)視與監(jiān)控系統(tǒng)VSAM。VSAM的目標(biāo)是為未來城市和戰(zhàn)場監(jiān)控應(yīng)用開發(fā)的一種自動視頻理解技術(shù),用于實現(xiàn)未來戰(zhàn)爭中人力監(jiān)控費用昂貴、非常危險或者人力無法實現(xiàn)等場合下的監(jiān)控。英國的雷丁大學(xué)(UniversityofReading)開展了對車輛和行人的跟蹤及其交互作用識別的相關(guān)研究;IBM與Microsoft等公司也正逐步將基于視覺的手勢識別接口應(yīng)用于商業(yè)領(lǐng)域中;Maryland大學(xué)的實時視覺監(jiān)控系統(tǒng)W4不僅能夠定位人和分割出人的身體部分,而且通過建立外觀模型來實現(xiàn)多人的跟蹤,可以檢測和跟蹤室外環(huán)境中的人并對他們之間簡單的交互進(jìn)行監(jiān)控。國內(nèi)的研究機(jī)構(gòu)主要有:中科院北京自動化研究所下屬的模式識別國家重點實驗室,他們對交通場景的視覺監(jiān)控(基于三維線性模型定位、基于擴(kuò)展卡爾曼濾波器的車輛跟蹤算法)、人的運動視覺監(jiān)控(基于步態(tài)的遠(yuǎn)距離身份識別)和行為模式識別(提出了對目標(biāo)運動軌跡和行為特征的學(xué)習(xí)的模糊自組織神經(jīng)學(xué)習(xí)算法)進(jìn)行了深入研究,取得了一定的成果。此外,國內(nèi)還有一些高校也進(jìn)行了這方面的研究,如上海交通大學(xué)、北京航空航天大學(xué)、北京理工大學(xué)等。論文的主要內(nèi)容及意義智能視頻系統(tǒng)要解決的問題有兩個:一個是將安防操作人員從繁雜而枯燥的長時間觀察屏幕的任務(wù)重解脫出來,由機(jī)器來完成這部分工作,減少人力投入;另外一個是為在海量的視頻數(shù)據(jù)中快速搜索到想要找的的關(guān)鍵數(shù)據(jù),大大降低不報、誤報、錯報的概率。意義可以從以下幾方面來說:一是基于人們對安防產(chǎn)品越來越高的要求。對于愈加復(fù)雜的社會環(huán)境,人們需要更快速、高效、可靠的手段維護(hù)自身、社會的安全。二是在硬件和軟件基礎(chǔ)越發(fā)夯實的條件下,很好地將傳統(tǒng)的視頻監(jiān)控和軟件設(shè)備銜接到一起,發(fā)揮兩者的長處,觸發(fā)了視頻監(jiān)控系統(tǒng)性能從根本上提高。三是視頻監(jiān)控的一體化要求,從根本上簡化設(shè)備,降低成本,減少人力、物力、財力等各方面的投入。本文需著重考慮并解決的問題有以下三個大方面:1.視頻內(nèi)容的獲??;2.視頻內(nèi)容的識別;3.報警方式的實現(xiàn)。最終實現(xiàn)小型一體化攝像頭監(jiān)控程序,完成對視頻監(jiān)控中異常行為的智能識別、提前發(fā)現(xiàn)和自動報警的目標(biāo),將在下面的章節(jié)中詳細(xì)論述。論文組織本文以建立一個基于視頻敏感區(qū)入侵檢測的一體化智能視頻監(jiān)控系統(tǒng)為目標(biāo),實現(xiàn)對侵入視頻敏感區(qū)物體的檢測與跟蹤,并根據(jù)所得到的判斷結(jié)果啟動實時的報警信息。提供單個色差、總色差值兩種維度的入侵物體辨識,增加系統(tǒng)針對不同環(huán)境的可移植性。本文共分為六章,各章節(jié)的主要內(nèi)容如下:第一章引言。論述了本文的研究背景、目的、意義等,分析了目前國內(nèi)外的發(fā)展和研究狀況,并提出了相應(yīng)的解決方案。隨后給出了本文的主要研究內(nèi)容和各章節(jié)的安排。第二章需求分析與總體設(shè)計。主要介紹了軟件的需求分析與總體設(shè)計,以流程圖的方式展現(xiàn)了軟件相關(guān)的實現(xiàn)流程。第三章關(guān)鍵理論技術(shù)。主要論述了設(shè)計與實現(xiàn)攝像頭監(jiān)控軟件涉及到的一些相關(guān)理論與關(guān)鍵技術(shù)。第四章軟件實現(xiàn)。在VFW下,提供視頻數(shù)據(jù)連接、視頻內(nèi)容捕獲、并實現(xiàn)從視頻上捕獲并保存圖像文件的功能,完成集監(jiān)控、識別、報警為一體的小型視頻監(jiān)控系統(tǒng)軟件的設(shè)計。第五章軟件測試及應(yīng)用。提供關(guān)于本系統(tǒng)開發(fā)的基本的性能要求、初步設(shè)計和系統(tǒng)基本功能需求的信息,以及軟件總體測試的依據(jù)。第六章總結(jié)和展望。第二章需求分析與總體設(shè)計第二章需求分析與總體設(shè)計需求分析視頻監(jiān)控是一個很廣泛的概念,那么其中涵蓋的知識點和信息點也是非常豐富的。作為現(xiàn)代安防的主要手段之一,視頻監(jiān)控有著非常良好的發(fā)展前景。本視頻敏感區(qū)域的入侵檢測系統(tǒng)只是視頻監(jiān)控中很小的一個部分,實現(xiàn)的功能也相較初級。本系統(tǒng)從最基本的功能入手,在結(jié)合現(xiàn)代計算機(jī)技術(shù),實現(xiàn)了基于顏色的視頻內(nèi)容入侵檢測、識別。因為是基于實時的檢測報警,此系統(tǒng)由于時間和能力各方面的限制,暫不提供對視頻內(nèi)容的錄制功能。智能化、數(shù)字化、網(wǎng)絡(luò)化是視頻監(jiān)控發(fā)展的必然趨勢,智能視頻監(jiān)控的出現(xiàn)正是這一趨勢的直接體現(xiàn)。智能視頻監(jiān)控分析是計算機(jī)視覺領(lǐng)域一個新興的應(yīng)用方向和備受關(guān)注的前沿課題,結(jié)合了計算機(jī)科學(xué)、機(jī)器視覺、圖像處理、模式識別、人工智能等多學(xué)科。智能視頻監(jiān)控將一改傳統(tǒng)監(jiān)控的被動監(jiān)視、事后查錄像的尷尬境地,可以為用戶提供更多高級的視頻分析功能,可以極大的提高視頻監(jiān)控系統(tǒng)的能力,并使視頻資源能夠發(fā)揮更大的作用[3]。功能需求傳統(tǒng)的視頻監(jiān)控系統(tǒng)僅僅提供了捕獲、存儲和發(fā)布視頻的功能,監(jiān)控的任務(wù)大部分是由人來完成的。通常,人工監(jiān)控是枯燥和乏味的工作,需要安保人員投入比如常工作更高的注意力。如果監(jiān)控的事件不經(jīng)常發(fā)生,由于人不能長期集中注意力,易疲勞的原因,這種事件往往容易被疏忽。同時,數(shù)據(jù)資源的存儲問題也尤為突出,隨著時間的推移,視頻數(shù)據(jù)也與日俱增,存儲和查找變得尤為困難。而智能視頻監(jiān)控作為一個新型的監(jiān)控系統(tǒng),在傳統(tǒng)視頻的優(yōu)勢上保持外,還需要克服傳統(tǒng)視頻監(jiān)控存在的諸多問題,軟件需要考慮的問題如下:1)監(jiān)控前端:用于采集被監(jiān)控點的監(jiān)控信息,并可以配備報警設(shè)備。2)管理中心:承擔(dān)所有前端設(shè)備的管理、控制、報警處理、錄像、用戶管理等工作。各部分功能分別由專門的服務(wù)器各司其職。3)監(jiān)控中心:用于集中對所轄區(qū)域進(jìn)行監(jiān)控,包括電視墻、監(jiān)控客戶終端群組成。系統(tǒng)中可以有一個或多個監(jiān)控中心。智能識別入侵對象,大大降低漏報、誤報的概率。4)PC客戶端:在監(jiān)控中心之外,也可以由PC機(jī)接到網(wǎng)絡(luò)上進(jìn)行遠(yuǎn)程監(jiān)控。提高設(shè)備的可移植性,對復(fù)雜環(huán)境的適應(yīng)性,避免多次開發(fā)的成本投入。開發(fā)環(huán)境此次設(shè)計在WindowsXPsp2操作系統(tǒng)下采用MicrosoftVisualStudio2010進(jìn)行開發(fā),所選用的開發(fā)語言是C#,并結(jié)合MFC進(jìn)行編程,目標(biāo)框架是.NETFramework。這種開發(fā)工具和開發(fā)語言是當(dāng)今比較流行的[4]。VisualStudio是微軟公司推出的開發(fā)環(huán)境。是目前最流行的Windows平臺應(yīng)用程序開發(fā)環(huán)境。VisualStudio2010同時帶來了NETFramework4.0、MicrosoftVisualStudio2010CTP(CommunityTechnologyPreview--CTP),并且支持開發(fā)面向Windows7的應(yīng)用程序。除了MicrosoftSQLServer,它還支持IBMDB2和Oracle數(shù)據(jù)庫。支持WindowsAzure,微軟云計算架構(gòu)邁入重要里程碑。VisualStudio2010有如下特點:助力移動與嵌入式裝置開發(fā),三屏一云商機(jī)無限。實踐當(dāng)前最熱門的Agile/Scrum開發(fā)方法,強(qiáng)化團(tuán)隊競爭力。升級的軟件測試功能及工具,為軟件質(zhì)量嚴(yán)格把關(guān)。搭配Windows7,Silverlight4與Office,發(fā)揮多核并行運算威力,創(chuàng)建美感與效能并重的新一代軟件。開發(fā)語言C#:C#是一種安全的、穩(wěn)定的、簡單的、優(yōu)雅的,由C和C++衍生出來的面向?qū)ο蟮木幊陶Z言。它在繼承C和C++強(qiáng)大功能的同時去掉了一些它們的復(fù)雜特性(例如沒有宏以及不允許多重繼承)。C#綜合了VB簡單的可視化操作和C++的高運行效率,以其強(qiáng)大的操作能力、優(yōu)雅的語法風(fēng)格、創(chuàng)新的語言特性和便捷的面向組件編程的支持成為.NET開發(fā)的首選語言??傮w設(shè)計研究和分析了目前視頻監(jiān)控系統(tǒng)的特點和針對目前用戶對視頻監(jiān)控在功能上的相關(guān)需求,本文設(shè)計了一款實時視頻監(jiān)控軟件。該軟件主要實現(xiàn)了視頻數(shù)據(jù)連接、視頻內(nèi)容識別、從視頻上捕獲并保存圖像文件的功能,完成集監(jiān)控、識別、報警為一體的任務(wù)。主要涵蓋以下功能:視頻顯示與控制部分:對視頻圖片的顯示與控制。控制攝像頭的開啟打開攝像頭監(jiān)控視窗啟動攝像頭監(jiān)控視頻內(nèi)容識別:識別視頻內(nèi)容的參數(shù)設(shè)置,是視頻內(nèi)容識別的主要手段。色差限差監(jiān)控間隔報警部分:入侵檢測報警聯(lián)動發(fā)出警音發(fā)送郵件郵件部分:郵件相關(guān)設(shè)置。設(shè)置郵件信息發(fā)送入侵郵件系統(tǒng)結(jié)構(gòu)圖如下圖所示:圖2-1系統(tǒng)結(jié)構(gòu)圖視頻監(jiān)控系統(tǒng)各模塊設(shè)計視頻監(jiān)控系統(tǒng)主要分為兩個功能模塊:視頻監(jiān)控、報警聯(lián)動。主要由以下四部分組成:1、產(chǎn)生圖像的攝像機(jī)或成像裝置(前端設(shè)備);2、圖像的傳輸與轉(zhuǎn)換設(shè)備(傳輸設(shè)備);3、圖像的處理與控制裝置(主控設(shè)備);4、終端圖像顯示記錄裝置(顯示記錄設(shè)備)。監(jiān)控端包括PC機(jī)、麥克風(fēng)、攝像頭。PC機(jī)用于控制采集設(shè)備,接受采集信息,編碼壓縮后傳輸?shù)椒?wù)器,同時接受客戶端的控制信息、圖像信息,并傳送給PC機(jī)進(jìn)行編碼后傳送給服務(wù)器。由于是微型一體化的實時報警系統(tǒng),圖像傳輸與轉(zhuǎn)換設(shè)備就忽略掉了,大大節(jié)省了視頻監(jiān)控系統(tǒng)的成本投入。產(chǎn)生圖像的攝像機(jī)或成像裝置是基于筆記本自帶的攝像頭。服務(wù)器為一臺連接到Internet網(wǎng)的高性能計算機(jī),用于接受監(jiān)控端發(fā)過來的圖片信息、響應(yīng)客戶端的請求,并將監(jiān)控端的視頻截圖實時傳送給客戶端。傳輸網(wǎng)絡(luò)為Internet,提供客戶及與服務(wù)器之間額信息通路??蛻舳藶檫B接到Internet的普通計算機(jī),通過網(wǎng)絡(luò)與服務(wù)器進(jìn)行通信,便于用戶隨時上網(wǎng)查看現(xiàn)場監(jiān)控的情況。本系統(tǒng)設(shè)計應(yīng)用于無人監(jiān)管的遠(yuǎn)程網(wǎng)絡(luò)監(jiān)控,具有視頻移動報警功能,即在所連接的任何一個攝像頭的監(jiān)控區(qū)中,若出現(xiàn)物體的移動變化即可啟動報警、發(fā)送入侵郵件等報警設(shè)備。用戶可以獲得服務(wù)器驗證通過后的任何一臺聯(lián)網(wǎng)PC機(jī)上進(jìn)行監(jiān)控區(qū)域的查看,還可以多個合法用戶同時查看。當(dāng)用戶在報警結(jié)束后查看系統(tǒng),則可從錄像的圖片文件中得到異常情況發(fā)生時監(jiān)控區(qū)域的狀況。圖2-2系統(tǒng)處理流程圖關(guān)鍵數(shù)值設(shè)定說明在程序主界面,從提高監(jiān)控系統(tǒng)的整體性能、提高對環(huán)境的適應(yīng)能力出發(fā),提供了四個參數(shù)的設(shè)置,分別為色差、限差、監(jiān)控間隔和監(jiān)控延遲。下面就這四個數(shù)值做簡單的分析。色差設(shè)定:主要是為了防止因為細(xì)微的環(huán)境變化而導(dǎo)致誤報的現(xiàn)象。因為我們?nèi)粘K幍那闆r,很容易受到天氣和時段的影響。一天的不同時間段以及不同的天氣狀況,攝像頭內(nèi)的畫面是會在一定范圍內(nèi)波動的??梢愿鶕?jù)用戶的需要,靈活設(shè)定這些參數(shù),能更好地為用戶服務(wù)。增大色差容差能力,將更模糊外界不可抗因素對視頻內(nèi)容的影響。當(dāng)圖像變化的顏色差值大于該色差值時,判斷有可能出現(xiàn)變化,該值越小則要求圖像變化越小,即要求越嚴(yán)格。色差是該視頻監(jiān)控系統(tǒng)穩(wěn)定性和靈敏性的關(guān)鍵指標(biāo)。因為考究到該系統(tǒng)將會用到各種復(fù)雜的環(huán)境中,用戶可以根據(jù)自身的需求設(shè)定合適的數(shù)值。同時,由0-100的變化指標(biāo),對環(huán)境變化要求不高的用戶就可以將數(shù)值調(diào)大,避免畫面因微小的污染造成誤報。而對環(huán)境純度要求較高的用戶,對于微小的畫面污染也要糾察出來的話,可以適當(dāng)將數(shù)值調(diào)小。限差設(shè)定:限差用于控制圖像中變化比率ratio,當(dāng)超過該值時開始報警,即當(dāng)圖像出現(xiàn)ratio%的變化時程序認(rèn)為出現(xiàn)異常,該值越小要求圖像變化越小。限差設(shè)定主要是用于防止一些細(xì)微的變化引發(fā)不必要的誤報發(fā)生。適當(dāng)提高限差值,能過濾掉一些無關(guān)緊要的畫面污染。監(jiān)控間隔設(shè)定:即每隔多長時間進(jìn)行一次監(jiān)控分析。最小值為100ms,值越小,其監(jiān)控分析的頻率越高,同時CPU使用率越高。用戶可以根據(jù)自己的需求設(shè)定相應(yīng)的間隔值。延長時間設(shè)定:延長時間值表示點擊“開始監(jiān)控”按鈕后延長多少時間后開始監(jiān)控。如果設(shè)置延長時間為0,則表示點擊“開始監(jiān)控”按鈕后馬上開始進(jìn)行監(jiān)控。設(shè)置該參數(shù)主要是用于一些延長監(jiān)控的情況,如現(xiàn)在開啟監(jiān)控,但是人要出門,出門大概需要30s,則設(shè)置延長時間為30s,30s后程序自動進(jìn)入監(jiān)控狀態(tài)。同時在主程序界面還有兩個選項需要用戶選擇:單個色差、總體色差。因為該監(jiān)控系統(tǒng)主要是基于RGB值來實現(xiàn)對入侵物體的識別。因此就存在兩個維度的對比,單個色差指分別比較RGB顏色差值,總色差值指比較RGB的總差值。圖2-3相關(guān)參數(shù)設(shè)置本章總結(jié)本章研究和分析了視頻監(jiān)控系統(tǒng)的相關(guān)需求,對該程序的開發(fā)環(huán)境做了簡單的介紹。本章的重點在于設(shè)計和介紹攝像頭監(jiān)控軟件的主要功能模塊與總體設(shè)計。用框圖的形式展示了系統(tǒng)的整體結(jié)構(gòu),并對在設(shè)計軟件中發(fā)揮重要作用的關(guān)鍵數(shù)據(jù)如色差限定、限差設(shè)定、監(jiān)控間隔設(shè)定進(jìn)行了簡單的分析。并針對軟件設(shè)計過程中遇到的問題,提出了相應(yīng)的解決方案?;趯Υ舜握n題的需求分析重新整合梳理,為下面課題的實現(xiàn)打下了良好的基礎(chǔ)。電子科技大學(xué)學(xué)士學(xué)位論文第三章關(guān)鍵理論及技術(shù)PAGE64PAGE63第三章關(guān)鍵理論及技術(shù)第三章關(guān)鍵理論及技術(shù)智能視頻監(jiān)控技術(shù)IEEE在圖像的智能分析等方面有比較大的成果,比如運動檢測、人臉識別、目標(biāo)跟蹤等。運動檢測是指在指定區(qū)域能識別圖像的變化,檢測運動物體的存在并避免由光線變化帶來的干擾。由于背景圖像的動態(tài)變化,如天氣、光照、影子及混亂干擾等的影響,使得運動檢測成為一項相當(dāng)困難的工作。早期的運動檢測是對編碼后產(chǎn)生的I幀進(jìn)行比較分析,通過視頻幀的比較來檢測圖像變化。目前常用的方法有背景減除(BackgroundSubtraction)、時間差分(TemporalDifference)、光流(OpticalFlow)、運動向量檢測法等[5]。智能監(jiān)控系統(tǒng)各組成部分的說明如下:(1)監(jiān)控前端:用于采集被監(jiān)控點的監(jiān)控信息,并可以配備報警設(shè)備。監(jiān)控前端可分為兩類:①普通攝像頭+視頻服務(wù)器。普通攝像頭可以是模擬攝像頭,也可以是數(shù)字?jǐn)z像頭。原始視頻信號傳到視頻服務(wù)器,經(jīng)視頻服務(wù)器編碼后,以TCP/IP協(xié)議通過網(wǎng)絡(luò)傳至其他設(shè)備。②網(wǎng)絡(luò)攝像頭。網(wǎng)絡(luò)攝像頭是融攝像、視頻編碼、Web服務(wù)于一體的高級攝像設(shè)備,內(nèi)嵌了TCP/IP協(xié)議棧??梢灾苯舆B接到網(wǎng)絡(luò)。(2)管理中心:承擔(dān)所有前端設(shè)備的管理、控制、報警處理、錄像、錄像回放、用戶管理等工作。各部分功能分別由專門的服務(wù)器各司其職。(3)監(jiān)控中心:用于集中對所轄區(qū)域進(jìn)行監(jiān)控,包括電視墻、監(jiān)控客戶終端群組成。系統(tǒng)中可以有一個或多個監(jiān)控中心。(4)PC客戶端:在監(jiān)控中心之外,也可以由PC機(jī)接到網(wǎng)絡(luò)上進(jìn)行遠(yuǎn)程監(jiān)控。(5)無線網(wǎng)橋:無線網(wǎng)橋用于接入無線數(shù)據(jù)網(wǎng)絡(luò),并訪問互聯(lián)網(wǎng)。通過無線網(wǎng)橋,可以將IP網(wǎng)上的監(jiān)控信息傳至無線終端,也可以將無線終端的控制指令傳給IP網(wǎng)上的視頻監(jiān)控管理系統(tǒng)。目前常用的無線網(wǎng)絡(luò)為CDMA網(wǎng)絡(luò)[6]。運動目標(biāo)檢測(Moving-ObjectivesDetecting)作為智能視頻監(jiān)控系統(tǒng)重要的組成部分,是指從視頻流圖像序列中實時提取目標(biāo)運動變化的區(qū)域,檢測出圖像序列中目標(biāo)的運動信息,濾除與運動目標(biāo)無關(guān)的背景的過程。運動目標(biāo)檢測的算法依照目標(biāo)與攝像機(jī)之間的關(guān)系可以分為靜態(tài)背景下運動檢測和動態(tài)背景下運動檢測。下面就背景減除(BackgroundSubtraction)、時間差分(TemporalDifference)、光流(OpticalFlow)、運動向量檢測法這四種方法做簡單的介紹。背景減除(BackgroundSubtraction)背景減除方法是目前運動檢測中最常用的一種方法,它是利用當(dāng)前圖像與背景圖像的差分來檢測出運動目標(biāo)的一種技術(shù)。它一般能夠提供相對來說比較全面的運動目標(biāo)的特征數(shù)據(jù),但對于動態(tài)場景的變化,如光線照射情況和外來無關(guān)事件的干擾等也特別敏感。實際上,背景的建模是背景減除方法的技術(shù)關(guān)鍵。最簡單的背景模型是時間平均圖像,即利用同一場景在一個時段的平均圖像作為該場景的背景模型。由于該模型是固定的,一旦建立之后,對于該場景圖像所發(fā)生的任何變化都比較敏感,比如陽光照射方向,影子,樹葉隨風(fēng)搖動等。大部分的研究人員目前都致力于開發(fā)更加實用的背景模型,以期減少動態(tài)場景變化對于運動目標(biāo)檢測效果的影響[9]。

首先,為背景中每個像素點進(jìn)行統(tǒng)計建模。最簡單的背景模型是時間平均圖像,即利用同一場景在一個時段的平均圖像作為該場景的背景模型。由于該模型是固定的,一旦建立之后,對于該場景圖像所發(fā)生的任何變化都比較敏感,比如陽光照射方向、影子、樹葉隨風(fēng)搖動等。大部分的研究人員目前都致力于開發(fā)更加實用的背景模型,以減少動態(tài)場景變化對運動目標(biāo)檢測效果的影響。其次,用當(dāng)前圖像與己知背景圖像比較,找出在一定閾值限制下當(dāng)前圖像中的背景像素點。定義當(dāng)前圖像為F(i,j,t),背景圖像為B(i,j,t)。則差分圖像可以表示為:d(i,j,t)=|F(i,j,t)?B(i,j,t)|最后,對圖像進(jìn)行二值化處理,從而得到前景圖像(運動目標(biāo))的集合。設(shè)x(i,j)為差分圖像中任何一點,Th為灰度閥值,二值化過程可描述為:要保證一個視頻監(jiān)控系統(tǒng)長期穩(wěn)定的運行,背景差分法就要具備很強(qiáng)的魯棒性。背景差分法的難點在于如何建立背景模型和保持背景模型更新,用以彌補(bǔ)由動態(tài)場景中的光線變化等因素帶來的不利影響[7]。時間差分(TemporalDifference)時間差分(Temporal

Difference

又稱相鄰幀差)方法充分利用了視頻圖像的特征,從連續(xù)得到的視頻流中提取所需要的動態(tài)目標(biāo)信息。在一般情況下采集的視頻圖像,若仔細(xì)對比相鄰兩幀,可以發(fā)現(xiàn)其中大部分的背景像素均保持不變。只有在有前景移動目標(biāo)的部分相鄰幀的像素差異比較大。時間差分方法就是利用相鄰幀圖像的相減來提取出前景移動目標(biāo)的信息的。讓我們來考慮安裝固定攝像頭所獲取的視頻。我們介紹利用連續(xù)的圖像序列中兩個或三個相鄰幀之間的時間差分,并且用閾值來提取出視頻圖像中的運動目標(biāo)的方法。我們采用三幀差分的方法,即當(dāng)某一個像素在連續(xù)三幀視頻圖像上均有相當(dāng)程度的變化(及大于設(shè)定的閾值時),我們便確定該像素屬于運動目標(biāo)。時間差分運動檢測方法對于動態(tài)環(huán)境具有較強(qiáng)的自適應(yīng)性,但一般不能完全提取出所有相關(guān)的特征像素點,在運動實體內(nèi)部容易產(chǎn)生空洞現(xiàn)象,只能夠檢測到目標(biāo)的邊緣。而且,當(dāng)運動目標(biāo)停止運動時,一般時間差分方法便失效[8]。光流(OpticalFlow)基于光流方法(Optical

Flow)的運動檢測采用了運動目標(biāo)隨時間變化的光流特性,如Meyer

等作者通過計算位移向量光流場來初始化基于輪廓的跟蹤算法,從而有效地提取和跟蹤運動目標(biāo)。該方法的優(yōu)點是在所攝場所運動存在的前提下也能檢測出獨立的運動目標(biāo)。然而,大多數(shù)的光流計算方法相當(dāng)復(fù)雜,且抗噪性能差,如果沒有特別的硬件裝置則不能被應(yīng)用于全幀視頻流的實時處理。

當(dāng)物體與背景發(fā)生相對運動時,運動物體在被觀測圖像上對應(yīng)點的亮度模式也在運動,這種像素點運動的瞬時速度場就是光流。光流表達(dá)了圖像的變化,由于它包含了目標(biāo)運動的信息,因此可被觀察者用來確定目標(biāo)的運動情況。由光流的定義可以引申出光流場,它是指圖像中所有像素點構(gòu)成的一種二維(2D)瞬時速度場,其中的二維速度矢量是景物中可見點的三維速度矢量在成像表面的投影。所以光流不僅包含了被觀察物體的運動信息,而且還包含有關(guān)景物三維結(jié)構(gòu)的豐富信息。對光流的研究成為計算機(jī)視覺及其相關(guān)研究領(lǐng)域中的一個重要部分。[8]光流法的基本原理可描述如下:賦予圖像中的每個像素一個速度矢量,形成一個圖像運動場,根據(jù)各個像素的速度矢量特征,可以對圖像進(jìn)行動態(tài)分析。如果圖像中沒有運動目標(biāo),則光流矢量在整個圖像區(qū)域是連續(xù)變化的,當(dāng)物體和圖像背景存在相對運動時,運動物體所形成的速度矢量必然和區(qū)域背景速度矢量不同,從而檢測出運動物體的位置。運動向量檢測法運動向量檢測法適合于多維變化的環(huán)境,能消除背景中的振動像素,使某一方向的運動對象更加突出的顯示出來。但是,運動向量檢測法也不能精確地分割出對象。動態(tài)視頻目標(biāo)跟蹤技術(shù)在傳統(tǒng)監(jiān)控系統(tǒng)中,目標(biāo)跟蹤是由監(jiān)控人員手工操作來完成。由于所有的目標(biāo)的運動特性是非線性的,其速度和方向都在隨時發(fā)生改變。即使目標(biāo)的速度、方向不變,但它與攝像機(jī)的距離也在變化,從而引入很強(qiáng)的非線性因素,因而用人工操作的方法來實現(xiàn)控制非常困難。智能化視頻監(jiān)控技術(shù)提供有效的目標(biāo)自動跟蹤的工具,在用計算機(jī)自動處理視頻流的過程中,如發(fā)現(xiàn)和跟蹤感興趣的目標(biāo),就提示監(jiān)控人員加以關(guān)注,并可以控制靈巧快球攝像機(jī),對移動目標(biāo)實現(xiàn)自動跟蹤。RGB色彩模式在一個典型的多媒體計算機(jī)系統(tǒng)中常常涉及到用幾種不同的色彩空間表示圖形和圖像的顏色,以對應(yīng)于不同的場合和應(yīng)用。因此數(shù)字圖像的生成、存貯、處理及顯示時對應(yīng)不同的色彩空間需要作不同的處理和轉(zhuǎn)換。RGB色彩模式是工業(yè)界的一種顏色標(biāo)準(zhǔn),是通過對紅(R)、綠(G)、藍(lán)(B)三個顏色通道的變化以及它們相互之間的疊加來得到各式各樣的顏色的,RGB即是代表紅、綠、藍(lán)三個通道的顏色。RGB色彩模式使用RGB模型為圖像中每一個像素的RGB分量分配一個0-255范圍內(nèi)的強(qiáng)度值。RGB圖像只使用三種顏色,就可以使它們按照不同的比例混合,在屏幕上重現(xiàn)16777216(256*256*256)種顏色。其中任何參數(shù)發(fā)生改變,顏色也與之對應(yīng)的變化。因此可以用RGB模型實現(xiàn)此次入侵檢測的功能。人的眼睛通過三種可見光對視網(wǎng)膜的錐狀細(xì)胞的刺激來感受顏色。這種理論就是使用紅、綠、藍(lán)三種基色來顯示彩色的基礎(chǔ),稱之為RGB色彩空間模型。以R、G、B三個參數(shù)為坐標(biāo),我們可以得到如下的一個單位立體方體描述RGB顏色模型。紅、綠、藍(lán)是相互正交的坐標(biāo)軸,每個坐標(biāo)軸都量化為0[9]。圖3-1RGB顏色模型SMTP和名稱空間簡介SMTP簡介SMTP(SimpleMailTransferProtocol)即簡單郵件傳輸協(xié)議,是一組用于由源地址到目的地址傳送郵件的規(guī)則,由它來控制信件的中轉(zhuǎn)方式。SMTP協(xié)議屬于TCP/IP協(xié)議族,它幫助每臺計算機(jī)在發(fā)送或中轉(zhuǎn)信件時找到下一個目的地。通過SMTP協(xié)議所指定的服務(wù)器,就可以把E-mail寄到收信人的服務(wù)器上了,整個過程只要幾分鐘。SMTP服務(wù)器則是遵循SMTP協(xié)議的發(fā)送郵件服務(wù)器,用來發(fā)送或中轉(zhuǎn)發(fā)出的電子郵件。首先,運行在發(fā)送端郵件服務(wù)器主機(jī)上的SMTP客戶,發(fā)起建立一個到運行在接收端郵件服務(wù)器主機(jī)上的SMTP服務(wù)器端口號25之間的TCP連接。如果接收郵件服務(wù)器當(dāng)前不在工作,SMTP客戶就等待一段時間后再嘗試建立該連接。這個連接建立之后,SMTP客戶和服務(wù)器先執(zhí)行一些應(yīng)用層握手操作。在這個SMTP握手階段,SMTP客戶向服務(wù)器分別指出發(fā)信人和收信人的電子郵件地址。彼此自我介紹完畢之后,客戶發(fā)出郵件消息。SMTP可以指望由TCP提供的可靠數(shù)據(jù)傳輸服務(wù)把該消息無錯地傳送到服務(wù)器。如果客戶還有其他郵件消息需發(fā)送到同一個服務(wù)器,它就在同一個TCP連接上重復(fù)上述過程,否則,它就指示TCP關(guān)閉該連接。SMTP通常有兩種工作模式:發(fā)送SMTP和接收SMTP。具體工作方式為:發(fā)送SMTP在接到用戶的郵件請求后,判斷此郵件是否為本地郵件,若是直接投送到用戶的郵箱,否則向dns查詢遠(yuǎn)端郵件服務(wù)器的MX紀(jì)錄,并建立與遠(yuǎn)端接收SMTP之間的一個雙向傳送通道,此后SMTP命令由發(fā)送SMTP發(fā)出,由接收SMTP接收,而應(yīng)答則反方面?zhèn)魉汀R坏﹤魉屯ǖ澜?,SMTP發(fā)送者發(fā)送MAIL命令指明郵件發(fā)送者。如果SMTP接收者可以接收郵件則返回OK應(yīng)答。SMTP發(fā)送者再發(fā)出RCPT命令確認(rèn)郵件是否接收到。如果SMTP接收者接收,則返回OK應(yīng)答;如果不能接收到,則發(fā)出拒絕接收應(yīng)答(但不中止整個郵件操作),雙方將如此重復(fù)多次。當(dāng)接收者收到全部郵件后會接收到特別的序列,如果接收者成功處理了郵件,則返回OK應(yīng)答即可。圖3-2SMTP使用模型名稱空間簡介名稱空間(Namespace)System.Web.Mail類庫里所提供的郵件發(fā)送的對象、屬性和方法它有三個類:SmtpMail、MailMessage和MailAttachment。(1)MailMessage:提供屬性和方法來創(chuàng)建一個郵件消息對象。(Providespropertiesandmethodsforconstructingane-mailmessage.)

(2)MailAttachments:提供屬性和方法來創(chuàng)建一個郵件附件對象。(Providespropertiesandmethodsforconstructingane-mailattachment.)

(3)SmtpMail:提供屬性和方法通過使用windows2000CDOSYS

的消息組件的聯(lián)合數(shù)據(jù)對象來發(fā)送郵件消息)。(ProvidespropertiesandmethodsforsendingmessagesusingtheCollaborationDataObjectsforWindows2000(CDOSYS)messagecomponent)

。各個類的屬性簡介:From發(fā)送郵件的地址;To接受郵件的地址;Subject郵件的標(biāo)題;Priority郵件的優(yōu)先級(有效值為High,Low,Normal);Attachments返回一個集合,代表附件;Bcc密送地址;Cc抄送地址;獲取或是設(shè)置電子郵件消息的內(nèi)容。BodyFormat獲取或是設(shè)置MailFormat的枚舉值,此值指定消息體郵件的格式(Html格式、Text格式);Bodyencoding指定消息的編碼方式編碼(主要有Base64,UUencode)

。SmtpMail類的Send方法,它的目的就是發(fā)送郵件,有兩個重載方法。

(1)SmtpMail.Send("發(fā)送郵件的地址","接受郵件的地址","郵件的標(biāo)題","郵件消息的內(nèi)容")這個方法很簡單,不適合發(fā)送帶附件的郵件。(2)SmtpMail.Send(MailMessage)

此方法復(fù)雜、靈活,適合發(fā)送附件,而且可以設(shè)置MailMessage對象的各種屬性值。如果我們用ASP.NET寫一個郵件發(fā)送的程序,那么首先應(yīng)該如何得到SMTP。有兩種方法:第一種方法調(diào)用目前知名的郵件服務(wù)提供商的SMTP,比如新浪、搜狐、網(wǎng)易的免費電子郵箱的SMTP;第二種方法是自己裝一個SMTP虛擬服務(wù)器,這個在安裝IIS時一起裝上去的。VFW體系結(jié)構(gòu)簡介與技術(shù)在Wondows平臺下開發(fā)的視頻應(yīng)用程序一般采用兩種主要形式:一、基于視頻采集卡附帶的二次軟件開發(fā)包SDK(SoftwareDevelopmentKit)進(jìn)行。這種方式的優(yōu)點是方便、容易上手,適于初學(xué)者;缺點是對硬件的依賴性較強(qiáng)、靈活性差,且功能參差不齊,不能充分滿足各種視頻應(yīng)用程序的開發(fā)需求。二、另一種基于VFW(VideoforWindows)進(jìn)行。VFW

是Microsoft公司為開發(fā)Windows平臺下的視頻應(yīng)用程序提供的軟件工具包,提供了一系列應(yīng)用程序編程接口(API),用戶可以通過這些接口很

方便地實現(xiàn)視頻捕獲、視頻編輯及視頻播放等通用功能,還可利用回調(diào)函數(shù)開發(fā)比較復(fù)雜的視頻應(yīng)用程序。該技術(shù)的特點是播放視頻時不需要專用的硬件設(shè)備,而且

應(yīng)用靈活,可以滿足視頻應(yīng)用程序開發(fā)的需要。Windows操作系統(tǒng)自身就攜帶了VFW技術(shù),系統(tǒng)安裝時,會自動安裝VFW的相關(guān)組件。VFW技術(shù)主要由六個功能模塊組成,下面進(jìn)行簡單說明。(1)AVICAP32.DLL:包含執(zhí)行視頻捕獲的函數(shù),給AVI文件的I/O處理和視頻,音頻設(shè)備驅(qū)動程序提供一個高級接口;(2)MSVIDEO.DLL:包含一套特殊的DrawDib函數(shù),用來處理程序上的視頻操作;(3)MCIAVI.DRV:包括對VFW的MCI命令解釋器的驅(qū)動程序;(4)AVIFILE.DLL:包含由標(biāo)準(zhǔn)多媒體I/O(mmio)函數(shù)提供的更高級的命令,用來訪問.AVI文件;(5)ICM:壓縮管理器,用于管理的視頻壓縮/解壓縮的編譯碼器;(6)ACM:音頻壓縮管理器,提供與ICM相似的服務(wù),適用于波形音頻。圖3-3VFW各模塊間聯(lián)系圖VFW下AVICap基本功能選擇攝像頭捕獲的畫面為視頻源,使用AVICap窗口類來實現(xiàn)視頻的采集。AVICap窗口類是VFW的一個重要的組成部分,它實現(xiàn)的主要功能是視頻的捕獲。AVICap提供給應(yīng)用程序一個簡單的、基于消息的接口去訪問視頻設(shè)備和錄音設(shè)備,并且可以控制處理視頻流的捕獲,滿足了此次課題的需求,并且很容易加入到應(yīng)用程序中,適于二次開發(fā)。AVICap支持實時視頻流捕獲和單幀捕獲。此外,AVICap使程序員可以控制視頻源的開始和結(jié)束位置,并加入了如序列幀捕獲等功能。使用AVICap生成的捕獲窗具有以下功能:(1)將音頻和視頻流捕獲到AVI文件;(2)動態(tài)地連接或斷開音頻和視頻輸入設(shè)備;(3)以疊加(overlay)或預(yù)覽(preview)模式顯示輸入的實時視頻信號;(4)指定捕獲所用的文件,并可將捕獲文件的內(nèi)容拷貝到另一個文件;(5)設(shè)置捕獲速率;(6)顯示控制視頻源和視頻格式的對話框;(7)創(chuàng)建,保存和載入對話框;(8)將圖像和調(diào)色板拷貝到剪貼板;(9)捕獲和保存DIB格式單幀圖像。通過檢查CAPDRIVERCAPS結(jié)構(gòu)來獲取捕獲驅(qū)動器的能力,并通過AVICap提供的VideoSource,VideoFormat,VideoDisplay對話框來對捕獲參數(shù)進(jìn)行設(shè)置。AVICap在顯示視頻時提供的兩種模式:預(yù)覽(Preview)模式:該模式使用CPU資源,視頻幀先從捕獲硬件傳到系統(tǒng)內(nèi)存,接著采用GDI函數(shù)在捕獲窗中顯示。在物理上,這種模式需要通過VGA卡在監(jiān)視器上顯示。疊加(Overlay)模式:該模式使用硬件疊加進(jìn)行視頻顯示,疊加視頻的顯示不經(jīng)過VGA卡,疊加視頻的硬件將VGA的輸出信號與其自身的輸出信號合并,形成組合信號顯示在計算機(jī)的監(jiān)視器上。只有部分視頻捕獲卡才具有視頻疊加能力。基于VFW實現(xiàn)C#控制攝像頭需要手動另起一個線程。定義一個叫AviCapture.cs的類,用于引入avicap32.dll以及相關(guān)的內(nèi)容。在avicap32.dll中,CAPTUREPARMS結(jié)構(gòu)里有一個fYield,表示另起線程標(biāo)志位,如果為真,則程序重新啟動一個線程用于視頻流的捕獲,默認(rèn)值是假。在AviCapture這個類的基礎(chǔ)上定義一個叫Video的類,實現(xiàn)如打開攝像頭、關(guān)閉攝像頭、開始錄像、結(jié)束錄像、拍照片等操作。常用的數(shù)據(jù)結(jié)構(gòu)用VFW編寫的視頻捕捉程序,往往要用到以下四個與視頻捕捉相關(guān)的數(shù)據(jù)結(jié)構(gòu):(1)CAPSTATUS:定義捕獲窗口的當(dāng)前狀態(tài),如圖像的寬、高等;(2)CAPDRIVERCAPS:設(shè)置捕獲設(shè)備所擁有的功能能,如有無視頻疊加能力、有無控制視頻源、視頻格式的對話框等;(3)CAPTUREPARMS:包含控制視頻流捕獲過程的參數(shù),如捕獲幀頻、指定鍵盤或鼠標(biāo)鍵以種植捕獲,捕獲的時間限制等;(4)VIDEOHDR:定義視頻數(shù)據(jù)塊的頭信息,在編寫回調(diào)函數(shù)時常用到其數(shù)據(jù)成員lPData(指向數(shù)據(jù)緩存的指針)和dwBuferLength(數(shù)據(jù)緩存大?。?。其中,前三種結(jié)構(gòu)都有相應(yīng)的函數(shù)來設(shè)置和獲取該結(jié)構(gòu)包含的信息。設(shè)置視頻設(shè)備的屬性CAPTUREPARMS數(shù)據(jù)結(jié)構(gòu)包括了視頻流的控制參數(shù),通過設(shè)置captureParms結(jié)構(gòu)變量的各個成員變量,可以控制設(shè)備的采樣頻率、中斷采樣按鍵、狀態(tài)行為等。它允許完成以下任務(wù):(1)指定幀速度(FrameRate);(2)指定視頻分配的內(nèi)存大?。唬?)關(guān)閉或打開音頻捕獲;(4)設(shè)定捕獲的時間間隔;(5)指定捕獲設(shè)備(MCI設(shè)備、VCR或者影碟);(6)指定結(jié)束捕獲的鍵盤或鼠標(biāo)操作;(7)指定使用的視頻類型。向視頻捕獲窗體發(fā)送WM_CAP_GET_SEQENCE_SETUP消息或者使用宏函數(shù)capCaptureGetSetup,可以獲得一個CAPTUREPARMS數(shù)據(jù)結(jié)構(gòu)的對象,當(dāng)前連接的視頻設(shè)備信息就保存在這個結(jié)構(gòu)體對象里面,此對象的成員變量可以根據(jù)系統(tǒng)需要進(jìn)行修改。修改完畢后,發(fā)送WM_CAP_SET_SEQUENCE_SETUP消息給捕獲窗體,并把這個CAPTUREPARMS對象作為傳送參數(shù),或者使用宏capCaptureSetSetup,就可使修改的設(shè)置生效。之后還可以用capPreviewScale、capPreviewRate等函數(shù)設(shè)置預(yù)覽的比例與速度,直接使用設(shè)備的默認(rèn)值也能滿足大部分的系統(tǒng)需求。回調(diào)函數(shù)對采集的視頻數(shù)據(jù)進(jìn)行實時處理時需要用到回調(diào)函數(shù)。在窗口過程、鉤子過程、異步過程都需要調(diào)用回調(diào)函數(shù),在整個回調(diào)過程中自始至終地使用回調(diào)方法?;卣{(diào)函數(shù)是一類特殊的函數(shù),其功能類似于中斷函數(shù),其調(diào)動過程由系統(tǒng)完成,而回調(diào)函數(shù)的具體內(nèi)容則由用戶自己設(shè)定。開發(fā)者可以注冊回調(diào)函數(shù)方法以獲得加載/卸載通知,未處理異常通知、數(shù)據(jù)庫/窗口狀態(tài)修改通知、文件系統(tǒng)修改通知、菜單項選擇、完成的異步操作通知、過濾一組條目等。在系統(tǒng)中,當(dāng)每一回調(diào)函數(shù)被設(shè)定后,并且滿足某一特定條件時,系統(tǒng)將自動調(diào)用該回調(diào)函數(shù)。VFW的回調(diào)函數(shù)主要包括狀態(tài)回調(diào)、錯誤回調(diào)和視頻回調(diào)。兩個宏函數(shù)簡要介紹如下:(1)capSetCallbackOnFranme(hWnd,fpFrameProc),注冊幀回調(diào)函數(shù)。只要一啟動視頻捕獲,當(dāng)一幀結(jié)束后它就理科產(chǎn)生同步動作,而究竟是哪一個回調(diào)函數(shù)響應(yīng),則由登記在設(shè)置宏函數(shù)中的fpFrameProc參數(shù)來決定。此響應(yīng)是一幀一幀地在同一個緩沖區(qū)內(nèi)進(jìn)行刷新。另外回調(diào)函數(shù)要提前定義,即在程序頭部進(jìn)行定義。(2)capSetCallbackonVideoStream(hwnd,fpVideoProc)。與capSetCallbackOnFranme不同的是,它要和capCaptureSequenceNoFile(hWnd)或capCaptureSequence(hwnd)配合使用,當(dāng)其中一個被執(zhí)行后,回調(diào)動作才會產(chǎn)生。此想聽同樣是一幀結(jié)束后邊產(chǎn)生回調(diào),但每次數(shù)據(jù)都追加在上一幀數(shù)據(jù)的后面,知道所分配的數(shù)據(jù)緩沖區(qū)用完為止。WindowsAPI簡介C#開發(fā)Windows應(yīng)用程序的兩種主要方法為:使用WindowsAPI(ApplicationProgrammingInterface,應(yīng)用程序編程接口)函數(shù),利用MFC(MicrosoftFoundationClass,微軟基礎(chǔ)類庫)類庫。WindowsAPI就是操作系統(tǒng)留給應(yīng)用程序的一個調(diào)用接口,應(yīng)用程序通過調(diào)用操作系統(tǒng)的API而使操作系統(tǒng)去執(zhí)行應(yīng)用程序的命令(動作)。WindowsAPI是一套用來控制Windows的各個部件的外觀和行為的預(yù)先定義的Windows函數(shù)。用戶的每個動作都會引發(fā)一個或幾個函數(shù)的運行以告訴Windows發(fā)生了什么。API函數(shù)包含在Windows系統(tǒng)目錄下的動態(tài)連接庫文件中[10]。應(yīng)用程序接口為:“‘計算機(jī)操作系統(tǒng)(Operatingsystem)’或‘程序庫’提供給應(yīng)用程序調(diào)用使用的代碼”。其主要目的是讓應(yīng)用程序開發(fā)人員得以調(diào)用一組例程功能,而無須考慮其底層的源代碼為何、或理解其內(nèi)部工作機(jī)制的細(xì)節(jié)。API本身是抽象的,它僅定義了一個接口,而不涉入應(yīng)用程序如何實現(xiàn)的細(xì)節(jié)。WindowsAPI所提供的功能可以歸為七類:1. 基礎(chǔ)服務(wù)(BaseServices),提供對Windows系統(tǒng)可用的基礎(chǔ)資源的訪問接口。比如象:文件系統(tǒng)(filesystem)、外部設(shè)備(device)、進(jìn)程(process)、線程(thread)以及訪問注冊表(Windowsregistry)和錯誤處理機(jī)制(errorhandling)。這些功能接口位于,16位Windows下的kernel.exe、krnl286.exe或krnl386.exe系統(tǒng)文檔中;以及32位Windows下的kernel32.dll和advapi32.dll中。2. 圖形設(shè)備接口(GDI),提供功能為:輸出圖形內(nèi)容到顯示器、打印機(jī)以及其他外部輸出設(shè)備。它位于16位Windows下的gdi.exe;以及32位Windows下的gdi32.dll。3. 圖形化用戶界面(GUI),提供的功能有創(chuàng)建和管理屏幕和大多數(shù)基本控件(control),比如按鈕和滾動條。接收鼠標(biāo)和鍵盤輸入,以及其他與GUI有關(guān)的功能。這些調(diào)用接口位于:16位Windows下的user.exe,以及32位Windows下的user32.dll。從WindowsXP版本之后,基本控件和通用對話框控件(CommonControlLibrary)的調(diào)用接口放在comctl32.dll中。4. 通用對話框鏈接庫(CommonDialogBoxLibrary),為應(yīng)用程序提供標(biāo)準(zhǔn)對話框,比如打開/保存文檔對話框、顏色對話框和字體對話框等等。這個鏈接庫位于:16位Windows下的commdlg.dll中,以及32位Windows下comdlg32.dll中。它被歸類為UserInterfaceAPI之下。5. 通用控件鏈接庫(CommonControlLibrary),為應(yīng)用程序提供接口來訪問操作系統(tǒng)提供的一些高級控件。比如像:狀態(tài)欄(statusbar)、進(jìn)度條(progressbars)、工具欄(toolbar)和標(biāo)簽(tab)。這個鏈接庫位于:16位Windows下的commctrl.dll中,以及32位Windows下comctl32.dll中。它被歸類為UserInterfaceAPI之下。6. Windows外殼(WindowsShell),作為WindowsAPI的組成部分,不僅允許應(yīng)用程序訪問Windows外殼提供的功能,還對之有所改進(jìn)和增強(qiáng)。它位于16位Windows下的shell.dll中,以及32位Windows下的shell32.dll中(Windows95則在shlwapi.dll中)。它被歸類為UserInterfaceAPI之下。7. 網(wǎng)絡(luò)服務(wù)(NetworkServices),為訪問操作系統(tǒng)提供的多種網(wǎng)絡(luò)功能提供接口。它包括NetBIOS、Winsock、NetDDE及RPC等。本章小結(jié)本章主要介紹了軟件設(shè)計過程中運用到的相關(guān)理論與技術(shù)。先是對視頻監(jiān)控系統(tǒng)做了簡單的介紹再針對現(xiàn)下較為流行的視頻監(jiān)控技術(shù)手段做了簡單的介紹,有背景減除法、時間差分法、光流法。并簡要分析了這幾種算法的優(yōu)缺點。同時對RGB顏色空間和SMTP郵件的基礎(chǔ)知識進(jìn)行了解,為后面的軟件的設(shè)計與實現(xiàn)提供了一定的依據(jù)。第四章軟件實現(xiàn)第四章軟件實現(xiàn)第四章軟件實現(xiàn)軟件總體實現(xiàn)課題主要的任務(wù)為開發(fā)一套基于視頻場景分析的敏感區(qū)域入侵檢測軟件,主要功能包括:檢測參數(shù)設(shè)置、場景圖像采集、異常場景元素提取、場景元素判別、異常入侵報警等功能。充分考慮到課題的需求,筆者將分為以下三個環(huán)節(jié)介紹軟件具體的實現(xiàn)過程。1.視頻內(nèi)容捕獲的實現(xiàn);2.視頻內(nèi)容識別的實現(xiàn);3.報警功能的設(shè)計與實現(xiàn)。軟件各模塊說明視頻內(nèi)容捕獲實現(xiàn)視頻捕獲是指由專用的視頻采集卡捕獲視頻、圖像等信息,再將獲得的視頻數(shù)據(jù)進(jìn)行數(shù)字化操作,然后可以針對這些數(shù)據(jù)進(jìn)行保存、修改、傳輸、回放等各項操作。視頻的捕獲并顯示是此次課題實現(xiàn)的關(guān)鍵步驟,關(guān)系到后續(xù)關(guān)于視頻處理的一系列操作。能否準(zhǔn)確有效地捕獲指定的監(jiān)控敏感區(qū),進(jìn)而實現(xiàn)精確的數(shù)據(jù)獲取、分析和處理。在此次課題中,由于資金有限,將采取在本地直接調(diào)用筆記本攝像頭的開閉實現(xiàn)視頻的捕獲[11]。根據(jù)不同的應(yīng)用需求,可以將視頻幀采集到文件中或者緩存直接加以處理。利用VFW獲取實時視頻數(shù)據(jù)時,通常使用回調(diào)機(jī)制來獲得實時數(shù)據(jù)緩沖區(qū)的首址和長度,從而獲得視頻數(shù)據(jù),實現(xiàn)視頻的實時處理。在此次課題中,由于是實現(xiàn)實時的入侵監(jiān)控和報警,并且提供郵件發(fā)送的功能,郵件附帶入侵的視頻數(shù)據(jù)截圖,那么考慮到文件傳輸?shù)乃俣群头€(wěn)定性,將主要以捕獲視頻圖像為主。圖4-1視頻捕獲軟件實現(xiàn)流程具體實現(xiàn)過程如下:(1)創(chuàng)建視頻捕獲窗口捕獲窗口是所有捕獲操作的基礎(chǔ),其構(gòu)造要調(diào)用:publicCameraClass(IntPtrhandle,intleft,inttop,intwidth,intheight){mControlPtr=handle;mWidth=width;mHeight=height;mLeft=left;mTop=top;}(2)將捕獲窗口與視頻捕獲驅(qū)動相連BOOLfOK;fOK=capDriverConnect(ghWndCap,0);if(!fOK){//無法將指定的視頻捕獲驅(qū)動連接到捕獲窗//在此加入錯誤處理}(3)獲得捕獲驅(qū)動器的能力capDriverGetCaps(hwndCap,&gCapDriverCaps,sizeof(CAPDRIVERCAPS));其中,gCapDriverCaps是由CAPDRIVERCAPSgCapDriverCaps;定義的。CAPDRIVERCAPS結(jié)構(gòu)定義了捕獲驅(qū)動器的能力,如有無視頻疊加能力,有無控制視頻源、視頻格式的對話框等。執(zhí)行capDriverGetCaps語句后,gCapDriverCaps中就獲得了與當(dāng)前捕獲窗相連的捕獲驅(qū)動的各項能力,要根據(jù)該捕獲驅(qū)動的能力來實現(xiàn)視頻的顯示和捕獲。(4)顯示視頻由于疊加模式只被部分視頻捕獲卡支持,而大部分視頻捕獲設(shè)備都支持預(yù)覽模式,我們用預(yù)覽(preview)模式顯示視頻:capPreviewRate(ghWndCap,66);//設(shè)置顯示幀率capPreview(ghWndCap,TRUE);//開始預(yù)覽顯示要停止預(yù)覽可用:capPreview(ghWndCap,FALSE);用疊加模式顯示視頻的方法相似,只是所用函數(shù)應(yīng)為capOverlay。(5)進(jìn)行視頻捕獲視頻捕獲主要有兩種模式,連續(xù)視頻流捕獲和單幀捕獲。在進(jìn)行視頻捕獲之前要指定捕獲文件名并為捕獲文件分配存儲空間。publicvoidSaveImage(stringpath){IntPtrhBmp=Marshal.StringToHGlobalAnsi(path);SendMessage(hWndC,WM_CAP_SAVEDIB,0,hBmp.ToInt32());}(6)結(jié)束,將捕獲窗同驅(qū)動斷開連接publicvoidStop(){SendMessage(hWndC,WM_CAP_DRIVER_DISCONNECT,0,0);bStat=false;}這一步在結(jié)束視頻捕獲程序時是必須的,否則將導(dǎo)致視頻驅(qū)動無法釋放,其它程序?qū)⒉荒苁褂貌东@設(shè)備。利用函數(shù)capOverlay選擇采用疊加模式預(yù)覽,從而減小系統(tǒng)資源的占用率,加快了視頻的加載速度。之后使用capPreview啟動預(yù)覽功能,這時就可以在屏幕上顯示出整個界面窗口,并可以看到指示燈亮攝像頭被打開,屏幕上顯示攝像頭攝入的視頻內(nèi)容。一個程序可以為捕獲窗口登記多個回調(diào)函數(shù),以便在以下幾種情況發(fā)生時通知程序作出相應(yīng)的應(yīng)對操作:(1)狀態(tài)改變;(2)錯誤發(fā)生;(3)視頻框架緩沖區(qū)變?yōu)榭捎?;?)應(yīng)用程序在捕獲視頻流過程中接收到數(shù)據(jù)。通過以上幾個步驟就可以建立一個基本的視頻捕獲程序,之后需要使用捕獲窗口的回調(diào)函數(shù),獲取每一幀的視頻數(shù)據(jù),以供之后進(jìn)行視頻內(nèi)容的操作處理。至此,視頻數(shù)據(jù)顯示、采集功能已基本實現(xiàn)[12]。打開后的視頻捕獲窗口如下圖所示:圖4-2啟動攝像頭監(jiān)控程序

視頻內(nèi)容識別實現(xiàn)此次課題是基于視頻敏感區(qū)內(nèi)容的識別,目標(biāo)的檢測與跟蹤就是把物體提取出來,對其進(jìn)行識別并獲取其相關(guān)信息的過程。在智能視頻監(jiān)控系統(tǒng)中,物體檢測和跟蹤是提高系統(tǒng)智能性的關(guān)鍵技術(shù)。因此此次課題的重點則是實現(xiàn)視頻內(nèi)容的識別,筆者在綜合考慮各方面的因素之后,采取了通過對比視頻當(dāng)前畫面和背景畫面的顏色變化的方式來判別是否為有害入侵。確定了基于顏色的敏感入侵檢測,設(shè)定了色差、限差兩個參數(shù)的維度來判斷入侵是否有害,這兩個參數(shù)取值范圍均為0—100區(qū)間,用戶可以根據(jù)自身的需求自定義。(1)設(shè)置監(jiān)控對比圖形首先用戶需在攝像頭開啟狀態(tài)下,通過點擊“設(shè)置監(jiān)控對比圖形”來設(shè)置背景圖像。用戶可以根據(jù)自身的需求設(shè)定監(jiān)控對比圖形,這一功能的開放,使得該攝像頭監(jiān)控程序可運用的范圍大大增加。圖4-3CaptureScreenClass類圖CaptureScreenClass類包含三個參數(shù),BitBlt、CreateDC、GetScreenImage。其中GetScreenImage是捕捉當(dāng)前屏幕圖像的關(guān)鍵類,也是設(shè)置監(jiān)控對比圖形的基礎(chǔ)。publicstaticBitmapGetScreenImage(Pointpoint01,Pointpoint02,boolfull){//創(chuàng)建顯示器的DCIntPtrdc1=CreateDC("DISPLAY",null,null,(IntPtr)null);//由一個指定設(shè)備的句柄創(chuàng)建一個新的Graphics對象Graphicsg1=Graphics.FromHdc(dc1);BitmapMyImage;intwidth,height;if(full){width=Screen.PrimaryScreen.Bounds.Width;height=Screen.PrimaryScreen.Bounds.Height;}else{width=point02.X-point01.X;height=point02.Y-point01.Y;}//根據(jù)指定的寬度和高度創(chuàng)建一個與之相同大小的Bitmap對象MyImage=newBitmap(width,height,g1);//獲得屏幕的句柄Graphicsg2=Graphics.FromImage(MyImage);//獲得位圖的句柄IntPtrdc3=g1.GetHdc();//把當(dāng)前屏幕捕獲到位圖對象中IntPtrdc2=g2.GetHdc();//把當(dāng)前屏幕拷貝到位圖中BitBlt(dc2,0,0,width,height,dc3,point01.X,point01.Y,13369376);//釋放屏幕句柄g1.ReleaseHdc(dc3);//釋放位圖句柄g2.ReleaseHdc(dc2);returnMyImage;}設(shè)置好監(jiān)控對比圖形之后,程序自動將圖形保存在debug文件目錄下,命名為BASE。實現(xiàn)語句如下:privatevoid設(shè)置監(jiān)控對比圖形button_Click(objectsender,EventArgse){camera.SaveImage("BASE.bmp");}(2)色差、限差、監(jiān)控間隔、延遲時間等參數(shù)設(shè)定。設(shè)置好監(jiān)控對比圖形之后,可以就自身需求設(shè)定參數(shù)值,以期達(dá)到最佳的監(jiān)控效果。參數(shù)的設(shè)定給出了監(jiān)控的彈性范圍,降低系統(tǒng)因過度敏感發(fā)生誤報,或是敏感度不夠造成漏報的現(xiàn)象。①色差設(shè)定。為了防止因為細(xì)微的環(huán)境變化而導(dǎo)致誤報的現(xiàn)象,因此需要一定的閾值范圍來判斷畫面是否發(fā)生變化。當(dāng)圖像變化的顏色差值大于該色差值時,判斷有可能出現(xiàn)變化,該值越小則要求圖像變化越小,即要求越嚴(yán)格。stringtempStr;tempStr=ini.ReadValue("Values","色差");inttempInt;if(int.TryParse(tempStr,outtempInt)){LimitedValue=tempInt;colorTrackBar.Value=tempInt;limitedColorlabel.Text=tempInt.ToString();}②限差設(shè)定。限差用于控制圖像中變化比率ratio,當(dāng)超過該值時開始報警,即當(dāng)圖像出現(xiàn)ratio%的變化時程序認(rèn)為出現(xiàn)異常,該值越小要求圖像變化越小。tempStr=ini.ReadValue("Values","限差");if(int.TryParse(tempStr,outtempInt)){LimitedRatio=(double)tempInt/100;ratioTrackBar.Value=tempInt;ratiolabel.Text=tempInt.ToString();}③監(jiān)控間隔設(shè)定。監(jiān)控間隔即每隔多長時間進(jìn)行一次監(jiān)控分析。最小值為100ms,值越小,其監(jiān)控分析的頻率越高,同時CPU使用率越高。privatevoidmonitortrackBar_Scroll(objectsender,EventArgse){MonitorTime=monitortrackBar.Value;monitorlabel.Text=monitortrackBar.Value.ToString();if(ini!=null)ini.WriteValue("Values","監(jiān)控間隔",monitortrackBar.Value.ToString());monitorTimer.Interval=monitortrackBar.Value*100;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論