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

          新聞中心

          EEPW首頁 > 測試測量 > 設計應用 > 基于FPGA的結(jié)構(gòu)光圖像中心線提取

          基于FPGA的結(jié)構(gòu)光圖像中心線提取

          作者:張志朋 徐曉 時間:2015-06-08 來源:電子產(chǎn)品世界 收藏
          編者按:在線結(jié)構(gòu)光視覺三維測量系統(tǒng)中,為了實現(xiàn)對結(jié)構(gòu)光圖像線條紋中心的實時高精度提取,本文采用了極值法、閾值法和灰度重心法相結(jié)合的中心線提取方法。利用現(xiàn)場可編程門陣列器件(FPGA)的流水線技術以及并行技術的硬件設計來完成運算,保證了光條紋中心點的實時準確提取。實驗表明采用FPGA 實現(xiàn)圖像處理的專用算法能滿足圖像數(shù)據(jù)進行實時準確提取的要求。

          摘要:在線結(jié)構(gòu)光視覺三維測量系統(tǒng)中,為了實現(xiàn)對線條紋中心的實時高精度提取,本文采用了極值法、閾值法和灰度重心法相結(jié)合的方法。利用現(xiàn)場可編程門陣列器件()的流水線技術以及并行技術的硬件設計來完成運算,保證了光條紋中心點的實時準確提取。實驗表明采用 實現(xiàn)圖像處理的專用算法能滿足圖像數(shù)據(jù)進行實時準確提取的要求。

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

          引言

            隨著測控技術及數(shù)字圖像處理技術的高速發(fā)展,基于三角法線結(jié)構(gòu)光的三維測量具有高精度、非接觸、實時性和強主動受控性的特性,因此在現(xiàn)實中有廣泛的應用,尤其是在計算機視覺、醫(yī)療診斷和工業(yè)檢測等領域應用價值日漸增強。在結(jié)構(gòu)光檢測系統(tǒng)中,利用CCD相機以及工業(yè)相機攝取用線結(jié)構(gòu)平面激光照射照在物體表面形成的光條紋中心信息,然后根據(jù)光條紋中心偏移量進行三維定標,這樣可以得到物體表面的各類信息,比如表面的缺陷以及形變等。有鑒于此,線結(jié)構(gòu)光條中心信息的圖像處理在測量過程中就顯得十分關鍵[1-3]。雖然目前結(jié)構(gòu)光中心線的提取方法有許多種,比如:閾值法、極值法、灰度重心法、方向模板法、Hessian矩陣法等[4-6],這些方法都有各自的優(yōu)缺點以及一定的應用范圍?;跀?shù)字圖像處理的特點是處理的數(shù)據(jù)量非常大,處理非常耗時。所以本文研究了在上用硬件描述語言實現(xiàn)圖像的算法,采用了極值法、閾值法和重心法相結(jié)合的方法。通過功能模塊的硬件化,以便高速提取結(jié)構(gòu)光中心線。結(jié)果表明,實驗系統(tǒng)達到了基于視頻速度的應用要求。

          1 系統(tǒng)硬件設計

            圖1為光條中心線提取系統(tǒng)的硬件設計框圖。整個中心線提取系統(tǒng)主要有四個組成部分:

            (1)視頻數(shù)據(jù)編碼模塊:編碼器采用ANALOG DEVICES公司的ADV7179芯片,該編碼器能實現(xiàn)ITU—R BT601/BT656 YCrCb(其比例為4:2:2)格式的數(shù)字信號轉(zhuǎn)為NTSC/PAL摸擬視頻輸出信號;

            (2)DDR2 SDRAM存儲器控制模塊:選用兩片MICRON公司的MT47H64M16 DDR2存儲器來實現(xiàn)圖像幀數(shù)的交叉緩存,為后面的中心線提取提供像素值以及坐標值;

            (3)中心線提取模塊:FPGA采用的是Altera公司Cyclone III系列的EP3C40F484C6芯片,該芯片價格低廉、實用性強,能充分發(fā)揮芯片的并行計算能力,實現(xiàn)中心線的快速提取;

            (4)視頻數(shù)據(jù)編解碼模塊:解碼器采用TEXAS INSTRUMENT 公司的TVP5150芯片,該芯片低功耗,能解決視頻輸入輸出同步問題,而且輸出型號的特性可以通過I2C串行接口進行編程配置。

            整個系統(tǒng)從CCD攝像機接收的模擬視頻信號通過視頻解碼芯片解碼后,轉(zhuǎn)換成BT656(4:2:2)YCbCr SDTV(標清)格式的數(shù)字視頻信號,通過一個FIFO來進行行/場消隱、解出同步信息等操作,之后提取圖像信息的Y(亮度值)分量,然后在數(shù)據(jù)上傳輸。對于圖像的傳送采用兩片DDR2來進行奇偶兩場傳送;同時對視頻解碼器輸出的同步信號進行檢測。當有效數(shù)據(jù)到來時,F(xiàn)PGA選擇一片DDR2,使用隔行存儲方式,完成一幀圖像的存儲,當?shù)诙瑘D像有效數(shù)據(jù)到來時,F(xiàn)PGA選擇另一片DDR2,以相同的方式完成第二幀圖像的存儲,依次交叉存儲,然后經(jīng)內(nèi)部的處理模塊處理后得到圖像光帶中心線坐標[8]。將提取的一行中心線坐標存儲在RAM里面,再經(jīng)過視頻編碼器將數(shù)字視頻信號轉(zhuǎn)換成模擬視頻信號輸出到顯示終端顯示。

          2 算法的FPGA實現(xiàn)

          2.1 算法流程

            我們首先以列掃描的方式讀出一幀數(shù)據(jù),并將讀出的亮度值與所設定的閾值進行比較。濾除不需要的點,然后通過像素值比較得到像素值最大點,之后用最大點周邊的3*3鄰接點來進行灰度重心法計算出光條中心點。具體做法如下:

            (1)由于光帶圖像中的亮點太多,所以對讀出的像素值與設定的閾值進行比較,濾除雜點;

            (2)對大于閾值的點進行比較,找到亮度值最大的點及其周邊3*3鄰域點;

            (3)然后,對 分別運用(1)式求得其亞像素坐標:

          (1)

          2.2 存儲單元

            對于算法的實現(xiàn),還要考慮圖像數(shù)據(jù)的存儲結(jié)構(gòu)。這其中包括:點存儲器,用來存儲需要運算的單個像素點;行存儲器,用來緩存需要運算的圖像的一行像素點;幀存儲器,用來存儲整幀圖像。一般幀存儲器都需要很大的容量,而FPGA內(nèi)部實現(xiàn)起來比較困難,所以FPGA板都會增加外部存儲器,由外部的DDR2 SDRAM 芯片實現(xiàn)[9];為了使進行運算的領域9個3*3的像素點能在同一時鐘輸出,便于進行之后的流水線算法模塊,因此在3*3的滑動窗的硬件設計中,本文采用了2個RAM存儲器來進行行存儲。具體操作是:先用兩個RAM存儲器存儲兩行數(shù)據(jù),等到第三行到來時,再將前兩行的數(shù)據(jù)讀出來,之后用9個寄存器存儲這9個數(shù)據(jù),以保證數(shù)據(jù)的同時獲取[10]。存儲結(jié)構(gòu)見圖2所示。

            這樣,當圖像像素點串行輸入時,經(jīng)過這種結(jié)構(gòu)的存儲器系統(tǒng),即可得到相應點進行灰度重心法計算所需的所有鄰域點的并行輸出。


          fpga相關文章:fpga是什么


          存儲器相關文章:存儲器原理



          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(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); })();