新聞中心

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

基于ARM的遠(yuǎn)程無線監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

作者: 時(shí)間:2012-04-10 來源:網(wǎng)絡(luò) 收藏

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

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

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

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

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

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

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

基于ARM的遠(yuǎn)程無線監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

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



關(guān)鍵詞: ARM 程無線監(jiān)控 PXA270

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉