?

基于OpenCV的室內照明智能控制系統設計與實現

2016-06-13 22:01劉銳何志毅
科技視界 2016年13期
關鍵詞:串口通信

劉銳 何志毅

【摘 要】為提高室內照明控制的靈活性和降低家庭安防的成本,結合照明控制與視頻監控技術,設計了一種基于OpenCV的室內照明智能控制系統。使用USB攝像頭采集實時視頻信號,結合MFC與OpenCV設計上位機控制軟件,單片機作為照明控制MCU,PC與單片機采用串口通信。上位機可設置視頻監控ROI(感興趣區域),并進行運動物體檢測。系統根據不同的檢測結果,控制照明狀態的改變,從而實現對特定照明區域的照明智能控制。

【關鍵詞】OpenCV;視頻監測;照明控制;串口通信

0 引言

隨著經濟和數字信息技術的迅速發展,計算機、通信和自動控制技術不斷進步并相互滲透,人民對燈光照明控制的要求不斷提高,室內照明的智能化控制受到越來越廣泛的關注。同時,人們對信息的需求和安全保障的渴望與日俱增[1],在家庭安防領域,視頻監控也日益興起。目前國內的視頻監控也逐步向數字化、多功能化、智能化方向發展[2]。日常生活中,照明控制系統與視頻監控系統通常作為兩個獨立的系統被分別使用,不僅使用不便、成本較高且難以維護。本課題的主要目的是結合當下流行的照明控制技術與視頻監控技術開發出經濟、可靠的室內照明控制系統,同時兼有視頻監控功能,實現室內照明控制的人性化和個性化[3]。

1 系統方案設計

基于OpenCV的室內照明智能控制系統如圖1所示。USB攝像頭采集視頻信號,經數據線傳送到PC端。系統PC端上位機使用基于MFC與OpenCV開發的視頻監控-照明控制軟件,可實現監控畫面的實時顯示、運動物體檢測和照片拍照等功能。上位機根據視頻中運動物體的不同檢測結果,給出相應的照明控制信號,并通過串口傳送到下位機照明控制MCU,MCU依據接收的控制信號控制照明模塊照明狀態的改變。其中,照明模塊采用單片機開發板上8個LED模擬實際室內照明燈。

圖1 照明智能控制系統

圖2 視頻監測-照明控制軟件界面

在Visual Studio 2013集成開發環境下,結合MFC應用框架和OpenCV計算機視覺庫,編寫上位機視頻監控-照明控制軟件,界面如圖2所示。界面分為以下幾個主要功能區:“畫面顯示”、“本地資源”、“信息顯示”、“攝像頭視頻采集”、“檢測結果”和“串口通信”等。當打開本地圖片、視頻文件,或USB攝像頭采集實時視頻,都顯示到“畫面顯示”中;“本地資源”可以打開本地保存的圖片、視頻資源;“信息顯示”中“圖片信息”顯示打開的本地圖片的文件路徑,“視頻信息”顯示正在播放視頻的視頻信息,如幀數、幀寬和幀高;“攝像頭視頻采集”包含了對USB攝像頭的相關操作,如打開/關閉攝像頭、獲取攝像頭幀圖像、保存/停止保存視頻等;“檢測結果”用來顯示視頻中運動物體檢測的結果信息;“串口通信”是關于串口通信參數的設置,也包括打開/關閉串口功能。

2 串口通信

串行通信,數據的各位在一根傳輸線上按照時間順序依次傳送,具有實現簡單、使用靈活方便、數據傳輸可靠等優點,在許多行業中得到大量應用[4,5]。

基于OpenCV的室內照明智能控制系統中PC與單片機之間采用串口通信。首先對串口參數初始化,確定串口的工作方式、波特率、數據位以及停止位等。系統串口通信參數設置為:波特率9600bit/s、無校驗位、8位數據位和1位停止位。

3 視頻監控與照明智能控制

3.1 視頻運動物體檢測

鑒于USB攝像頭在視頻采集過程中處于固定狀態,同時考慮到運動物體檢測的靈敏度和算法的復雜度,系統采用幀差法檢測運動物體。幀差法是用一幀圖像減去另一幀,然后把足夠大的差別標記為前景目標,能夠很好的捕捉到運動物體的邊緣。利用幀差法進行運動物體檢測流程如圖3所示。

圖3 幀差法運動物體檢測

運行PC端視頻監控-照明控制軟件,在顯示的視頻畫面上繪制監控ROI,同時彈出兩個ROI同大小的視頻顯示窗口“camera1”和“camera2”,分別用于顯示ROI視頻畫面和用幀差法處理后的ROI二值圖像,如圖4(a)、(b)所示??梢钥闯?,對視頻圖像采用幀差法處理,可以很好的得到運動物體的邊緣輪廓,從而檢測出運動物體,且當超過系統預設的判別閾值,系統會對有運動物體的視頻畫面進行拍照保存。

(a)ROI視頻圖像 (b)ROI二值圖像

圖4 ROI視頻幀間差分法效果圖

USB攝像頭朝向某一固定方向采集實時視頻信號,對于像室內窗戶、門口、樓梯口等特殊地方的視頻監控,系統PC端可以自主設置ROI。根據實際應用的需要設置不同的ROI,可提高視頻監控的效率和針對性。

3.2 照明智能控制

系統對運動物體檢測的不同結果設置了相應的判別閾值。規定幀差法處理后的一幀ROI二值圖像中總像素點個數為N,非零像素點的個數為num;據此設置判別閾值:分別記為0、N*0.2、N*0.4、N*0.6、N*0.8,則得出五個不同的判別范圍:0-N*0.2、N*0.2- N*0.4、N*0.4- N*0.6、N*0.6- N*0.8及N*0.8-N;當num處于不同的判別范圍內時,系統給出相應的警告信息,分別為:“Alert1_LED0”、“Alert2_LED1”、“Alert3_LED2”、“Alert4_LED3”、“Alert5_LED3”。其中警告級別分別從一級到五級,對應點亮不同的LED燈。第一級中num相對很小,有可能是其他非行人等物體所致,故不點亮LED燈;第四、五級時,說明num值足夠大,同時點亮3個LED燈;對于第二到五級別,點亮LED燈的同時,系統對ROI視頻畫面拍照并保存,以供后期查看。

視頻中運動物體的檢測結果對應哪個判別范圍內,系統就給出相應的警告信息和照明控制信號,其中,警告信息顯示在上位機軟件界面的“檢測結果”中,照明控制信號經串口傳送給單片機。單片機接收到控制信號后,控制LED燈照明狀態的改變,進而在視頻監控的基礎上實現照明智能控制。

4 結束語

本文利用VS2013中的MFC應用框架與OpenCV計算機視覺庫編寫上位機視頻監控-照明控制軟件,與下位機MCU進行串口通信,結合USB攝像頭和照明模塊組成室內照明智能控制系統。通過設置視頻監控ROI,可實現對特定區域的視頻監控與照明控制。經實驗測試,該系統可以準確檢測出ROI區域內的運動物體,并且必要時拍照保存視頻畫面,實現視頻監控功能;同時,下位機在接收照明控制信號后,相應的改變照明狀態,實現照明智能控制功能。系統工作穩定,安全、可靠,兼具視頻監控與照明智能控制的功能,提高了照明控制的靈活性的同時也降低了家庭安防的成本,為基于視頻監控的室內照明智能控制系統設計提供了一套完整方案。

【參考文獻】

[1]張曉情.多功能遠程監控系統的設計與實現[J].自動化與儀器儀表,2015(12):41-42.

[2]程向嬌,黃言態.無線視頻監控關鍵技術研究及開發[J].中國科技信息,2010(16):155-156.

[3]梁人杰.智能照明控制技術發展現狀與未來展望[J].照明工程學報.2014(02):15-26.

[4]王正強.VC中應用MSComm控件實現串口通信[J].電子測試,2010(05):73-76.

[5]龔新文.串口通信在VS2008中的實現與應用[J].電腦與電信,2011(03):47-48.

[責任編輯:湯靜]

猜你喜歡
串口通信
基于Qt和Flash的嵌入式Linux軟件架構設計
基于Python實現設備控制臺的集中控制和管理
基于MSP430單片機的窄帶無線數據傳輸模塊的設計
便攜式數傳電臺測試系統的設計與實現
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合