<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 光電顯示 > 設計應用 > 基于場所人數(shù)檢測的照明節(jié)能控制系統(tǒng)設計

          基于場所人數(shù)檢測的照明節(jié)能控制系統(tǒng)設計

          作者: 時間:2011-06-23 來源:網(wǎng)絡 收藏

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


          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();