基于三星S3C2440A的Micro2440視覺(jué)處理平臺的構建

發(fā)布時(shí)間:2010-4-13 16:20    發(fā)布者:李寬
關(guān)鍵詞: 構建 , 平臺 , 三星 , 視覺(jué)
嵌入式機器人系統通常需要高速、功能接口豐富的處理器系統,而最新的Micro2440開(kāi)發(fā)板采用了三星S3C2440A處理器,該處理器基于 ARM920T內核,工作頻率400 MHz,0.13 μm的工藝制造,具有高性?xún)r(jià)比、低功耗、高性能的特點(diǎn)[1],同時(shí)內部集成了LCD、CMOS攝像頭等接口模塊,能夠高速快捷地完成視頻信號處理,而且豐富的外圍接口提供了系統良好的擴展特性。另外Micro2440核心板可以與底板分離單獨運行,為進(jìn)一步縮小體積預留了空間。無(wú)論是基于圖像的處理還是視頻流的處理,首先都需要完成視覺(jué)平臺的構建,本文在Micro2440開(kāi)發(fā)板的基礎上實(shí)現了視覺(jué)處理平臺,完成了圖像、視頻的處理和顯示功能,并提出了基于顏色通道的背景差分法,完成目標物體中心的實(shí)時(shí)檢測。

1 系統整體流程

該平臺設計首先完成了基本的硬件初始化,而CMOS攝像頭驅動(dòng)以及相應的圖像處理作為一個(gè)單獨的模塊進(jìn)行加載運行。該嵌入式系統的加載啟動(dòng)任務(wù)是由 BootLoader(BootLoader是嵌入式系統加電后運行的第一段程序)來(lái)完成的。BootLoader分為兩個(gè)階段:第一階段通常由匯編語(yǔ)言實(shí)現完成部分硬件的初始化,創(chuàng )建C語(yǔ)言運行環(huán)境;第二階段繼續進(jìn)行初始化完成MMU、LCD顯示等設置。在系統完成基本硬件的初始化工作后,便可以啟動(dòng)攝像頭進(jìn)行圖像、視頻的采集處理,系統結構如圖1所示。



BootLoader的第一階段啟動(dòng)的流程依次為:ARM啟動(dòng)或重啟→設置中斷向量→禁止看門(mén)狗、中斷→設置時(shí)鐘→Sdram初始化→復制RO/RW段到 Sdram→ZI段清零→堆棧初始化→跳轉到main函數。第二階段則完成了以下操作:main函數→端口初始化→設置中斷請求→設置主頻→串口初始化→ 設置MMU→打開(kāi)Cache→LCD初始化。ARM系統MMU的設計為了便于實(shí)現,采用了2段式的虛擬地址分配方式,每個(gè)頁(yè)(Section)的大小設置為1MB;同時(shí)為了減少對S3C2440地址的修改,采用了虛擬地址與物理地址相同的地址分配方式。

2 LCD設計

Micro2440開(kāi)發(fā)板配有240×320/NEC3.5英寸T- FT真彩液晶屏,正確設置后能夠顯示清晰的圖像、視頻。S3C2440A的LCD控制器支持的屏幕大小包括480×640、240×320以及 160×160等尺寸,能夠產(chǎn)生VFRAME、VLINE、VCLK、VM等控制信號。這些控制信號的使用需要配置S3C2440A的C端口為L(cháng)CD控制。同時(shí)LCD的數據線(xiàn)VD[0]~ VD[7]也由C端口控制,VD[8]~VD[23]則由D端口控制,需要設置做為L(cháng)CD數據線(xiàn)。由于使用的是TFT真彩液晶屏,需要把LCD控制寄存器設置為T(mén)FT模式,這里設置為T(mén)FT的16BPP(Bits Per Pixel)模式;同時(shí)還需要對LCDCON5進(jìn)一步設置為5:6:5或5:5:5:1格式,這里設置RGB格式為5:6:5格式,此信號在OV9650 傳輸如圖2所示[2]。以便和攝像頭的視頻輸出格式相一致,否則需要進(jìn)行格式的轉化。在設置完幀緩存地址后,寫(xiě)入數據,便可以實(shí)現圖像的顯示,格式轉換過(guò)程如圖3所示。



3 攝像頭驅動(dòng)設計

Micro2440開(kāi)發(fā)板的配套攝像頭型號為OV9650,該攝像頭具有130萬(wàn)像素,輸出視頻格式為YCbCr格式,同時(shí)S3C2440A的 CAMIF(Camera Interface) 提供了ITU-R BT.601/656 8位標準輸入的支持[3],最大可采樣4 096×4 096像素的圖像[4],在Preview模式下支持輸出RGB 16/24 bit格式,這對于數字圖像的處理帶來(lái)了便利條件。S3C2440A的CAMIF與OV9650的連接如圖4所示。



OV9650驅動(dòng)流程如下:設置Camera全局控制寄存器,并復位→配置S3C2440A的J端口→使能OV9650的Normal模式→設置接口時(shí)鐘 →通過(guò)I2CSCL,I2C-SDA與SID_C, SID_D信號建立S3C2440A與OV9650的通信→設置OV9650的寄存器組→初始化3C2440A攝像頭接口,包括捕獲圖像的寬、高、偏移、輸入格式、輸出格式、緩沖區地址等→將OV9650將LCD緩沖區地址更改到Camera的緩沖區地址,以顯示Camera圖像→清除中斷→設置中斷處理函數→開(kāi)始捕獲圖像。

其中,OV9650與S3C2440A的通信采用了兩線(xiàn)制的SCCB (Serial Camera Control Bus) [5],通過(guò)該接口可實(shí)現各種圖像增強和控制功能,如自動(dòng)曝光、自動(dòng)增益、自動(dòng)白平衡控制等,以及控制圖像色彩、飽和度、銳化、鏡頭校準等[6]。 S3C2440A控制端口產(chǎn)生SCCB的啟動(dòng)、停止等控制信號,SCCB 協(xié)議中開(kāi)始條件定義為:在SID_C 為高電平時(shí), SID_D出現一個(gè)下降沿,則SCCB開(kāi)始傳輸;停止條件定義為:在SID_C為高電平時(shí), SID_D出現一個(gè)上升沿,則SCCB停止傳輸;在數據傳輸時(shí),SID_C為高電平時(shí),需要SID_D上的數據的穩定,以便傳輸,如圖5所示。



以寫(xiě)一位數據傳輸為例,基本流程為:將數據放在SID_D上→啟動(dòng)SID_C進(jìn)行傳輸→延時(shí)傳輸后停止SID_C;同理,傳輸8位數據則需循環(huán)8次。類(lèi)似地,讀取時(shí)基本流程為:?jiǎn)?dòng)SID_C→讀取SID_D→停止SID_C。一個(gè)完整的數據傳輸的寫(xiě)周期順序為:寫(xiě)從設備的ID→寫(xiě)設備寄存器的地址→將此寄存器中寫(xiě)入數據。

4 圖像處理設計

在獲得攝像頭采集的圖像后,常常需要對捕獲的圖像進(jìn)行處理,并把處理的結果實(shí)時(shí)地顯示出來(lái)。本文通過(guò)設計在幀中斷處理函數中進(jìn)行圖像處理,可以很好地進(jìn)行處理后圖像的動(dòng)態(tài)顯示。此時(shí)需要將OV9650獲得的圖像的buffer地址設置到一臨時(shí)空間中,完成處理后再送入LCD的buffer地址中進(jìn)行顯示;否則,Camera和圖像處理函數同時(shí)寫(xiě)LCD的buffer地址,將出現LCD顯示不正確的情況。圖像處理流程如圖6所示。



5 圖像獲取結果

圖7分別是在室內環(huán)境下,桌面上一個(gè)普通乒乓球在攝像頭視頻顯示的結果(左)和在動(dòng)態(tài)處理后攝像頭視頻顯示(右)的截圖,其中視頻的下方同時(shí)顯示了一橫條圖片。圖像處理函數完成了視頻在綠色通道中的同步顯示。經(jīng)驗證,圖像處理的結果良好,色彩正常,并且無(wú)明顯滯后等異,F象。



6 運動(dòng)目標檢測

獲取OV9650圖像后,在此系統平臺上完成了對運動(dòng)物體的目標檢測,取得了良好效果。常用的運動(dòng)目標檢測方法有:光流法、幀差分法以及背景差分法 [7]。光流法大多計算復雜,占用CPU時(shí)間較多;幀差分法常常檢測目標不夠完整;因而針對嵌入式平臺采用了運算速度較快的背景差分法。實(shí)驗首先采用了基于灰度圖像的背景差分法,但效果不夠理想:設f(i,j)為一幀視頻圖像序列;Rf、Gf、Bf為其中的任一像素的紅綠藍分量,i,j為像素的橫坐標和縱坐標。B(i,j)為背景圖像序列,同樣地,RB、GB、 BB為其中的紅綠藍分量,依據以下公式計算灰度值(類(lèi)似黑白攝像頭獲得的灰度值):
   
背景差為: fB(i,j)=f(i,j)-B(i,j)。此系統中RGB格式為5:6:5格式,紅綠藍分量均取5位,綠色分量舍棄了最低位。獲得的差分圖像分別以紅色顯示和二值化獲得的結果如圖8所示。



如圖8(右)所示,由于灰度圖像的背景差分法獲得的像素值普遍較低,因而屏幕亮度較暗,在室內光線(xiàn)中LCD屏幕顯示很不清晰;圖8(左)為進(jìn)行二值化后背景差分法的圖像,也僅能夠得到小球的部分區域,效果不夠理想。于是本文針對于彩色圖像提出了基于顏色通道的背景差分法,可以獲得理想的效果。設P為顏色通道(這里紅色通道取值為0xF800),則基于顏色通道的背景差分法用如下公式計算:



背景差為: fB(i,j)=f(i,j)-B(i,j)。若取閥值T則:fB(i,j)=fB(i,j)-T。獲得的差分圖像分別在紅色通道中顯示和二值化所得的結果如圖9所示?梢(jiàn)圖9左圖二值化后可獲得乒乓球的圓形輪廓,十分清晰;而且在紅色通道中的圖像顯示輪廓明亮,說(shuō)明數值強度大抗干擾能力強。在獲得圖像后并自動(dòng)計算出形心位置,在橫軸和縱軸以白色直線(xiàn)顯示中心位置,在以240×320分辨率輸出時(shí),平均速率達30幀/s,實(shí)現了對運動(dòng)目標中心的實(shí)時(shí)檢測,如圖9右圖所示。實(shí)驗結果表明, 此基于Micro2440的視覺(jué)處理平臺上能夠很好地進(jìn)行圖像及視頻的顯示及處理。



本文基于Micro2440的視覺(jué)處理平臺具有以下特點(diǎn): (1)Micro2440平臺提供了豐富的外圍接口,方便功能擴展,S3C2440A自帶有CAMIF(Camera Inter-face) 模塊,無(wú)需接口轉化電路,核心板與底板分離可以進(jìn)一步縮小體積;(2)CPU工作頻率 400 MHz,處理速度較快,OV9650高達130萬(wàn)像素,分辨率高。

在每完成一幀的視頻采集后,能夠及時(shí)地進(jìn)行圖像處理,并且圖像處理的結果能夠在LCD上同步顯示;同時(shí)輕松轉換便可以方便地得到標準24位BMP圖像,為進(jìn)一步數字圖像處理提供了良好的平臺。

參考文獻

[1] 黃勇亮.基于嵌入式S3C2440的船舶導航系統設計[J]. 微計算機信息, 2008,24(11):135-154.
[2] OV9650 Color CMOS SXGA (1.3 MegaPixel) VarioPixel CAME-RACHIP. OmniVision Technologies , Version 1. 0 [M] .2004 ,5:10.
[3] S3C2440A 32-BIT RISC MICROPROCESSOR USER'S MANUAL PRELIMINARY Revision 0.14[M]. Samsung Electronics Company. 2004,7:10.
[4] 武云,王永皎,羅威.基于嵌入式Linux的攝像頭驅動(dòng)程序設計與實(shí)現[J].計算機工程與科學(xué), 2009,31(5):129-136.
[5] OmniVision Serial Camera Control Bus ( SCCB) Functional Specification. OmniVision Technologies , Version : 2. 1[M] .2003 .
[6] 阮越廣,趙偉勝.基于WLAN的家用安全監控系統的硬件設計[J].計算機工程,2008,34(10):250-252.
[7] 李寧,黃山,張先震,等.基于背景差分的人體運動(dòng)檢測[J].微計算機信息,2009, 25(7-3):257-282.

作者:李紅巖,邱聯(lián)奎
來(lái)源:電子技術(shù)應用
本文地址:http://selenalain.com/thread-10408-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页