基于場(chǎng)所人數檢測的照明節能控制系統設計
1.2 S3C2440芯片開(kāi)發(fā)
(1)WinCE條件下USB設備的開(kāi)發(fā)
由于本系統運用USB接口來(lái)進(jìn)行圖像的采集,所以要對Windows CE下的USB設備驅動(dòng)進(jìn)行開(kāi)發(fā)。在Windows CE系統下對USB設備進(jìn)行開(kāi)發(fā)需要運用系統本身提供的流接口驅動(dòng)模型,它能夠為設備驅動(dòng)的開(kāi)發(fā)提供通用的接口函數,系統將會(huì )對設備進(jìn)行編號,這樣就可以在程序中直接打開(kāi)設備并且對其進(jìn)行操作。本系統的USB攝像頭驅動(dòng)的設計采用了4個(gè)流接口函數:CAM_Init、CAM_Open、CAM_IOControl、CAM_Close,完成獲取注冊表中驅動(dòng)、初始化系統、處理用戶(hù)命令、釋放分配資源的功能。
(2)GPIO接口的開(kāi)發(fā)
GPIO接口的控制首先需要設置GPXCON寄存器為輸出功能,然后再通過(guò)設置GPXDAT寄存器的值為0或1來(lái)控制GPIO口的低或高電平。在S3C 2440中提供了4個(gè)LED燈,它們分別由GPB5到GPB84個(gè)GPIO口來(lái)控制,用戶(hù)可以通過(guò)觀(guān)察LED燈的不同狀態(tài)來(lái)了解信號的輸出。要實(shí)現這個(gè)驅動(dòng)程序,首先要建立流驅動(dòng)所必需的文件并設定設備名,其次要將代碼對信號的輸出和控制初始化,最后以條件語(yǔ)句表示設備出現的各種情況,并運行主程序。
1.3 主要算法及設計
針對公共場(chǎng)所顏色較為單一,且在HSV顏色空間里H、S、V值分布比較明顯的特點(diǎn),本系統采用對圖像進(jìn)行處理的方法來(lái)獲取公共場(chǎng)所的人數。
將模板彩色圖像進(jìn)行銳化操作并調節圖像亮度,隨后將此RGB圖像進(jìn)行顏色空間轉換,這樣就可以分別得到每一點(diǎn)的H、S、V值,并利用圖像上各個(gè)點(diǎn)的H、S、V值來(lái)進(jìn)行下一步的計算,此時(shí)將公共場(chǎng)所依照外輪廓劃分成9個(gè)區域。由于物體對背景的遮擋效果,圖像被遮住部分將擁有與模板圖像對應位置不同的H、S、V值。采用循環(huán)對比的方法,將兩幅圖像上對應點(diǎn)的H、S、V值進(jìn)行比較,如果兩者值之差在規定的誤差范圍之內,那么將此像素跳過(guò),當兩點(diǎn)H、S、V值相差較大時(shí),標記這些像素。然后將圖像進(jìn)行二值化處理,即標記的像素的值為1,沒(méi)有標記的像素的值為0,再通過(guò)形態(tài)學(xué)濾波方法(如腐蝕、膨脹),最終過(guò)濾掉多余的雜點(diǎn)得到單一目標的分布區域。計算出目標面積在每個(gè)劃分區域的百分比,由給出的公共場(chǎng)所的最大容量得出總人數,確定開(kāi)燈數目所占總數目的比值。
設si為在第i區域圖像中對象的面積,si為圖像中第i區域的總面積,n為第i區域的最大容量,N為所求總人數,a為需要開(kāi)的照明燈個(gè)數,A為照明燈總個(gè)數,根據上文即可得以下算式:

評論