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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于FPGA的采集卡的圖像增強算法應用研究

          基于FPGA的采集卡的圖像增強算法應用研究

          作者: 時間:2014-02-13 來源:摘自《電子發(fā)燒友》 收藏

            2.2 算法的實現(xiàn)

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

            利用現(xiàn)場可編程門陣列()的并行、實時處理的特性,實現(xiàn)的片上集成系統(tǒng)(SoC)。系統(tǒng)將圖2 中的r1 ,r2 ,s1 和s2 設計成接口參數(shù),用戶通過主控計算機的應用程序可以反復配置參數(shù),直到得到預期的結果為止。

            2.2.1 算法的實現(xiàn)

            為了方便闡述,把整個FPGA 實現(xiàn)算法,分為幾個階段。首先,PC 機通過應用程序送r1 ,r2 ,s1和s2 。而后,由驅動程序中的定點化程序將系數(shù)進行定點化,后通過9054把式(2)中k1 ,k2 ,k3 ,r1 ,r2 ,s1 ,s2 和移位參數(shù)bit1 ,bit2 ,bit3 送到FPGA的內部寄存器中。這樣,F(xiàn)PGA中嵌入的圖像增強算法模塊就能從SDRAM 中取出原始圖像數(shù)據(jù)進行增強,并把經(jīng)處理后的圖像數(shù)據(jù)存回SDRAM中。圖像增強模塊首先取回數(shù)據(jù),對取回的數(shù)據(jù)進行判斷,把圖像數(shù)據(jù)分為3個區(qū)間。并做相應的減法。結果跟定點后的系數(shù)進行定點乘法,之后將結果數(shù)據(jù)進行移位操作,然后通過累加輸出結果。常用的并行處理有兩種最基本的連接模式:流水線連接和并行陣列連接。針對該算法,采用流水線連接方式進行。在流水線結構中,一個大任務被分解成復雜性大致相同的小任務,各小任務在流水線上同時執(zhí)行,整個任務的速度取決于執(zhí)行時間最長的子任務的執(zhí)行時間。在本論文設計中把增強算法模塊化分成判斷模塊,減法模塊,乘法模塊,移位模塊和累加模塊,并將其進行流水連接。算法邏輯框圖如圖3所示。

          圖像增強算法邏輯框圖

            Cyclone器件中的M4K 塊支持軟乘法器,在設計中采用ALTERA的IP實現(xiàn)。乘法器的IP核如圖4所示。

          8位乘8位乘法器

            2.2.2 FPGA算法調試結果分析

            通過SignalTap抓取圖像值為0×08的圖像增強算法的調試結果見圖5.系數(shù)k1 為1,bit1 為4時,圖像經(jīng)算法后的像素值image_data_out為1,符合算法結果正確。

          圖像增強算法調試結果

            3 結論

            本文設計開發(fā)了一款以FPGA 為核心控制芯片的嵌入式圖像采集卡。采集卡以FPGA 為邏輯和算法實現(xiàn)的核心器件,不僅實現(xiàn)了傳統(tǒng)意義上的圖像采集,而且實現(xiàn)了CCD 相機控制和激光器同步曝光功能,打破了以往單純靠增加硬件設備實現(xiàn)同步控制的方法,簡化了系統(tǒng)硬件結構并節(jié)約系統(tǒng)成本。此外,在系統(tǒng)中嵌入了圖像增強算法和采用接口與計算機連接滿足了高速采集的要求。根據(jù)所選芯片的自身特點,設計了相關的圖像增強算法。用和原理圖結合的方法對FPGA 進行編程,實現(xiàn)了圖像采集系統(tǒng)的各個功能模塊。在FPGA內嵌入了圖像增強集成系統(tǒng),用硬件并行處理實現(xiàn),經(jī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); })();