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

          新聞中心

          EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA+DSP技術的Bayer格式圖像預處理

          基于FPGA+DSP技術的Bayer格式圖像預處理

          作者: 時間:2010-12-19 來源:網(wǎng)絡 收藏


          3 系統(tǒng)的硬件工作過程
          系統(tǒng)硬件框圖如圖3所示,整個系統(tǒng)在通電后,先由TMS320DM642通過I2C向500萬像素的CMOS攝像頭發(fā)出控制命令,調(diào)整攝像頭輸出的圖像分辨率、焦距等,之后由攝像頭將采集到的圖像數(shù)據(jù)發(fā)送至。由于攝像頭輸出的圖像格式為12位的圖像,而的vp-ort口支持為8位或者16位的RAW采集方式,本項目中采用了更適合于處理的8位數(shù)據(jù),所以需要對采集的圖像數(shù)據(jù)取高8位以方便獲取圖像數(shù)據(jù)。在Frame_Valid和Line_Valid同時為高電平的時,在Pixclk的上升沿采樣圖像數(shù)據(jù),并將原來的12位圖像數(shù)據(jù)取其高8位轉(zhuǎn)換成8位圖像數(shù)據(jù),然后利用FPGA內(nèi)部的FD-FIFO模型結(jié)構(gòu)取圖像的3x3矩陣并利用雙線性插值算法將圖像轉(zhuǎn)換成24位的RGB圖像格式。除此之外,F(xiàn)PGA還將Bayer圖像數(shù)據(jù)轉(zhuǎn)換成了Y亮度信號以達到DSP對運算數(shù)據(jù)的要求,使得DSP只工作在核心算法上。

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


          轉(zhuǎn)換好的亮度圖像數(shù)據(jù)由FPGA通過TMS320DM642的VPort1口發(fā)送至DSP進行核心算法處理。為了更好地達到整個DSP算法處理的實時性,DSP采用了BIOS實時操作系統(tǒng)。經(jīng)算法處理好的圖像數(shù)據(jù)由TMS320DM642通過其VPortO口發(fā)送至FPGA。過程是在Spartan-3系列的XC3S1500x中進行的。FPGA使用的設計方法是HDL設計輸入法,常用的HDL語言有VHDL和VerilogDHL語言,在本系統(tǒng)中使用VHDL語言進行硬件設計。
          系統(tǒng)采用的是通過FPGA固件支持高傳輸率USB2.0的CY7C68013芯片,采用Slave_FIFO模式接收FPGA輸出的圖像數(shù)據(jù),再通過USB口輸送給上位機。如圖4所示,圖4(a)為RAW圖像,即每個像素點只含有單一顏色分量的Bayer格式圖像,圖4(b)為系統(tǒng)處理后的RGB格式的亮度信號圖像。



          4 結(jié)論
          可見,本文所提出的基于FPGA+DSP的圖像處理系統(tǒng),能在FPGA硬件設備中高速、高質(zhì)量地對CMOS傳感器采集的Bayer圖像進行預處理,為DSP數(shù)字信號處理器進行核心算法減少運算量,提高整個圖像處理的實時性,縮短了開發(fā)周期,并且這種FPGA+DSP的組合模式也可以推廣到處理各種數(shù)字視頻信號。


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

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