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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于PXA255的自動(dòng)聚焦及圖像采集模塊設(shè)計(jì)

          基于PXA255的自動(dòng)聚焦及圖像采集模塊設(shè)計(jì)

          ——
          作者:西安電子科技大學(xué) 劉旭輝 白玉霞 孫肖子 時(shí)間:2007-01-26 來源:《電子設(shè)計(jì)應(yīng)用》 收藏

          引言

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

          本文引用地址:http://www.ex-cimer.com/article/21305.htm
          圖1 硬件平臺(tái)結(jié)構(gòu)圖
          圖2 dct變換
          圖3 dct變換流程圖
          圖4 自動(dòng)聚焦流程圖

          基于圖像處理的

          自動(dòng)聚焦系統(tǒng)算法

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

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

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

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

          自動(dòng)聚焦系統(tǒng)的實(shí)現(xiàn)

          開發(fā)平臺(tái)的搭建如圖1所示。

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

          ov7620的主要特性為:?jiǎn)纹瑪?shù)字式彩色圖像傳感器;1/3光學(xué)格式;數(shù)字視頻輸出格式: 1~500倍的自動(dòng)曝光范圍;自動(dòng)增益和自動(dòng)白平衡;能進(jìn)行亮度、對(duì)比度、飽和度、伽馬校正等多種調(diào)節(jié)功能。664×492的圖像陣列掃描出原始的r、g、b彩色圖像信號(hào),經(jīng)模擬處理電路進(jìn)行曝光、校正、白平衡調(diào)整等處理后根據(jù)輸出要求可以轉(zhuǎn)換成yuv等多種信號(hào)輸出形式。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(tǒng),i,q分量上:
          y=0.30r+0.59g+0.11b
          i=0.60r-0.28g-0.32b
          q=0.21r-0.52g+0.31b

          對(duì)每個(gè)8×8矩陣y,i,q分量計(jì)算dct,要計(jì)算2d-dct,先對(duì)矩陣每行進(jìn)行1d-dct,然后對(duì)結(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)算。對(duì)每個(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)算。

          自動(dòng)聚焦的實(shí)現(xiàn)

          去除每個(gè)8×8矩陣中的低頻成分。然后把相應(yīng)的高頻成分相加,所得的和做為自動(dòng)聚焦的判決函數(shù),傳輸?shù)絚pu。編程實(shí)現(xiàn)一路pwm信號(hào)輸出,控制步進(jìn)電機(jī)的步長(zhǎng)和方向。實(shí)現(xiàn)自動(dòng)聚焦。自動(dòng)聚焦的流程如圖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ū)動(dòng)、應(yīng)用程序提供一個(gè)api進(jìn)行交流。目前的最新video4linux版本為v4l2。

          使用雙urb輪流通信

          對(duì)于對(duì)時(shí)間敏感而對(duì)數(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)對(duì)硬件的操作,它們通過copy_to_user()、copy_from_user()等函數(shù)在內(nèi)核和用戶內(nèi)存空間中互相拷貝。但是對(duì)于視頻采集這類需要大量高速傳輸數(shù)據(jù)的應(yīng)用來說,這種方法耗費(fèi)的硬件資源過大,通過內(nèi)存映射的方法可以使這一問題得到有效解決。首先使用vmalloc()申請(qǐng)足夠大的核態(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ā)),因此具有較好的市場(chǎng)應(yīng)用前景。




          關(guān)鍵詞: 模塊

          評(píng)論


          相關(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); })();