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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于ARM的遠程無線監(jiān)控系統(tǒng)的設計與實現(xiàn)

          基于ARM的遠程無線監(jiān)控系統(tǒng)的設計與實現(xiàn)

          作者: 時間:2012-04-10 來源:網絡 收藏

          圖像的采集是通過-Linux調度Video4Linux和影像設備驅動程序來進行視頻捕獲。Video4Linux是Linux影像系統(tǒng)與嵌人式影像的基礎,是Linux 內核里支持影像設備的一組API,Linux在多媒體上的應用是目前非常熱門的研究領域,其中最關鍵的技術則是Linux的Video4Linux。在Linux內核中對Video4Linux進行配置,如圖2所示。配置好以后通過bootloader下載到-Linux里。USB攝像頭使用的是OV511芯片的網眼V2000攝像頭。在Linux操作系統(tǒng)里配置好OV511芯片的驅動,如圖3所示。

          基于ARM的遠程無線監(jiān)控系統(tǒng)的設計與實現(xiàn)
          圖2 配置Video for Linux

          基于ARM的遠程無線監(jiān)控系統(tǒng)的設計與實現(xiàn)
          圖3 配置USB OV511攝像頭

          通過bootloader下載到-Linux里,這樣就可以通過USB攝像頭進行圖像采集,圖像采集流程如圖4所示。

          采集到的圖像為BMP格式,圖像太大不利于網絡傳輸,需要進行JPEG壓縮,JPEG壓縮技術十分先進,它用有損壓縮方式去除冗余的圖像數(shù)據(jù),在獲得較高的壓縮率的同時能展現(xiàn)十分豐富生動的圖像,非常適合于視頻網絡傳輸?;镜腏PEG算法由以下步驟完成:(1)通過離散余弦變換(DCT)消除數(shù)據(jù)冗余;(2)使用量化系數(shù)矩陣對離散余弦變化系數(shù)進行量化;(3)對量化后的系數(shù)進行編碼,使其熵最小,熵編碼通常采用huffman可變字長編碼。產生有損圖像壓縮的原因主要發(fā)生在第2步。JPEG標準是在變換編碼的基礎上,綜合應用了DCT和哈夫曼編碼2種手段,達到了很好的圖像壓縮效果?;陔x散余弦變換DCT的編碼方法,是JPEG算法的核心內容[5]。在圖像采集的時候需要用到JPEG庫,所以需要先安裝JPEG庫。

          基于ARM的遠程無線監(jiān)控系統(tǒng)的設計與實現(xiàn)
          圖4 圖像采集流程圖

          在/usr/local/man/manl目錄下會生成cjpeg.l、djpeg.l、jpegtran.l、rdjpgcom.l、wrjpgcom.l、snapscreenshop.l六個文件,在/usr/local/arm/3.4.3/arm-linux/lib目錄下會生成libjpeg.a、libjpeg.la、libjpeg.so、 libjpeg.so.62、libjpeg.so.0.0五個函數(shù)庫,libjpeg.so.62、libjpeg.so.0.0就是我們需要的庫,將它拷貝到arm-linux里,這樣ARM就支持JPEG壓縮格式的圖像。圖像壓縮的一些重要函數(shù)如下:

          基于ARM的遠程無線監(jiān)控系統(tǒng)的設計與實現(xiàn)

          采集到的圖像如圖5所示。如果要進行連續(xù)幀的采集由grab_fd.frams來確定需要采集的幀數(shù),最多支持一次采集32幀。



          評論


          相關推薦

          技術專區(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); })();