關 閉

新聞中心

EEPW首頁 > 工控自動化 > 設計應用 > 智能家居監(jiān)控系統(tǒng)設計及應用

智能家居監(jiān)控系統(tǒng)設計及應用

作者: 時間:2012-05-31 來源:網絡 收藏

2.1.1 獲取監(jiān)控視頻

客戶端通過WiFi與IP攝像機連接,登錄IP攝像機后,選擇監(jiān)控頻道,可同時實現4路智能監(jiān)控,即可以觀察家中的基本情況:家中有無人員進出,是否有人在家,對監(jiān)控中出現的對象進行關注跟蹤,辨別各房間照明情況以及電視、計算機等家電的使用情況等??蛻舳藢崿F方法為啟用多線程控制4路監(jiān)控任務,使每路監(jiān)控任務具有相對獨立性,以便更換頻道。

多線程的具體實現方法有兩種,分別是繼承Thread線程類和實現Runnable 接口??蛻舳巳舨捎美^承Thread線程類的方法,則不能繼承除線程類之外的其他類,而界面子線程必須繼承View視圖類,所以本采用第二種方法。監(jiān)控實現中,每一路畫面都是一個單獨的線程,也是一個完整的視圖,它是實現了Runnable接口且繼承View類的類對象。因此每個對象之間相互獨立,每路監(jiān)控畫面相互獨立,可以靈活選擇監(jiān)控頻道,以便后臺控制管理。

界面實現上,主界面為4路監(jiān)控窗口,初始選擇監(jiān)控頻道后便可通過HTTP協(xié)議獲取監(jiān)控圖片序列,根據場景進行算法處理,并播放智能監(jiān)控畫面。

2.1.2 程序優(yōu)化

客戶端需要根據不同場景調用不同的智能監(jiān)控算法對發(fā)生的事件進行判斷與識別,這一過程包含了大量的圖像處理運算,如灰度化、背景建模差分、中值濾波和形態(tài)學運算等。Android操作系統(tǒng)的開發(fā)語言為Java,但是純Java編程的圖像處理程序在Android手機上的運行速度是其很大的問題。通過JNI(Java Native Interface)技術在Java程序中調用C程序模塊,明顯地提高了程序的運行速度。筆者截取了40幀作為觀察對象,程序各主要運算步驟的平均運行時間如表1所示,從中可以看出運行時間縮短到了原來的1/18~1/17.

表1 主要算法Java和JNI實現的運行時間比較

2.2 功能與實現

的智能具有3大功能:管理家中所有攝像頭,可靈活選擇監(jiān)控點;執(zhí)行多種不同智能算法;能夠和其他聯網設備聯動,實現控制。

筆者用不同的實際場景對該系統(tǒng)進行了測試,系統(tǒng)的功能描述與實驗結果如下。

1)多路監(jiān)控。

獲取實時監(jiān)控圖片,同屏顯示最多4路經后臺算法處理后的智能監(jiān)控畫面,如圖2所示。若需更換監(jiān)控頻道,可點擊監(jiān)控界面右側的路數列表,即可彈出頻道選擇欄,進行頻道更換,以便更全面地實時監(jiān)控家中情況,如圖3所示。



評論


相關推薦

技術專區(qū)

關閉