劉瑞男 劉建國 付天舒
摘 要:在開發(fā)監(jiān)控軟件前,需要驗證圖像處理算法的正確行和可行性,但直接調用微機和攝像設備的底層硬件比較復雜。這里介紹一種通過Matlab軟件設計USB接口的視頻監(jiān)控方案。經實驗驗證,這種方法簡單易行,非常適合做監(jiān)控與圖像處理算法的前期驗證工作。
關鍵詞:Matlab;USB接口;視頻監(jiān)控;圖形用戶界面
1 視頻監(jiān)控技術
視頻監(jiān)控是保障社會生活與生產安全的重要方法,通常視頻監(jiān)控由監(jiān)視設備、傳輸設備、存儲單元、控制單元和顯示設備設備組成。按技術發(fā)展分類,可分為:第一代模擬監(jiān)控系統(tǒng)、第二代數字化硬盤監(jiān)控系統(tǒng)和第三代網絡遠程監(jiān)控系統(tǒng)。模擬監(jiān)控系統(tǒng)結構復雜、設備繁多,特別是在需要遠距離傳輸時,架設成本高。第二代數字化硬盤監(jiān)控系統(tǒng)可以通過現(xiàn)有的電信通信網絡傳輸數據,解決了遠距離傳輸問題,但實時性差、延時長、多路實時監(jiān)控困難。第三代網絡遠程監(jiān)控系統(tǒng)利用圖像處理技術、嵌入式技術和寬帶網絡把監(jiān)控中心和監(jiān)控終端目標融合為一個整體,實現(xiàn)了監(jiān)控的遠程化、實時化和集成化。
由于第三代網絡遠程監(jiān)控系統(tǒng)的興起,視頻監(jiān)控的開發(fā)方案也變得多樣化、平臺化。以前開發(fā)視頻監(jiān)控系統(tǒng)的開發(fā)難度較高,其是純硬件開發(fā)或利用調用硬件能力強的少量上位機開發(fā)軟件開發(fā),如VC++等,硬件接口包括復合視頻接口、二分量視頻接口、色差分量視頻接口、VGA接口和DVI接口。現(xiàn)在可以在PC平臺上利用通用的USB接口進行視頻通信,開發(fā)軟件也有更多的選擇,這樣就降低了開發(fā)和調試工作的難度,更有利于家用和小型監(jiān)控系統(tǒng)的開發(fā)。這里就介紹一種基于Matlab軟件的USB接口視頻監(jiān)控設計方案。
2 USB接口的驅動
USB接口的全稱是通用串行總線,是一種計算機通信的串口總線標準,具有的熱拔插、體積小、標準統(tǒng)一、可串接的優(yōu)點。Matlab軟件可以對USB接口進行調用,是一款基于矩陣計算的數學軟件,但其具有強大的、多樣的開發(fā)工具箱,利用工具箱可以方便的進行科學研究和工程設計。其也可以設計GUI界面的應用程序,并可以編譯成可執(zhí)行文件,在通用的PC平臺上使用。Matlab工具箱中提供了調用USB攝像頭的命令,如表1所示:
在驅動USB攝像頭之前必須了解它的相關參數,可以通過產品說明書查閱,也可以利用Matlab提供的imaqhwinfo()函數查詢攝像頭參數,包括圖片的默認格式、設備名稱、設備號碼、圖像目標的構建方式、所有可支持的圖像格式和圖像分辨率等等。一般情況下,后面就是視頻圖像的預覽、采集和保存這三個過程。Videoinput(a1,a2,a3)用于建立一個新的視頻對象,參數a1是適配器的名稱,a2是設備號碼,a3是需要采集的視頻格式。利用preview(b1,b2)可以在PC機打開圖像的預覽窗口,參數b1是前面建立的視頻對象,參數b2是預覽窗口中對象的句柄。利用imwrite(c1,c2,c3)命令可以保存矩陣格式的視頻圖像在PC機中,參數c1是待保存的圖像矩陣,參數c2是保存的文件名,c3是圖像文件格式。
3 系統(tǒng)設計與實驗調試
首先要組建硬件平臺,然后在這個平臺的基礎上開發(fā)監(jiān)控軟件,在進行實驗測試,進而完善程序。基礎的硬件平臺很容易組建,只需要一個免驅的USB攝像頭和一臺PC機。圖1是系統(tǒng)結構圖。首先要驅動USB攝像頭,把采集的視頻信息通過USB接口發(fā)送到PC機,PC機進行視頻信號的預處理,再通過圖像處理算法判斷是否達到報警要求,達到報警要求時進行報警。
程序設計要考慮到環(huán)境的背景變化因素。當環(huán)境背景有微弱的明暗變化時,畫面的所有像素亮度值之和就會改變很大,所以要有算法來去除背景環(huán)境的變化因素,去除背景環(huán)境的變化因素的方法是當前計算的RGB像素的變化值之和小于某一值時,忽略這個像素的RGB亮度變化值。在系統(tǒng)運行開始時取一幀圖像作為標準幀圖像,這一幀標準幀圖像用于進行亮度閾值比較。在程序設計時遇到兩個難點,分別是攝像頭分辨率的選取程序和音頻報警程序,這里分別給出關鍵的程序代碼并解釋。在攝像頭分辨率選取程序中用的控件是下拉列表框控件,控件名是popupmenu3,首先用get命令得到popupmenu3控件的所有列表,再用get命令得到popupmenu3控件當前備選的字符的索引號val1,通過索引號val1把當前選的的字符賦給字符串變量m。在使用videoinput命令驅動輸入的視頻設備時使用字符串變量m做為視頻設備的分辨率參數。在播放報警音頻時,首先用wavread命令導入報警聲音文件,然后用audioplayer命令生成生成音頻數據,再用play命令按照剛才生成的音頻數據的固有格式播放報警音頻。
創(chuàng)建Matlab的GUI程序,加入所需控件,寫入程序代碼后,生成視頻監(jiān)控程序。軟件界面如圖2所示,其中分辨率下拉列表框可以選擇攝像頭支持的分辨率,整體閾值參數可以調整報警的靈敏度,整體閾值參數越小,靈敏度越高,單像素像素參數可以調整背景光的影響程度,單像素像素參數越大,越不容易受到背景光的影響。
在實驗時發(fā)現(xiàn)系統(tǒng)剛啟動時由于成像設備有一個亮度偏低的初始狀態(tài),不能把這一時期的某一幀圖像作為標準幀。通過實驗發(fā)現(xiàn)在40幀以后的圖像比較穩(wěn)定,所以可以選擇40幀以后的一幀圖像作為標準幀進行閾值比較。通過實驗發(fā)現(xiàn)單像素參數大于20時,對背景光的抗干擾性比較好,但這一數值也不宜大于50,過大后會影響整體閾值參數的比較結果。
4 結束語
通過實驗可以看出Matlab的軟件工具箱可以非常方便地驅動usb接口攝像頭,也可以驅動聲卡發(fā)出設定的報警聲音。利用其圖形用戶界面設計功能進行監(jiān)控軟件的開發(fā)簡單易行。這種設計方案可以繞過攝像頭和微機的底層硬件驅動工作,在真正開發(fā)監(jiān)控系統(tǒng)之前,非常適合做監(jiān)控與圖像處理算法的前期驗證工作。
參考文獻
[1]李洪.城域視頻監(jiān)控系統(tǒng)事務中心平臺軟件設計[D].杭州:浙江大學,2014.
[2]周燦,余仲秋,張暉.畸變校正與幀差法相結合的運動目標檢測[J].光學技術,2014(6).
[3]鐘彬.視頻監(jiān)控系統(tǒng)及智能視頻監(jiān)控技術分析[J].電子技術與軟件工程,2014(23).
[4]萬宇平,羅曉琴,蔣金峰.微光探測裝置自成暗室設計開發(fā)[J].光學儀器,2014(5).
[5]趙雨境,劉海英.智能家居視頻監(jiān)控系統(tǒng)[J].物聯(lián)網技術,2015(1).