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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于DSP Builder的行車道檢測的實現(xiàn)

          基于DSP Builder的行車道檢測的實現(xiàn)

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

            通過對攝像頭讀入的道路白線圖像進行灰度變換,再檢測出白線的邊緣,這是實現(xiàn)智能車自動導航和輔助導航的基礎。系統(tǒng)可以應用于智能車的防撞預警和控制。該系統(tǒng)設計重點是邊緣檢測電路的設計。邊緣檢測電路包括圖像輸入緩沖電路、垂直方向的邊緣檢測電路、水平方向的邊緣檢測電路及對兩部分檢測的組合,最終通過閾值選擇形成二值邊緣圖像。傳統(tǒng)的方案大多采用單片機電路實現(xiàn),設計流程和系統(tǒng)調試都比較繁瑣,開發(fā)周期長。在實時中,由于處理速度要求較高,因此用以前的方法很難達到要求。實時常常需要對圖像進行求和、卷積、邊緣提取、圖像分割及特征提取等不同種類、不同層次的處理。對于一些運算結構簡單,但要處理大量數(shù)據(jù)的算法一般采用FPGA芯片來實現(xiàn)。通過FPGA實現(xiàn)信號處理可以取得出色的系統(tǒng)穩(wěn)定性,提高控制精度,還可以大大減少開發(fā)周期,使設計人員的設計自由度加大。本文采用Altera公司的Cyclone EP1C6作為主控芯片,利用Altera公司推出的數(shù)字信號處理開發(fā)工具 Builder作為設計平臺,通過 Builder SignalCompiler模塊讀取由 Builder和MegaCore模塊構建的Simulink建模文件(.mdl),生成VHDL文件和工具命令語言(Tcl)腳本,進行綜合、硬件實施和仿真,從而完成對整個道路邊緣檢測系統(tǒng)的設計。

            1 系統(tǒng)構成及邊緣檢測原理

            本系統(tǒng)中的主要模塊是進行二維卷積操作的sobel邊緣檢測模塊,它相當于硬件的協(xié)處理器。該系統(tǒng)從CF卡讀入數(shù)據(jù)到邊緣檢測模塊,使用Nios II控制數(shù)據(jù)流,采用DMA控制器在外部存儲器(SDRAM和SRAM)之間傳遞數(shù)據(jù),這些外部存儲器相當于中間圖像數(shù)據(jù)緩沖器。系統(tǒng)結構如圖1所示。

            邊緣是指圖像中像素灰度有階躍變化或屋頂狀變化的那些像素的集合。它對圖像識別和分析十分有用,邊緣能勾劃出目標物體輪廓,使觀察者一目了然。邊緣包含了豐富的信息(如方向、階躍性質 、形狀等),是圖像識別中抽取的重要屬性[1]。微分運算有加強高頻分量的作用,從而使圖像輪廓更清晰。對于數(shù)字圖像,微分可用差分近似代替,沿x和y方向的一階差分可分別表示如下:

            一階差分增強是有方向性的。為了增強圖像中間任何方向伸展的邊緣和輪廓,希望對圖像的某種導數(shù)運算是各向同性的,而梯度運算恰具有各向同性特性。對于圖像f(x,y)點上的梯度可定義為矢量:

            梯度幅度具有各向同性或旋轉不變性,而且給出了該像素點灰度的最大變化率。采用微分銳化圖像,會使噪聲、條紋等得到增強,這在中會造成偽邊緣和偽輪廓,為此對銳化算子進行了各種改進。Sobel算子就是其中一例,它在一定程度上克服了上述問題。Sobel算子的基本思想是:以待增強圖像的任意像素(i,j)為中心,截取一個3×3的像素窗口。分別計算窗口中心像素在x和y方向上的梯度[2]。Sobel算子的表達式如下:

            Sx=

            增強后圖像在(i,j)處的灰度值為:


          上一頁 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); })();