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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于ARM嵌入式的視頻監(jiān)控系統(tǒng)的設(shè)計

          基于ARM嵌入式的視頻監(jiān)控系統(tǒng)的設(shè)計

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

          目前,系統(tǒng)在監(jiān)控中的應(yīng)用越來越廣泛。伴隨著網(wǎng)絡(luò)的強大功能,監(jiān)控更側(cè)重網(wǎng)絡(luò)監(jiān)控方案,要求體積小、遠程化、成本低、功耗小、操作界面人性化等。本系統(tǒng)Linux 平臺上利用USB 攝像頭采集圖像,通過視頻圖像壓縮及結(jié)合網(wǎng)絡(luò)進行視頻圖像傳輸,使遠程監(jiān)控成為可能。

          本文引用地址:http://www.ex-cimer.com/article/171573.htm

          1 系統(tǒng)概述

          視頻圖像由4 部分組成, 分別為視頻圖像采集、視頻圖像處理、視頻圖像傳輸、視頻圖像顯示。視頻圖像采集部分由數(shù)字攝像頭、USB 通道和處理器構(gòu)成、視頻圖像處理主要是視頻圖像壓縮,由算法實現(xiàn)、視頻圖像傳輸主要利用視頻服務(wù)器來實現(xiàn)、視頻圖像顯示主要是在遠程的主機上實現(xiàn)視頻圖像的瀏覽、保存和處理等,Linux 主機上由應(yīng)用程序?qū)崿F(xiàn),Windows 主機上通過瀏覽器上的JAVA 程序?qū)崿F(xiàn)。系統(tǒng)原理框圖如圖1 所示。


          圖1 系統(tǒng)框圖

          2 系統(tǒng)硬件

          CPU 處理器使用Samsung S3C2440A, 主頻400 MHz,最高533 MHz;64 M SDRAM、32 bit 數(shù)據(jù)總線、SDRAM 時鐘頻率100 MHz;256 M/1 GB Nand Flash, 掉電非易失、2 M NorFlash,掉電非易失;統(tǒng)寶3.5 真彩LCD,屏集成4 線電阻式觸摸屏, 屏幕分辨率可以達到1024×768 象素;100 M 以太網(wǎng)RJ-45 接口(采用DM9000 網(wǎng)絡(luò)芯片)、串行口、USB Host、USB Slave B 型接口、SD 卡存儲接口、路立體聲音頻輸出接口, 麥克風(fēng)接口、JTAG 接口、4 USER Leds、6 USER buttONs(帶引出座)、I2C 總線AT24C08 芯片、20 pin 攝像頭接口;攝像頭用良田,兼容SN9C20X 系列芯片的驅(qū)動,本系統(tǒng)的內(nèi)核中集成了該驅(qū)動。

          3 系統(tǒng)軟件

          3.1 Linux 內(nèi)核的移植

          移植新內(nèi)核主要是為了給LCD 以及攝像頭添加相應(yīng)的驅(qū)動支持,在Fedora 9 中打開內(nèi)核的目錄,使用缺省配置文件進行配置:在內(nèi)核中添加V4L 支持、添加萬能USB 攝像頭驅(qū)動GSPCA。

          3.2 V4L2 的圖像采集程序

          系統(tǒng)使用的交叉編譯工具為arm-linux-gcc-4.3.2.使用到的應(yīng)用程序都要通過該編譯器編譯后下載到開發(fā)板上運行。將編好的應(yīng)用程序V4L2.c 交叉編譯后下載到板。

          V4L(Video for Linux)是Linux 下提供的一個音視頻接口規(guī)范,所有的音視頻驅(qū)動編寫都要用到這些接口。

          V4L 從2.4.1.x 的內(nèi)核版本中開始出現(xiàn), 使用的Video for Linux2(簡稱V4L2)是V4L 的改進版,修復(fù)了第一代中的部分BUG。

          的圖像采集及處理程序主要V4L2 架構(gòu), 通過對一些ioctl 函數(shù)的調(diào)用來實現(xiàn)視頻設(shè)備的打開,圖像的采集處理,圖像的顯示等。幾個主要的ioctl 函數(shù)的簡介:

          1)ioctl(fd,VIDIOC_S_FMT, fmt):用于設(shè)置圖像的格式。

          2)ioctl(fd, VIDIOC_REQBUFS, req):向內(nèi)存申請緩沖區(qū),申請的buffer 個數(shù)存在count 中。

          3)ioctl(fd, VIDIOC_QUERYBUF, buf):查詢已經(jīng)分配的V4L2 的視頻緩沖區(qū)的相關(guān)信息, 包括視頻緩沖區(qū)的使用狀態(tài)、在內(nèi)核空間的偏移地址、緩沖區(qū)長度等。

          4)ioctl(fd, VIDIOC_QBUF, buf):放一個空的視頻緩沖區(qū)到視頻緩沖區(qū)輸入隊列中,函數(shù)執(zhí)行成功后,指令的視頻緩沖區(qū)進入視頻輸入隊列,在啟動視頻設(shè)備拍攝圖像時,相應(yīng)的視頻數(shù)據(jù)被保存到視頻輸入隊列相應(yīng)的視頻緩沖區(qū)中。

          5)ioctl(fd, VIDIOC_STREAMON, type):啟動視頻采集命令,應(yīng)用程序調(diào)用VIDIOC_STREAMON 啟動視頻采集命令后,視頻設(shè)備驅(qū)動程序開始采集視頻數(shù)據(jù),并把采集到的視頻數(shù)據(jù)保存到視頻驅(qū)動的視頻緩沖區(qū)中。

          圖像采集處理流程圖如圖2 所示。


          圖2 圖像采集處理流程圖

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁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); })();