馬征科+鄭衛(wèi)娟
摘要:近年來,隨著流媒體技術(shù)的不斷發(fā)展,視頻監(jiān)控系統(tǒng)的應(yīng)用日益廣泛和深入,基于安卓平臺的移動終端設(shè)備的遠(yuǎn)程視頻監(jiān)控已經(jīng)成為監(jiān)控研究領(lǐng)域的熱點。針對傳統(tǒng)基于Android的視頻監(jiān)控系統(tǒng)的互聯(lián)網(wǎng)接入的局限性,流量過耗大,使用方便性,文章提出了基于視頻監(jiān)測和音頻監(jiān)測的撥號報警,通過對兩種模式的研究,其良好的實用性和簡易性,未來可以更靈活的布置應(yīng)用。
關(guān)鍵詞:Android;撥號報警;視頻監(jiān)控;感知哈希算法
1引言
近年來,視頻監(jiān)控系統(tǒng)經(jīng)歷了從復(fù)雜性應(yīng)用到簡單實用性應(yīng)用的改變,全球手機(jī)端用戶日益增多更是起來關(guān)鍵性作用。尤其是對于Android操作系統(tǒng)的問世,智能技術(shù)的在民用方面的作用日漸凸顯,由于Android是一種以Linux為基礎(chǔ)的開放源碼操作系統(tǒng),這也使得Android能夠提供更好的開發(fā)和調(diào)試環(huán)境,使得用戶獲得更多的擴(kuò)展體驗,通過對安全監(jiān)控系統(tǒng)現(xiàn)狀及發(fā)展趨勢的研究,結(jié)合理論技術(shù)的發(fā)展及監(jiān)控系統(tǒng)性能的需求,還有其良好的開發(fā)性和移植性,未來可以更靈活的布置應(yīng)用,視頻監(jiān)控系統(tǒng)可以實時對獲取畫面進(jìn)行有效監(jiān)控,預(yù)防突發(fā)情況的發(fā)生。文中介紹了一種基于Android平臺的視頻監(jiān)控系統(tǒng),該系統(tǒng)調(diào)用智能終端的視頻和音頻模塊,根據(jù)不同環(huán)境,既可不間斷監(jiān)控,也可在有異常情況時激活這兩個模塊,對可聽、可視范圍內(nèi)的目標(biāo)進(jìn)行監(jiān)控,文章將重點介紹從視頻流中抽取每幀的圖片和兩張圖片進(jìn)行對比的算法。
2系統(tǒng)結(jié)構(gòu)
視頻監(jiān)控系統(tǒng)主要由視頻模塊和音頻模塊組成。
其中視頻模塊主要是由Android智能手機(jī)上的攝像頭采集視頻流,然后視頻模塊來分析視頻流是否監(jiān)控到異常,如果沒有異常,則視頻保存到文件中;當(dāng)監(jiān)控到異常時,視頻模塊通過撥號報警通知已經(jīng)設(shè)定好的報警電話。
音頻模塊主要是通過Android SDK中的Medi aRecorder類來獲得音源數(shù)據(jù),然后利用getMaxAmplitude()方法來獲得一小段時間內(nèi)音源數(shù)據(jù)中的最大振幅,因為該方法返回的是0到32767范圍的16位整型,原理是對一段值域為32767到32767的音源數(shù)據(jù)取其中絕對值最大的值并返回。因此算出的最大分貝值是90.3,因此設(shè)定的監(jiān)測聲音分貝值為OdB到90.3dB之間。
3系統(tǒng)功能實現(xiàn)
系統(tǒng)主要是通過視頻模塊與音頻模塊來實現(xiàn)撥號報警功能,視頻模塊中主要是從視頻中提取出每幀的圖片的算法和對兩張圖片對比的算法。
3.1抽取圖片
Android平臺的視頻監(jiān)控系統(tǒng)通過onPreviewFrame()方法來捕捉視頻最開始的第一幀畫面圖片,然后每隔30秒捕捉一幀畫面圖片。
所獲得的圖片格式為YUV420SP格式,然后又利用decodeYUV420SP類轉(zhuǎn)化成bmp格式的圖片。
public static void decodeYUV420SP(byte[]rgbBuf,byte[]yuv420sp,
int width,int height)
3.2圖片對比
利用感知哈希算法,就是圖片生成一個指紋(字符串格式),兩張圖片的指紋越相似,說明兩張圖片就越相似
第一步縮小圖片尺寸。
Bitmap thumb=ImageDispose.zoomBitmap(bitmap,width,height);
將圖片縮小到8×8的尺寸,總共64個像素,這一步的作用是去除各種圖片尺寸和圖片比例的差異,只保留結(jié)構(gòu)、明暗等基本信息。
第二步轉(zhuǎn)為灰度圖片。
將上一步的比較結(jié)果,組合在一起,就構(gòu)成了一個64位的二進(jìn)制整數(shù),這就是這張圖片的指紋。
第六步對比圖片指紋。
return hashCode.toString();
得到圖片的指紋后,就可以對比不同的圖片的指紋,計算出64位中有多少位是不一樣的。如果不相同的數(shù)據(jù)位數(shù)不超過5,就說明兩張圖片很相似,如果大于10,說明它們是兩張不同的圖片。
4實驗測試與結(jié)果分析
通過實驗對上述該視頻監(jiān)控系統(tǒng)進(jìn)行測試。使用的測試設(shè)備為:一臺三星S9500手機(jī)(操作系統(tǒng)為Android4.2.2)作為監(jiān)控端,另一臺三星S9300(操作系統(tǒng)為Android 4.2.2)作為被撥號端。測試方案一,當(dāng)聲音為50分貝時,系統(tǒng)撥號打給設(shè)置好的號碼;測試方案二,當(dāng)攝像頭前有移動物體時,系統(tǒng)撥號打給設(shè)置好的號碼;測試方案三,當(dāng)攝像頭前有人走過并發(fā)出50分貝的聲音時,系統(tǒng)撥號打給設(shè)置好的號碼。通過測試發(fā)現(xiàn)系統(tǒng)可正常使用。
5結(jié)語
隨著智能手機(jī)用戶群體的日益龐大,人們在家庭生活中更喜歡追求簡單實用性強的應(yīng)用,文中提出的視頻監(jiān)控系統(tǒng),彌補了傳統(tǒng)網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)的可移動性差、應(yīng)用復(fù)雜性,而Android智能終端平臺實現(xiàn)的撥號報警監(jiān)控更能方便人們在家庭安防方面的應(yīng)用,可是隨時隨地的布置使用。