丁涌 蘇瑀浵 王鑫 王慧敏
摘要:該視頻監(jiān)控系統(tǒng)通過LabVIEW和IP攝像頭實現(xiàn)視頻監(jiān)察功能。它的設(shè)計思路主要分為圖像處理,視頻播放以及視頻監(jiān)控系統(tǒng)的生成。圖像處理部分又分為圖像采集,壓縮保存和優(yōu)化處理。其中壓縮保存是重點,選用AVI編碼與解碼進行視頻文件壓縮,最終實現(xiàn)一個具有視頻的實時監(jiān)控與播放的功能的視頻監(jiān)控系統(tǒng)。
關(guān)鍵詞:LabVIEW;視頻監(jiān)控;圖像采集;壓縮保存
中圖分類號:TP3 ? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)31-0117-03
當今社會,視頻監(jiān)控行業(yè)作為國家安全防范領(lǐng)域的核心產(chǎn)業(yè),其利潤可觀,從2010年的新興產(chǎn)業(yè),年利潤達300億元,到現(xiàn)如今的主要產(chǎn)業(yè),年利潤突破千億元,并且,該行業(yè)的發(fā)展還在邁向新的高度,智能化的發(fā)展已經(jīng)是發(fā)展的必然趨勢。就目前視頻監(jiān)控系統(tǒng)在各行各業(yè)中應(yīng)用來分析,其使用范圍廣泛,大至大型的活動商場與車站,小至個人的店鋪或定點實驗研究;其研究方向?qū)崟r更新,例如近年來興起的人臉識別,車牌識別等技術(shù)[1]??梢哉f,視頻監(jiān)控已經(jīng)已融入人們的生產(chǎn)生活當中,并且其作用還在持續(xù)更新,已經(jīng)成為人們財產(chǎn)與利益的強力保障。
本文設(shè)計一個視頻監(jiān)控系統(tǒng),通過采用LabVIEW的運動與視覺模塊進行編程,開發(fā)出一個以計算機虛擬儀器為核心的視頻監(jiān)控系統(tǒng),完成基本的視頻圖像采集,處理與播放功能。
1 總體設(shè)計方案
本論文是基于LabVIEW的視頻監(jiān)控系統(tǒng)的設(shè)計,利用LabVIEW完成視頻監(jiān)控系統(tǒng)的程序設(shè)計,結(jié)合IP網(wǎng)絡(luò)攝像頭[2],達到軟硬件相結(jié)合的目標,進而實現(xiàn)整個視頻監(jiān)控系統(tǒng)的設(shè)計。視頻監(jiān)控系統(tǒng)主要是視頻圖像處理和視頻播放,其中,圖像處理包括視頻圖像的采集,視頻圖像的壓縮,視頻圖像的時間文本添加。最后生成系統(tǒng)軟件。系統(tǒng)設(shè)計流程圖如圖1所示:
2 視頻圖像處理
2.1 視頻圖像采集
本次設(shè)計選擇IP網(wǎng)絡(luò)攝像頭作為圖像采集的硬件,基于LabVIEW視覺與運動模塊,進行圖像采集軟件部分的編程。分析視頻圖像是一幀一幀的錄入,選擇while循環(huán)語句;圖像信息經(jīng)過緩存處理后,最終顯示到Image Display面板上。該部分的重點是視頻采集,因此,選擇IMAQdx Open Camera VI函數(shù)控件進行攝像頭的選擇。其具體功能程序面板及前面板如圖2所示。端口Session In進行常量選擇,選擇cam0,代表調(diào)用IP網(wǎng)絡(luò)攝像頭。Error In用于描述此VI或函數(shù)運行時的錯誤狀態(tài)。正常運行時是顯示無錯誤狀態(tài),發(fā)生錯誤時,該函數(shù)控件會輸出報錯警示;只有在VI或函數(shù)運行前無錯誤時此VI或函數(shù)才能正常運行。Error Out即錯誤出包含錯誤信息。
2.2 視頻圖像壓縮
經(jīng)過視頻圖像采集后,由于圖像數(shù)據(jù)的內(nèi)容過大,無法進行后續(xù)的播放處理,因此,要對視頻圖像進行壓縮處理,基于LabVIEW的平臺,選擇AVI編碼與解碼處理,壓縮視頻圖像信息。在此過程中,還要注意壓縮圖像獲得的編碼器名稱,目的是方便后期解碼播放,編碼器輸入不正確,整個壓縮處理就會失敗。因此,選擇IMAQ AVI2 Get CodecNames VI,記錄每次壓縮圖像數(shù)據(jù)所需的編碼器名稱。
該部分的核心是AVI壓縮技術(shù),它包括AVI編碼與解碼,分別對應(yīng)IMAQ AVI2 Write Frame VI和IMAQ AVI2CreateVI控件[3]。IMAQ AVI2 Write Frame VI控件功能是幀寫入,相當于AVI編碼技術(shù),其功能端口如圖4所示,AVI Refnum是從IMAQ AVI2 Create VI中獲得視頻相關(guān)設(shè)置,將每一幀的圖像寫入創(chuàng)建視頻所設(shè)置的位置,Image是將圖像采集部分IMAQdx Grab2 VI輸出每一幀的圖像按順序逐個傳入到該函數(shù),使監(jiān)控畫面按順序?qū)⒚繋嬅鎸懭胗脖P中。IMAQ AVI2CreateVI控件的作用是對AVI文件進行路徑保存與訪問。其功能端口如圖5所示,AVI Path是AVI壓縮文件的訪問指令單元,包括文件的完整路徑和名稱。此路徑可以由用戶或從文件對話框VI的LabVIEW提供。Frames Per Second是所選擇每秒的幀數(shù)以用播放AVI。
2.3 視頻圖像優(yōu)化處理
由于采集和壓縮,保存后的視頻圖像過于單調(diào),結(jié)合以往視頻監(jiān)控的實例,進行了給視頻圖像添加時間文本的簡單優(yōu)化處理,使保存的視頻文件能夠同時記錄視頻拍攝的時間。使用IMAQ Draw Text VI 控件將獲取的時間添加至圖像上。其功能端口如圖5所示。創(chuàng)建color常量,本次設(shè)計選擇Black on White。
2.4 視頻播放設(shè)計
視頻圖像的壓縮和保存以及添加時間文本后,在LabVIEW中的視頻監(jiān)控系統(tǒng)中添加一個播放器,打開播放器就可以選擇保存的監(jiān)控錄像進行播放。在本環(huán)節(jié)中我選擇了LabVIEW中自帶的WindowsMediaPlayer播放器完成視頻的播放任務(wù),同時又下載了相應(yīng)的視頻解碼軟件,使得AVI格式的視頻文件可以正常播放出來。
該部分核心是播放機器的建立,選擇LabVIEW自帶的播放器WindowsMediaPlayer,它的創(chuàng)建可有兩種方式,一種是直接在Net和ActivesX模塊中直接選擇WindowsMediaPlayer,另一種是通過選擇ActivesX容器模塊,右鍵單擊并選擇“插入ActivesX事件”,選擇WindowsMediaPlayer。
2.5 視頻監(jiān)控系統(tǒng)生成
為方便每次的視頻監(jiān)控,進行了視頻監(jiān)控的labview的軟件生成,方便每次視頻監(jiān)控的打開與檢測。具體流程如下:生成EXE文件→SETUP安裝文件。生成安裝圖標如圖8所示。
3 實驗結(jié)果
生成視頻監(jiān)控程序軟件后,打開軟件即可進行視頻監(jiān)控。分為兩個窗口,視頻采集窗口是進行視頻圖像信息的采樣與壓縮保存,視頻播放窗口是進行視頻的播放,根據(jù)選擇的路徑不同,可以播放不同的視頻文件,也可以對同一個視頻文件進行刷新處理,記錄最近時間段的視頻內(nèi)容。
視頻圖像采集時,自動生成相應(yīng)的AVI編碼,并由IMAQ AVI2 Get CodecNames VI控件將生成的編碼列表記錄下來,點擊停止按鈕就可以結(jié)束視頻采集部分,如下圖9所示。視頻播放時,由于WindowsMediaPlayer的功能較為齊全,只需選擇不同路徑的文件就可以實現(xiàn)不同視頻播放的目的。
參考文獻:
[1] 楊慧聞,張嘉琪.基于LabVIEW的實時監(jiān)控視頻調(diào)用的三種模型研究[J].電腦知識與技術(shù),2020,16(36):238-242.
[2] 張?zhí)m勇.LabVIEW 程序設(shè)計基礎(chǔ)與提高[M].:,2012.
[3] 詹程城.基于Linux的無線視頻監(jiān)控系統(tǒng)設(shè)計[D].桂林:廣西師范大學(xué),2018.
【通聯(lián)編輯:朱寶貴】
收稿日期:2021-05-25
作者簡介:丁涌(1999—),本科在讀;蘇瑀浵(2001—),本科在讀;王鑫(2001—),本科在讀;通信作者:王慧敏,女,講師。