段紀丁 杜 爽 鐘榮 崔 鵬
1. 西南科技大學工程技術中心智能機器人創(chuàng)新實踐班,四川 綿陽 621010 2. 西南科技大學信息工程學院,四川 綿陽 621010
基于FPGA的圖像處理系統(tǒng)的設計與實現
段紀丁1杜 爽2鐘榮2崔 鵬1
1. 西南科技大學工程技術中心智能機器人創(chuàng)新實踐班,四川 綿陽 621010 2. 西南科技大學信息工程學院,四川 綿陽 621010
本文基于中值濾波算法與改進的Sobel邊沿檢測算法理論,采用了SOPC技術,以FPGA為核心設計了圖像采集系統(tǒng),通過VerlogHDL語言實現了圖像處理算法模塊對圖像進行預處理,實現了圖像的除噪、干擾濾除以及邊沿檢測與傳輸,實現了上、下位機的同步顯示,并且通過上位機上可以結合更多的圖像識別算法,為實現更加復雜的圖像處理奠定了基礎。
FPGA;中值濾波;Sobel檢測算法;H264壓縮
算法;VerlogHDL
中圖類分號:TP317.4
圖像是人類獲取信息的重要途徑[1],隨著數字圖像技術的廣泛應用,許多領域對圖像的質量的要求越來越高,越來越多的圖像處理的算法也在實際中得到應用,其中較為廣泛的有中值濾波算法、Sobel圖像邊沿檢測算法等。中值濾波算法是一種非線性空間濾波方法,對于脈沖干擾以及輸入噪聲有很好的處理效果[2],但是本身對圖像邊沿的檢測效果不是很好。本文基于中值濾波算法和一種改進的Sobel圖像邊沿檢測算法[3]相結合,提出一種對圖像進行處理的綜合方式,并且以Altera公司的FPGA為核心,通過VerlogHDL語言構建上述算法模塊,根據實際設計了圖像處理系統(tǒng),經實際效果顯示,該系統(tǒng)對于圖像有很好的處理效果。
1.1 中值濾波算法原理[2]
中值濾波算法是圖基(Turky)在1971年提出來的[4],通過定義大小為N*N的領域,根據領域(x,y)內的像素灰度進行排序,以該點的中值midde作為該領域的等效灰度值。中值濾波是一種非線性基于領域操作的處理算法,能夠有效地處理圖像信號中的噪聲和干擾,中值濾波公式如下:
上式(1)中,g(x,y)表示在(x,y)處
經過中值濾波后的等效灰度值。在FPGA中利用VerlogHDL語言構建中值濾波算法模塊。本文對由3*3方形窗生成的9個像素輸出數據進行濾波處理。圖1為中值濾波算法流程圖,將窗口中的9個像素分為3組,分別對這3組中的最值min_of_max, max_of_min和med_of_med進行比較,最后得到等效像素灰度值midde。
圖1 中值濾波算法操作流程
1.2 改進Sobel算法原理[3]及構建
經典的Sobel算法是通過在圖像空間,利用兩個方向模板與圖像鄰域進行卷積,最后通過與閥值TH進行大小比較后的結果來判斷是否圖像邊緣,這樣的方式只能檢測兩個方向的邊緣,對于較復雜的圖像就不具備高效性,并且僅根據與閥值的大小關系判斷邊緣點是欠合理的。
基于以上不足,本文采取改進后的Sobel檢測算法,通過邊緣跟蹤的思想,檢測水平、垂直、左對角、右對角等8個不同方向上像素點的灰度平滑性來識別圖像邊沿,并且,根據檢測該點的梯度值與確定閥值TH進行比較,見表1,判斷是否為邊緣點。計算式如式(2):
表1 Sobel邊沿檢測算法改進前后效果對比
其中,grade(m,n)為像素點(m,n)對應的梯度值; Max(i,j)為(m,n)點8鄰域
最大梯度值; 為控制因子。這種方式不但突出了對圖像的邊緣銳化, 而且有增強邊緣對比值,為后期對圖像位置的定位起到了重要的作用。圖2為處理前后的效果對比圖。
2.1 圖像采集、處理與傳輸的工作流程
該系統(tǒng)采用CCD攝像頭模塊進行圖像
信息的采集,由視頻解碼芯片SAA7113對采集的模擬圖像信息進行數字化處理,并通過FPGA中FIFO內組成的數據幀存儲在外部SDRAM中[6],并且利用編碼芯片SAA7121對處理后的數字信息進行D/A轉換,使之能夠輸出PAL制式的電視視頻信號,并利用H264圖像壓縮算法對處理后的數據進行了壓縮處理,整個操作流程如圖3所示:
圖3 系統(tǒng)的硬件組成結構框
2.2 圖像顯示效果對比
基于設計的硬件與軟件模塊,對一靜物進行了圖像采集測試,如圖4得知,圖4a經過無線傳輸在TFT屏上顯示的比圖4a具有少許的噪聲,并且圖4b的灰度、對比度均發(fā)生些許的變化,但是基本上與圖4a顯示的效果一樣,達到了預期的目的。
圖4 圖像顯示效果對比
本文結合計算機圖像處理技術、通信技術和嵌入式自動控制技術,設計了由FPGA為控制核心的圖像處理系統(tǒng)。通過構建圖像處理算法模塊,實現了對圖像的處理,從實驗顯示效果圖來看,可以看出該圖像采集方案實現了圖像的無誤采集、存儲與傳輸,在項目處理圖像采集與傳輸過程中起到了很重要的作用,該系統(tǒng)已經應用在筆者所承擔的項目中。
[1] 孫紅亮 等,基于FPGA+ARM的高速計算機屏幕信息記錄系統(tǒng)[M]. 電子技術應用,2011:38-39.
[2] 王德勝,康令州. 基于FPGA的實時圖像采集與預處理[M]. 器件與應用,2010:32-33.
[3] 劉彩. 一種改進的Sobel圖像邊緣檢測算法[J]. 貴州工業(yè)大學學報(自然科學版),2004:77-78.
[4] 陳燕,李亞萍,楊永雙. 一種適合FPGA實現的中值濾波算法及軟硬件協(xié)同仿真[J]. 華北水利水電學院學報,2010:79-81.
[5] 馬利剛,馬鐵華. 基于FPGA的實時圖像采集系統(tǒng)設計[J]. 計量與測試技術,2009:51-56.[6] 高超,須文波,孫俊. 新的強高斯噪聲自適應濾波方法[J]. 計算機工程與應用,2011:154-156
西南科技大學大學生創(chuàng)新基金(項目編號:CX11-011)
10.3969/j.issn.1001-8972.2012.09.045
A
段紀?。?989- ),男,在讀本科生,西南科技大學工程技術中心智能機器人創(chuàng)新實踐班,研究方向:自動控制、控制理論與控制工程。