新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > Laplacian圖像邊緣檢測器的FPGA實現研究

        Laplacian圖像邊緣檢測器的FPGA實現研究

        作者: 時間:2009-04-21 來源:網絡 收藏
        1 引言
        邊緣可定義為圖像中灰度發生急劇變化的區域邊界,它是圖像最基本的特征,是圖像分析識別前必不可少的環節,是一種重要的圖像預處理技術。邊緣檢測主要就是(圖像的)灰度變化的度量、檢測和定位,它是圖像分析和模式識別的主要特征提取手段,在計算機視覺、圖像分析等應用中起著重要的作用,是圖像分析與處理中研究的熱點問題。
        數字信號和圖像處理算法的實現有多種途徑,傳統上多采用高級語言編程實現,便于使用的還有基于專用單片機來實現(一般稱為可編程DSP單片機)以及在VLSI上實現某種算法的專用集成電路芯片(ASIC)等。近年來,隨著EDA技術的迅速發展,國內外逐漸比較流行的是在中實現復雜算法的運算處理。
        在圖形處理領域,圖像處理的速度一直是一個很難突破的設計瓶頸。這里通過研究實現,來探討提高圖像處理速度的有關途徑。

        2 邊緣檢測的數學模型
        常見的邊緣檢測算子有:Roberts,,Kirseh,So―bel,Prewitt等。各種檢測算子各有其優缺點,其中算子是一種典型的邊緣檢測方法,它是一個3×3模板,對實現硬件的要求不高,用于檢測屋頂型邊緣的效果也不錯。研究其硬件實現具有一定的典型性,可推廣到對其他算子的硬件實現。
        拉普拉斯算子是根據圖像f(x,y)在x,y方向上的二階偏導數定義的一種邊緣檢測算子,其定義:

        本文引用地址:http://www.104case.com/article/188957.htm


        因為的灰度變化較大,所以圖像的一階偏導數在邊緣處有局部最大值或最小值,這樣二階偏導數在邊緣處會通過零點。用拉普拉斯算子檢測邊緣就是估算拉普拉斯算子的輸出,找出其零點位置。拉普拉斯算子定義為:


        如果把它用加權矩陣來表示則可表示成圖1左側所示的卷積模板。由于數字圖像中離散信號的特點,在連續情況下能獲得的精確零點這時可能無法全部檢測出來,故拉普拉斯算子輸出為零的點并不能表示出完整的目標邊緣。為此,在設計中定義邊緣為滿足以下兩個條件的像素點的集合:①拉普拉斯算子的輸出為正;②在其8鄰點存在拉普拉斯算子的輸出為負的點。

        3 檢測的實現流程
        圖像邊緣檢測有一個共同點:可轉化為用一個模板(2×2.3×3,4×4,5×5等)對圖像進行卷積。因此圖像邊緣檢測的核心就是如何處理模板的卷積運算。Laplacian算子就是一個3×3的卷積模板。
        3x3卷積運算閣定義如(3)式所示,其中Cm,n為被卷積后的像素值,Pm,n為圖像的實際像素值,其中Cm,n為被卷積后的像素值,Pm,n為圖像的實際像素值。由(3)式可知,完成一次3x3卷積操作需要9次乘法和8次加法操作。


        由圖1可知,圖像邊緣檢測的主要實現流程為:①模板在圖像中以光柵掃描方式移動;②將模板系數與模板下對應像素相乘;③將所有乘積相加;④將和(模板輸出響應)賦給圖像中對應模板中心位置的像素完成一次卷積。不斷重復上述步驟直至整幅圖像被處理完。

        4 分布式算法的運算原理
        分布式算法早在1973年就被Croisier提出,直到出現,才被廣泛地應用在FPGA中計算乘積和。除了用于卷積運算,還用于相關DFT和RNS反演映射的運算。介紹DA算法的運算原理。一個線性時不變網絡的輸出用下式表示:


        假設系數c[n]是已知常數,x[n]是變量,在有符號DA系統中假設變量x[n]的表達式如下:


        式中xb[n]表示x[n]的第b位,而x[n]也就是x的第n次采樣。于是,內積y可以表示為:


        重新分別求和(即分布式算法的由來),其結果為:


        從(7)式發現,分布式算法是一種以實現乘加運算為目的運算方法。與傳統算法的不同在于執行部分積運算的先后順序不同。分布式算法在實現乘加功能時,是將各輸入數據的每一對應位產生的部分積預先相加形成相應的部分積.然后再對各個部分積累加形成最終結果,而傳統算法是等到所有乘積已經產生后再相加完成乘加運算。與傳統串行算法相比,分布式算法可極大地減少硬件電路的規模,提高電路的執行速度。該算法實際上是一個“速度最優的高階分布式算法”

        5 Laplacian邊緣的FPGA設計
        5.1 系統的總體設計
        Laplacian邊緣DETECTOR總體設計如圖2所示。系統工作原理為:幀存儲器按照一定的規則(是按行)輸出數據,經過FIFO輸入緩沖,進入兩個32位的移位寄存器。由SIPO(串進并出)模塊得到所需的9個并行數據,送卷積處理器(Convolver)得到處理后的數據,最后卷積器輸出一個像素值。根據邊緣判斷規則,即可判斷出該點是否為邊緣點。

        5.2 卷積運算模塊的設計
        Laplacian模板是一個3x3階的數,每個像素值為8位,因此,它和另外的3x3模板進行卷積,其輸出表達式為:


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 太白县| 平阴县| 聂拉木县| 万安县| 修水县| 巴彦县| 顺平县| 湖南省| 红河县| 庄河市| 崇仁县| 鹤壁市| 临朐县| 云浮市| 汉寿县| 通许县| 崇仁县| 仪征市| 江都市| 江华| 佳木斯市| 思南县| 苍山县| 正镶白旗| 石景山区| 剑阁县| 仙居县| 贵定县| 大余县| 赤水市| 惠安县| 武威市| 淮安市| 揭西县| 明光市| 新蔡县| 瑞丽市| 比如县| 吴堡县| 贵德县| 绥阳县|