當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于PXA255的自動聚焦及圖像采集模塊設(shè)計(jì)

摘   要:本文介紹了一種基于Intel公司 PXA255嵌入式處理器的自動聚焦圖像采集系統(tǒng)。其中詳細(xì)介紹了自動聚焦在FPGA中的實(shí)現(xiàn)以及圖像采集在嵌入式linux系統(tǒng)中的實(shí)現(xiàn),并給出了該系統(tǒng)的硬件結(jié)構(gòu)圖。
關(guān)鍵詞:自動聚焦;圖像采集;V4L視頻接口;嵌入式QT;離散余弦變換

引言
    目前市場上流行的攝像手機(jī)一般都不具備自動聚焦功能,這對于傳感器分辨率在30萬像素以下的攝像手機(jī)來說影響不大,但隨著百萬像素手機(jī)的面世,以及手機(jī)錄像功能的采用,人們對攝像頭的自動聚焦功能越來越關(guān)注。本文在Xhyper255開發(fā)板的基礎(chǔ)上,結(jié)合項(xiàng)目開發(fā)的需要,在開發(fā)板上移植QT/embedded作為嵌入式GUI,并設(shè)計(jì)了自動聚焦和圖像采集子模塊,其中自動聚焦部分通過verilog HDL在開發(fā)板上的FPGA上實(shí)現(xiàn),圖像采集部分利用linux內(nèi)核提供的video 4 linux接口實(shí)現(xiàn)。最后的采集程序界面采用嵌入式QT設(shè)計(jì)工具designer進(jìn)行設(shè)計(jì)。


圖1  硬件平臺結(jié)構(gòu)圖


圖2  DCT變換模塊


圖3 DCT變換流程圖


圖4  自動聚焦流程圖

基于圖像處理的自動聚焦系統(tǒng)算法
    與傳統(tǒng)的自動聚焦算法相比,基于圖像處理的自動聚焦算法的實(shí)現(xiàn)不需要額外的信號源和相應(yīng)的接收傳感器,這有利于縮小器件的體積以降低成本,并降低器件的功耗。

    在這類算法中,分析處理模塊直接對獲得的視頻圖像進(jìn)行處理,以得到相應(yīng)的判決函數(shù),驅(qū)動控制模塊則根據(jù)得到的聚焦判決函數(shù)信息來驅(qū)動步進(jìn)電機(jī),帶動鏡頭前后移動,直到獲得聚焦清楚的圖像。因此,構(gòu)造合理的判決函數(shù)就成了基于圖像處理的自動聚焦算法的關(guān)鍵所在。理想的聚焦判決函數(shù)應(yīng)該具有單峰性、無偏性并能反映離焦的極性,同時(shí)應(yīng)具有較強(qiáng)的抗干擾能力。

    在對目前的自動聚焦判決函數(shù)做相應(yīng)的對比后,結(jié)合本系統(tǒng)的特點(diǎn)選擇2D-DCT變換去除其中的低頻成分,其余部分相加作為判決函數(shù)。2D-DCT變換的公式如式1所示。

(1)
這里C(0)=1/,C(u)=C(v)   (u,v≠0)

自動聚焦系統(tǒng)的實(shí)現(xiàn)
    開發(fā)平臺的搭建如圖1所示。

    采用Xhyper255嵌入式開發(fā)板,圖像采集子系統(tǒng)采用如下硬件搭建:30萬像素CMOS圖像傳感器OV7620、 MCS51單片機(jī)、USB控制器OV511+、 步進(jìn)電機(jī)和變焦鏡頭。

    OV7620的主要特性為:單片數(shù)字式彩色圖像傳感器;1/3光學(xué)格式;數(shù)字視頻輸出格式: 1~500倍的自動曝光范圍;自動增益和自動白平衡;能進(jìn)行亮度、對比度、飽和度、伽馬校正等多種調(diào)節(jié)功能。664×492的圖像陣列掃描出原始的R、G、B彩色圖像信號,經(jīng)模擬處理電路進(jìn)行曝光、校正、白平衡調(diào)整等處理后根據(jù)輸出要求可以轉(zhuǎn)換成YUV等多種信號輸出形式。OV511+是為CMOS圖像傳感器設(shè)計(jì)的專用USB接口控制芯片。

DCT變換的FPGA實(shí)現(xiàn)
     2D-DCT變換是視頻壓縮中的常用變換。在壓縮過程中,將一幅圖像分成許多8×8的小塊進(jìn)行變換。8×8的2D-DCT變換如式(2)所示:

(2)
這里C(0)=1/,C(u)=C(v)=1 (u,v≠0時(shí))。

    變換后去除其中的直流成份,其余的部分相加作為聚焦判決函數(shù)。函數(shù)最大值處即為焦點(diǎn)所處位置。

1. 塊準(zhǔn)備:給定的大小為640×480的彩色圖像矩陣,將其分為三個(gè)矩陣,分別為亮度矩陣(Y),每個(gè)的大小為8×8,共4800個(gè);剩下的同相矩陣(I)和正交矩陣(Q)分化為兩組1200個(gè)矩陣,每個(gè)大小為8×8,使用下列矩陣將RGB分量映射到Y(jié),I,Q分量上:
Y=0.30R+0.59G+0.11B
I=0.60R-0.28G-0.32B
Q=0.21R-0.52G+0.31B

     對每個(gè)8×8矩陣Y,I,Q分量計(jì)算DCT,要計(jì)算2D-DCT,先對矩陣每行進(jìn)行1D-DCT,然后對結(jié)果矩陣按列進(jìn)行1D-DCT計(jì)算。

2. DCT模塊設(shè)計(jì):DCT系數(shù)采用case語句用查找表結(jié)構(gòu)實(shí)現(xiàn),程序源代碼不在此詳述。

    DCT變換的實(shí)現(xiàn)過程為:串行數(shù)據(jù)首先放到輸入緩沖(采用環(huán)形寄存器來構(gòu)造),然后進(jìn)行求積、求和運(yùn)算,最終以并行數(shù)據(jù)的形式輸出。這些操作要在控制模塊下完成,以保證時(shí)序的正確。

    DCT變換模塊的框圖如圖2所示。8×8DCT變換實(shí)際上就是64個(gè)像素點(diǎn)的并行運(yùn)算。對每個(gè)象素點(diǎn)所作的運(yùn)算為:輸入數(shù)據(jù)和DCT系數(shù)相乘,而后相加得到最后結(jié)果。流程如圖3所示。

     由公式可知,需要計(jì)算8×8=64次,每計(jì)算一次后,將i,j,u,v做相應(yīng)變化,并重新在系數(shù)表中找到相應(yīng)的系數(shù),和新的數(shù)據(jù)相乘,作下一次運(yùn)算。

自動聚焦的實(shí)現(xiàn)
     去除每個(gè)8×8矩陣中的低頻成分。然后把相應(yīng)的高頻成分相加,所得的和做為自動聚焦的判決函數(shù),傳輸?shù)紺PU。編程實(shí)現(xiàn)一路PWM信號輸出,控制步進(jìn)電機(jī)的步長和方向。實(shí)現(xiàn)自動聚焦。自動聚焦的流程如圖4所示。

圖像采集的實(shí)現(xiàn)
     圖像采集程序的編寫基于linux內(nèi)核中提供的Video4Linux 接口。Video4Linux是2.2.0版本之后linux內(nèi)核提供給網(wǎng)絡(luò)攝像頭、視頻采集卡、電視卡等設(shè)備軟件開發(fā)的接口標(biāo)準(zhǔn)。這個(gè)標(biāo)準(zhǔn)為內(nèi)核、驅(qū)動、應(yīng)用程序提供一個(gè)API進(jìn)行交流。目前的最新Video4Linux版本為V4L2。

使用雙URB輪流通信
     對于對時(shí)間敏感而對數(shù)據(jù)的正確性要求不高的圖像采集應(yīng)用,USB總線定義了ISOC傳輸模式,USB攝像頭應(yīng)當(dāng)使用這種傳輸方式。為了盡可能快地得到圖像數(shù)據(jù),應(yīng)當(dāng)在URB中指定USB_ISO_ASAP標(biāo)志。
urb->transfer_flags=USB_ISO_ASAP;
//盡可能快地發(fā)出本URB

     Linux系統(tǒng)中任何USB傳輸都通過URB實(shí)現(xiàn)。為提高速度,可以考慮擴(kuò)大URB的緩沖,也可以建立兩個(gè)URB,在等待一個(gè)URB被回收時(shí),也就是圖像正在被傳感器采集時(shí),處理、初始化另一個(gè)URB,并在回收后立刻將其發(fā)出。兩個(gè)URB交替使用,大大減少了額外時(shí)間。

使用內(nèi)存映射并用雙幀緩沖提高效率
  Linux系統(tǒng)通過read,write等來實(shí)現(xiàn)對硬件的操作,它們通過copy_to_user()、copy_from_user()等函數(shù)在內(nèi)核和用戶內(nèi)存空間中互相拷貝。但是對于視頻采集這類需要大量高速傳輸數(shù)據(jù)的應(yīng)用來說,這種方法耗費(fèi)的硬件資源過大,通過內(nèi)存映射的方法可以使這一問題得到有效解決。首先使用vmalloc()申請足夠大的核態(tài)內(nèi)存,將其作為圖像數(shù)據(jù)緩沖空間,兩個(gè)URB帶回的圖像數(shù)據(jù)在這里暫存;然后使用remap_page_range()函數(shù)將其逐頁映射到用戶空間中。戶態(tài)的圖像采集處理程序使用mmap()函數(shù),直接讀寫內(nèi)核圖像緩沖內(nèi)存,大大減少額外開銷。另外,為了進(jìn)一步提高幀速率,本文采用雙幀緩沖方式進(jìn)行圖像采集。

結(jié)語
   本系統(tǒng)只需在DCT算法的實(shí)現(xiàn)和圖像采集接口實(shí)現(xiàn)上根據(jù)具體的硬件條件作些修改,就可應(yīng)用于大多數(shù)智能產(chǎn)品的開發(fā)(如基于嵌入式linux的智能手機(jī)的開發(fā)),因此具有較好的市場應(yīng)用前景。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉