《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于Linux+ARM的多格式視頻圖像采集系統的設計
基于Linux+ARM的多格式視頻圖像采集系統的設計
2014年微型機與應用第21期
趙楠楠1,2 ,楊秀虎1
(1.遼寧科技大學 電子與信息工程學院,遼寧 鞍山 114051; 2.國家金融安全及系統裝備工程技術研究中心,遼寧 鞍山 114051)
摘要: 設計了基于S3C2440微處理器的視頻圖像采集系統,詳細分析了該系統的啟動過程。在一塊裸板上搭建起整個視頻圖像采集系統。結合V4L2技術完成了支持YUV、MJPEG圖像格式的USB攝像頭和支持RGB圖像格式的CMOS攝像頭的多格式視頻圖像采集系統。測試結果表明,該系統可以在LCD顯示屏上動態顯示多格式攝像頭所采集到的視頻圖像,且視頻圖像具有清晰度高、流暢性好、穩定性強等特點,具有進一步推廣使用的廣闊前景。
Abstract:
Key words :

  摘 要: 設計了基于S3C2440微處理器的視頻圖像采集系統,詳細分析了該系統的啟動過程。在一塊裸板上搭建起整個視頻圖像采集系統。結合V4L2技術完成了支持YUV、MJPEG圖像格式的USB攝像頭和支持RGB圖像格式的CMOS攝像頭的多格式視頻圖像采集系統。測試結果表明,該系統可以在LCD顯示屏上動態顯示多格式攝像頭所采集到的視頻圖像,且視頻圖像具有清晰度高、流暢性好、穩定性強等特點,具有進一步推廣使用的廣闊前景。

  關鍵詞u-boot與系統啟動;V4L2;多格式視頻圖像采集;video2lcd

0 引 言

  當下隨著多媒體技術、集成電子技術、計算機技術的高速發展,視頻圖像采集技術也不斷發展,它的應用場合也更加廣泛。尤其近年來,隨著嵌入式技術的發展,ARM處理器運算的能力不斷地增強以及處理圖像的技術不斷地提高,使基于ARM的圖像采集廣泛地應用于各個領域[1-4]。視頻圖像采集更是成為了研究熱點。嵌入式這一技術的發展使得視頻采集系統具有了體積小、成本低、性能高等特點,能夠擴展到很多領域[5]?;谶@樣的背景,本文進行了一套有益研究。

  本系統采用三星公司S3C2440微處理器搭建一個全新的視頻圖像采集系統,包括分析改進u-boot源代碼,使之支持所用JZ2440開發板,支持開發板的串口、網卡功能,支持Nand啟動等,且大大簡化冗余代碼,編譯出簡潔高效的u-boot.bin文件,能夠實現快速燒寫和擦除,從而實現系統快速啟動。在搭建好開發環境之后,結合V4L2技術分析數據采集系統流程,編寫應用程序veido2lcd完成支持YUV、MJPEG圖像格式的USB攝像頭和支持RGB圖像格式的CMOS攝像頭的多格式視頻圖像采集系統,最后對系統進行測試和分析。

1 開發環境搭建

  1.1 系統軟硬件平臺

  視頻圖像采集系統最終是要移植到嵌入式系統的,所以要搭建嵌入式平臺來完成交叉編譯等工作,文中采用支持V4L2的Linux系統。硬件平臺采用三星公司的ARM9開發板JZ2440,其硬件特性如下:

  CPU處理器: 16/32 bit S3C2440A;

  Flash存儲器: 512 MB NandFlash,64 MB NorFlash;

  內存支持: 64 MB SDRAM,4 KB片內SRAM

  USB總線與接口: 1個USB Host,1個USB Slave;

  網卡支持: DM9000;

  LCD顯示屏: 4.3英寸TFT LCD屏;

  攝像頭支持: YUV格式的USB攝像頭,MJPEG格式的USB攝像頭,RGB格式的CMOS攝像頭。

  1.2 系統交叉編譯工具的安裝

  Linux開發所用的交叉編譯工具是arm-linux-gcc-4.3.2,設置環境變量:PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.3.2/bin"完成安裝交叉編譯工具鏈。

  它不能夠適應現有硬件環境,需要對其進行如下修改:

  (1) 修改U-boot源代碼以支持S3C2440開發板

  在單板相關的配置文件boards.cfg中添加:

  ssmdk2440 arm arm920t - samsung s3c24x0

  (2) 配置時鐘參數以適應于S3C2440

  需要對CPU的MPLL進行設置,否則內存不能正常使用。在start.S里增加對MPLL的設置:

 ?、僭O置CPU為異步總線模式;

 ?、谠O置分頻系數和MPLLCON寄存器將系統時鐘頻率設定為400 MHz。

  (3) 支持S3C2440的硬件配置

  在include/configs/smdk2440.h中去掉宏CONFIG_S3C2410,增加配置宏CONFIG_S3C2440以支持S3C2440的相關硬件配置,比如串口波特率正常。

  (4) 支持Nand啟動

  由于Nand啟動時只能復制最前面的4 KB代碼到SDRAM,這要求重定位之前的啟動代碼應該少于4 KB。原來的代碼在鏈接時加了"-pie"選項, 使得生成的u-boot.bin里多了"*(.rel*)"、 "*(.dynsym)"、導致編譯出來的u-boot非常大,不能支持Nand啟動,需修改代碼來減小u-boot。

 ?、偃サ?"-pie"選項

  在arch/arm/config.mk:75:LDFLAGS_u-boot += -pie中去掉該行以減少代碼。

 ?、谛薷膇nclude/configs/smdk2440.h中的連接地址:

  #define CONFIG_SYS_TEXT_BASE 0x33f80000

  將鏈接地址改為0x33f00000,這是因為SDRAM大小為64 MB,它的基地址是0x30000000,尾址是0x34000000,在0x33f00000~0x34000000之間1 MB空間足夠用來存放u-boot代碼。

 ?、坌薷膕tart.S,實現代碼的重定位,即上電后把NandFlash內前4 KB的代碼復制到片內SRAM,然后由這4 KB代碼實現將NandFlash上的u-boot代碼復制到SDRAM上鏈接地址以0x33f00000開始的地方。

  (5) 支持DM9000網卡

  在smdk2440.h中增加宏定義define CONFIG_DRIVER_DM9000完成S3C2440對網卡DM9000的支持。

  將修改好的u-boot重新make,編譯通過,生成新的u-boot.bin文件。

  以Nor方式啟動開發板,通過tftp工具將編譯好的u-boot.bin文件燒寫到開發板,然后關閉開發板,撥為Nand啟動方式重啟開發板,啟動后效果如圖1所示,這樣就完成了一個支持Nand啟動,支持DM9000網卡的u-boot的移植。

001.jpg

2 視頻圖像采集系統設計

  2.1 Linux內核下的V4L2驅動框架

  在Linux系統下,通過VideoforLinux實現對Linux視頻采集設備的支持通常將其稱為V4L[6]。它是Linux內核中有關視頻設備的驅動程序。Linux內核提供Video4Linux2 應用程序接口,在程序開發時首先是基于Video4Linux2 API函數來設計程序[7]。

  視頻圖像的采集流程如圖2所示。

002.jpg

  首先使用open函數打開攝像頭設備,以獲取該攝像設備的文件描述符,接著調用攝像頭設備的接口函數vidioc_querycap()來獲取設備的參數信息,從而確定接入的是圖像捕捉設備。由于V4L2所支持的視頻格式有多種,而所接入攝像頭設備支持YUV、MJPEG、RGB三種格式中的哪一種也是事先未知的,所以V4L2中包含對格式的一系列的操作,包括枚舉、獲得、測試、設置等接口函數,完成對攝像頭設備所支持圖像格式的獲取、測試和設置工作。比如確定了攝像頭為MJPEG格式之后,V4L2就要為視頻流數據申請緩沖區并查詢緩沖區信息。為了加快對I/O的訪問速度,使用mmap()函數將攝像頭相應的設備文件映射到內存區并且把獲得的緩沖區通過函數vidioc_qbuf()放入隊列中。準備工作完成之后通過執行vidioc_streamon()啟動視頻流數據的采集。這里使用poll機制等待數據的到來,有了數據之后就可以執行vidioc_dqbuf()函數從緩沖區隊列中獲取一幀視頻流數據,當不再采集的時候就可以調用vidioc_streamoff()停止視頻流的采集。

  2.2 應用程序video2lcd骨架

  要使視頻數據顯示到LCD顯示屏上,需要將攝像頭采集到的視頻數據經過格式轉換、縮放、合并、顯示等操作才能最終顯示到LCD顯示屏上。整個過程的流程圖如圖3所示。

003.jpg

  ⑴數據格式的轉換:由于LCD顯示屏只能支持RGB一種格式,而攝像頭采集到的數據有YUV、MJPEG、 RGB三種格式,故需要進行數據格式的轉換(RGB格式不需要進行轉換的)。函數static int Yuv2RgbConvert(PT_VideoBuf ptVideoBufIn, PT_VideoBuf ptVideoBufOut)用來把內存里的YUV圖像轉換為RGB圖像。函數static int Mjpeg2RgbConvert(PT_VideoBuf ptVideoBufIn, PT_VideoBuf ptVideoBufOut)用來將內存里的MJPEG圖像轉換為RGB圖像。

 ?、茍D像的縮放:由于攝像頭采集到的圖像分辨率與LCD的分辨率并不吻合,為了得到清晰流暢的視頻圖像,需要進行圖像大小的縮放。函數int picZoom(PT_PixelDatas ptOriginPic, PT_PixelDatas ptZoomPic) 用來實現這一功能。

 ?、菆D像轉入緩存:即將縮放后的圖像轉入FrameBuffer,使用函數intPicMerge(iTopLeftX, iTopLeftY, &ptVideoBufCur->tPixelDatas, PT_PixelDatas ->ptFrameBuffer)來完成。緩存Framebuffer中的數據就可以直接在LCD屏幕上顯示。

  當完成以上工作后,video2lcd應用程序就編寫完成,它能夠將攝像頭采集到的視頻圖像數據清晰流暢地顯示在LCD屏幕上,同時支持YUV、MJPEG、RGB三種格式的視頻圖像的采集,支持多款USB攝像頭的同時也支持CMOS攝像頭。將交叉編譯通過后的video2lcd傳輸到開發板的文件系統。

3 應用測試與分析

  以Nand方式啟動開發板,首先將支持YUV格式的USB攝像頭插到開發板的USB接口,這在串口界面執行命令:./video2lcd /dev/video0,回車之后就可以看到LCD顯示屏上有視頻圖像了,晃動攝像頭可見視頻圖像清晰流暢,以同樣的操作分別將支持MJPEG格式的USB攝像頭和支持RGB格式的CMOS攝像頭接到開發板上,觀察視頻圖像。圖4即為USB攝像頭采集到的MJPEG格式的視頻圖像以及CMOS攝像頭采集到的RGB格式視頻圖像在4.3英寸LCD屏幕上的顯示效果圖,通過與筆記本上圖像的對比可見,視頻圖像非常清晰且視頻流暢。

004.jpg

4 結束語

  基于S3C2440微處理器和ov7740視頻處理芯片搭建了嵌入式視頻圖像采集平臺,為開發實現多格式視頻圖像的實時采集與傳輸提供了可行方案。采用嵌入式技術,使系統具有體積小、成本低、普適性高等特點。該方案具有廣泛的應用價值。

參考文獻

  [1] 劉攀,王紅亮,孟令軍. 基于 FPGA 的數字圖像采集存儲系統的設計[J]. 電視技術, 2010,34(6) :32-34.

  [2] 劉珂含,何培宇,關勝平,等. 基于TMS320VC5509A的圖像采集與識別系統[J]. 四川大學學報:自然科學版, 2008,45(1):48-52.

  [3] 嚴新忠,陳雨. 基于嵌入式ARM的圖像采集與傳輸設計[J].研究與開發, 2009,28(11) :57-59.

  [4] 劉紅喜,李長江,孫俊喜. 基于DSP的圖像采集及處理系統的設計與實現[J]. 電子技術應用,2009,35(2) :22-26.

  [5] 劉志華. 基于ARM和Linux的視頻圖像采集系統[J]. 微型機與應用, 2014,33(3):12-14,17.

  [6] 鄒意然,王永威,趙龍. 嵌入式系統中USB攝像頭的圖像采集[J]. 微計算機信息, 2010,26(12-2):24-26.

  [7] COX A. Video 4 Linux programming [EB/OL]. [2014-08-04]http://www.redhat.com.


此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          最新亚洲一区| 国产日韩精品一区二区浪潮av| 99国内精品久久久久久久软件| 午夜精品一区二区三区在线视| 久久高清一区| 99国产精品99久久久久久| 欧美在线视频在线播放完整版免费观看| 亚洲新中文字幕| 国产色产综合产在线视频| 黄色小说综合网站| 久久精品国产69国产精品亚洲| 亚洲国产高清一区| 国产日韩欧美黄色| 亚洲电影免费| 韩国av一区二区三区在线观看| 欧美久久婷婷综合色| 亚洲靠逼com| 国产伦理精品不卡| 夜夜嗨av一区二区三区四季av| 一区二区视频免费在线观看| 亚洲视频电影图片偷拍一区| 美女网站在线免费欧美精品| 亚洲色图在线视频| 欧美成人午夜激情视频| 欧美不卡在线| 久久久夜夜夜| 久久久久网址| 在线免费观看一区二区三区| 久久久久久久高潮| 影音先锋久久资源网| 91久久久久久久久| 国产农村妇女精品一区二区| 一区二区三区波多野结衣在线观看| 国产精品一区二区久久| 久久久91精品国产| 99re6热只有精品免费观看| 午夜精品久久久久久久久| 欧美一级视频免费在线观看| 香蕉久久精品日日躁夜夜躁| 亚洲午夜一区二区| 久久久久久久久一区二区| 欧美亚洲一区在线| 亚洲曰本av电影| 午夜精品国产更新| 国产一区二区视频在线观看| 国产精品男女猛烈高潮激情| 亚洲一区尤物| 久久精品一区二区三区四区| 国产精品一卡二卡| 欧美激情a∨在线视频播放| 国产欧美日本在线| 麻豆精品网站| 亚洲无毛电影| 国产精品久久久久久久浪潮网站| 在线观看不卡av| 欧美一站二站| 亚洲午夜电影| 香港久久久电影| 亚洲国产精品视频一区| 中文久久乱码一区二区| 狠狠色2019综合网| 免费试看一区| 欧美视频一区二区三区| 欧美日韩在线免费视频| 亚洲第一视频网站| 亚洲欧美一区二区在线观看| 亚洲欧美日韩中文视频| 国产精品日韩精品欧美精品| 99成人免费视频| 在线观看欧美一区| 99视频热这里只有精品免费| 久久www成人_看片免费不卡| 亚洲国产一二三| 激情综合色综合久久| 久久狠狠亚洲综合| 国产精品综合不卡av| 亚洲精品乱码久久久久久| 韩国av一区| 欧美视频亚洲视频| 亚洲经典视频在线观看| 亚洲一区二区在线播放| 这里只有精品丝袜| 免费一级欧美在线大片| 亚洲在线观看视频网站| 国产精品日韩精品欧美在线| 国产精品萝li| 精品88久久久久88久久久| 亚洲在线成人精品| 亚洲精选在线| 亚洲欧美在线另类| 久久精品欧美日韩| 欧美电影资源| 欧美精品久久一区二区| 欧美日韩免费视频| 欧美日韩视频在线一区二区观看视频| 欧美激情视频网站| 国产日韩欧美综合| 国产精品chinese| 欧美性猛交xxxx乱大交退制版| 欧美日韩八区| 亚洲一区二区高清| 国外视频精品毛片| 国产精品欧美经典| 亚洲高清电影| 激情校园亚洲| 免费成人小视频| 亚洲人成网站色ww在线| 99国产精品99久久久久久| 久久午夜国产精品| 欧美另类在线观看| 国产精品日韩精品| 91久久精品一区二区别| 久久综合网hezyo| 欧美在线精品一区| 欧美一区二区免费| 国产一二精品视频| 欧美亚洲自偷自偷| 久久久99爱| 国产精品大片| 在线日韩中文字幕| 久久高清福利视频| 黄网站免费久久| 亚洲午夜精品一区二区三区他趣| 亚洲三级电影全部在线观看高清| 欧美日韩免费视频| 亚洲激情电影中文字幕| 欧美日韩国产成人在线观看| 激情综合亚洲| 欧美精品九九99久久| 最近中文字幕mv在线一区二区三区四区| 欧美日韩一区二区三区视频| 国产精品无人区| 极品少妇一区二区三区精品视频| 香蕉免费一区二区三区在线观看| 欧美freesex8一10精品| 亚洲经典在线看| 99视频有精品| 亚洲第一久久影院| 亚洲第一精品电影| 亚洲电影自拍| 亚洲美女av电影| 亚洲欧美日韩国产综合精品二区| 一区二区三区回区在观看免费视频| 久久久成人精品| 在线观看视频一区| 女女同性女同一区二区三区91| 国产精品高潮呻吟视频| 日韩西西人体444www| 亚洲免费视频一区二区| 欧美日韩国产二区| 国产精品多人| 亚洲无限乱码一二三四麻| 国产亚洲欧美一区二区三区| 欧美日韩高清免费| 一区二区三区视频在线| 国产精品大片免费观看| 国产精品乱码人人做人人爱| 亚洲第一页自拍| 久久在精品线影院精品国产| 欧美国产日韩二区| 亚洲欧美国产精品va在线观看| 9久草视频在线视频精品| 欧美日韩国产精品一区| 亚洲激情成人在线| 欧美日韩一区三区四区| 亚洲欧洲一区二区三区在线观看| 夜夜夜精品看看| 午夜精品视频| 欧美日韩国产一区精品一区| 在线日韩av永久免费观看| 久久精品中文字幕一区| 在线观看视频一区二区欧美日韩| 中国成人亚色综合网站| 亚洲人成在线影院| 一区二区三区日韩精品视频| 亚洲欧美综合| 久久久久9999亚洲精品| 亚洲激情婷婷| 中文欧美在线视频| 久久精品国产99国产精品| 久久精品观看| 国产精品免费一区二区三区观看| 久久三级视频| 午夜性色一区二区三区免费视频| 国产一区二区高清不卡| 夜夜精品视频一区二区| 欧美精品一区在线发布| 两个人的视频www国产精品| 久久精品人人做人人爽| 国产精品欧美一区喷水| 亚洲一区美女视频在线观看免费| 亚洲二区在线视频| 亚洲线精品一区二区三区八戒| 国产午夜精品一区理论片飘花| 欧美专区中文字幕| 国产精品美女久久久免费| 亚洲欧美在线x视频| 欧美日韩国产精品成人| 免费欧美电影| 国产视频精品网| 欧美高清一区二区| 91久久亚洲| 欧美视频在线观看 亚洲欧| 亚洲午夜免费福利视频| 午夜精品一区二区三区在线| 一道本一区二区| 午夜精品在线观看| 国产精品夜夜夜一区二区三区尤| 先锋影音国产一区| 久久婷婷一区| 欧美日韩国产色站一区二区三区| 国产欧亚日韩视频| 一本一本大道香蕉久在线精品| 欧美日韩天天操| 国产伦精品一区二区三区视频黑人| 亚洲国产成人久久综合一区| 性久久久久久久久| 老司机精品福利视频| 久久精品国产99国产精品澳门| 亚洲欧洲免费视频| 国产精品99久久久久久www| 久久不射2019中文字幕| 黄色国产精品| 国产精品一区久久久| 免费成人激情视频| 国产欧美日韩另类一区| 国产自产高清不卡| 久久久另类综合| 一区二区三区日韩欧美精品| 亚洲在线国产日韩欧美| 国产精品v欧美精品v日韩精品| 久久亚洲综合网| 国产精品欧美风情| 99精品热视频只有精品10| 久久久久一区二区三区四区| 在线欧美亚洲| 欧美日韩亚洲一区在线观看| 国产亚洲精品久久飘花| 国产精品久久久久久妇女6080| 国产精品亚洲美女av网站| 9l国产精品久久久久麻豆| 你懂的国产精品永久在线| 国产精品wwwwww| 美女精品自拍一二三四| 国产农村妇女精品一区二区| 海角社区69精品视频| 亚洲韩国日本中文字幕| 午夜久久99| 国产精品免费网站| 激情久久久久| 伊人久久亚洲影院| 一级成人国产| 久热精品视频在线免费观看| 欧美精品在线视频| 亚洲一区二三| 亚洲欧美在线磁力| 亚洲黄色三级| 久久精品人人爽| 中文国产成人精品久久一| 国产一区二区三区精品久久久| 久久成人免费日本黄色| 国产亚洲午夜高清国产拍精品| 91久久在线| 国产精品国产三级国产a| 亚洲免费观看在线观看| 亚洲日本欧美| 欧美激情国产日韩| 欧美—级在线免费片| 国产综合第一页| 影音先锋在线一区| 国产精品人人做人人爽| 国产精品爽爽ⅴa在线观看| 亚洲一区二三| 久久久久久久久久久久久9999| 99国产精品一区| 亚洲精品免费一二三区| 欧美日韩精品一区二区三区四区| 久久久精品国产一区二区三区| 亚洲国产一区二区三区青草影视| 国产精品久久国产三级国电话系列| 久久久蜜桃一区二区人| 久久综合久久久| 亚洲精品视频啊美女在线直播| 久久夜色精品国产亚洲aⅴ| 日韩亚洲在线| 在线观看日韩| 亚洲开发第一视频在线播放| 久久久久99精品国产片| 亚洲国产日韩在线一区模特| 亚洲美女av黄| 国产一区在线播放| 久久综合色影院| 欧美精品在线视频观看| 久久激情久久| 亚洲动漫精品| 欧美激情第10页| 久久精品91久久香蕉加勒比| 另类春色校园亚洲| 国内外成人在线视频| 欧美电影免费网站| 久久亚洲春色中文字幕久久久| 亚洲一区二区三区色| 国产精品福利久久久| 久久精品中文字幕一区| 久久精品系列| 亚洲精品日韩精品| 国产精品亚洲人在线观看| 国产精品综合不卡av| 国产精品初高中精品久久| 国产精品久久久久久久久久三级| 久久久精品2019中文字幕神马| 影音先锋久久资源网| 久久久久久久综合色一本| 91久久极品少妇xxxxⅹ软件| 欧美a一区二区| 欧美日韩另类视频| 欧美日本韩国一区| 国产日韩在线视频| 亚洲精品黄色| 欧美精品久久久久a| 国产在线日韩| 亚洲色在线视频| 在线观看91精品国产麻豆| 久色成人在线| 在线观看国产成人av片| 亚洲主播在线观看| 亚洲国产婷婷综合在线精品| 国产精品久久久久久影院8一贰佰|