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