基于FPGA的中值濾波快速算法的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
基于FPGA的中值濾波快速算法的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
基于FPGA的中值濾波快速算法的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
基于FPGA的中值濾波快速算法的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
基于FPGA的中值濾波快速算法的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、Vol.10No.1Jan.2008第10卷第1期2008年1月 2008.10引言現(xiàn)代圖像處理系統(tǒng)對(duì)實(shí)時(shí)性的要求愈來愈高,但圖像的前端采集往往會(huì)受器件或環(huán)境影響而使獲得的圖像含有噪聲,因而需要在對(duì)圖像處理前進(jìn)行去噪聲處理。若使用通用的軟件方法,由于處理過程需要進(jìn)行大量的簡(jiǎn)單計(jì)算,因此會(huì)消耗不少時(shí)間而影響系統(tǒng)的實(shí)時(shí)性。隨著現(xiàn)代電子技術(shù)的發(fā)展,用FPGA 來完成中值濾波這類運(yùn)算簡(jiǎn)單但數(shù)據(jù)量巨大的處理,無疑是一種理想的選擇。1中值濾波的原理和快速算法1.1中值濾波原理中值濾波是一種非線性空域?yàn)V波方法。它是可以有效抑制圖像噪聲,提高圖像信噪比的非線性濾波技術(shù)。中值濾波首先對(duì)鄰域點(diǎn)的灰度進(jìn)行排序,然后

2、選擇中間值作為輸出灰度值。與均值濾波器和其他線性濾波器相比,中值濾波可以很好的濾除脈沖噪聲(Impulsive Noise和椒鹽噪聲(Salt and Pepper Noise。同時(shí)能夠很好的保護(hù)圖像邊緣輪廓的細(xì)節(jié)。中值濾波的公式如下:g(x,y=medf(x-i,y-i,(i,jS (1其中,g (x,y,f (x,y為像素灰度值,S 為模板窗口。中值濾波的過程一般為:(1選擇一個(gè)(2n+1(2n+1的窗口(一般是3×3或者5×5,使窗口沿圖像數(shù)據(jù)的行方向和列方向從左至右、從上至下沿每個(gè)像素滑動(dòng)。(2每次滑動(dòng)后,對(duì)窗口內(nèi)的像素灰度進(jìn)行排序,并用中間值代替窗口中心位置的像素

3、灰度值。1.2快速中值濾波算法中值濾波算法的核心是快速求出中間灰度值。傳統(tǒng)的排序法如冒泡法,運(yùn)算量巨大。而用硬件實(shí)現(xiàn)不僅要消耗大量的資源,而且運(yùn)算速度很慢,難以滿足圖像系統(tǒng)處理的實(shí)時(shí)性要求。本文針對(duì)大小為3×3的窗口采用了一種快速排序算法,可以在很大程度上減少運(yùn)算量,且易于用較少的硬件資源實(shí)現(xiàn)。圖1所示是一個(gè)3×3窗口內(nèi)的像素排列方式,該窗口將窗口內(nèi)的各個(gè)像素點(diǎn)從左至右,從上至下依次定義為D11、D12、D13、D21、D22、D23、D31、D32、D33。處理時(shí),先分別對(duì)每一行的數(shù)據(jù)進(jìn)行排序,以得到每一行的最大值、中間值和最小值。其中收稿日期:2007-09-27基于F

4、PGA 的中值濾波快速算法的設(shè)計(jì)與實(shí)現(xiàn)王偉,楊兵(西安電子科技大學(xué)電子工程學(xué)院,陜西西安710071摘要:介紹了一種適合于硬件實(shí)現(xiàn)的快速圖像中值濾波算法,給出了用Verilog HDL 硬件描述語言在ALTERA 公司的CycloneII 器件上實(shí)現(xiàn)的系統(tǒng)設(shè)計(jì)方案及仿真結(jié)果。該方法可在圖像預(yù)處理系統(tǒng)中獲得良好的濾波效果,并可滿足其實(shí)時(shí)性要求。關(guān)鍵詞:中值濾波;FPGA ;流水線;圖像處理圖1窗口內(nèi)的像素排列模式第一列第二列第三列第一行D11D12D13第二行D21D22D23第三行D31D32D33設(shè)計(jì)參考57 Electronic Component &Device Applicat

5、ionsVol.10No.1Jan.2008第10卷第1期2008年1月 第一行得到的最大值為:Max1=max D11,D12,D13;中間值為:Med1=med D11,D12,D13;最小值為:Min1=min D11,D12,D13;同樣,也可得到第二行的三個(gè)值Max2,Med2,Min2和第三行的三個(gè)值Max3,Med3,Min3。由于在上述這九個(gè)數(shù)中,三個(gè)最大值中的最大值一定是九個(gè)像素值的最大值。同理,三個(gè)最小值中的最小值一定是九個(gè)像素值中的最小值。三個(gè)中值中的最大值至少大于五個(gè)像素值;即本行的最小值和其他兩行中的中值及最小值。而三個(gè)中值中的最小值至少小于五個(gè)像素值;即本行的最大值

6、和其他兩行的中值和最小值。所以,比較三個(gè)最大值中的最小值Min_of_max.、三個(gè)中值中的中間值Med_of_med 以及三個(gè)最小值中的最大值Max_of_min ,所得到的中間值就是最終的濾波結(jié)果Meddata 。其具體過程如下;Min_of_max=min Max1,Max2,Max3;Med_of_med=med Med1,Med2,Med3;Max_of_min=max Min1,Min2,Min3;Meddata =med Min_of_max,Med_of_med,Max_of_min;雖然,與傳統(tǒng)的排序方法相比,這種方法的比較次數(shù)大大減少。因?yàn)榍蟪鲋兄抵挥昧?9次比較運(yùn)算,因而

7、十分方便在FPGA 上進(jìn)行并行處理。2圖像預(yù)處理系統(tǒng)和中值濾波器的設(shè)計(jì)2.1圖像預(yù)處理系統(tǒng)設(shè)計(jì)對(duì)圖像的預(yù)處理,一般應(yīng)在前端采集之后立即進(jìn)行。圖2給出了一個(gè)圖像預(yù)處理系統(tǒng)的系統(tǒng)設(shè)計(jì)框圖。圖2中,圖像數(shù)據(jù)經(jīng)前端設(shè)備采集并經(jīng)過A/D 轉(zhuǎn)化后,可存入雙口RAM 中的一端。然后在選擇控制模塊的控制下將雙口RAM 中的幀數(shù)據(jù)提供給中值濾波模塊,同時(shí)在雙口RAM 的另一端存入另一幀圖像數(shù)據(jù)。接著將中值濾波處理后的圖像數(shù)據(jù)存入SDRAM 中,以供后續(xù)的進(jìn)一步處理。雙口RAM 的容量只要可以存儲(chǔ)兩幀圖像數(shù)據(jù)即可。2.23×3窗口模塊中值濾波作為圖像預(yù)處理的一部分,其實(shí)時(shí)性是一個(gè)關(guān)鍵的要求。它要求濾波器

8、能快速、連續(xù)的處理圖像數(shù)據(jù)。中值濾波的第一個(gè)問題是要準(zhǔn)確獲得3×3窗口中的圖像灰度數(shù)據(jù)。圖3給出了該濾波器的設(shè)計(jì)框圖。圖3中的濾波器用到了兩個(gè)FIFO 。這種設(shè)計(jì)可采用QuartusII 中的Megacore 實(shí)現(xiàn)。設(shè)計(jì)長(zhǎng)度為一行數(shù)據(jù)(即256。系統(tǒng)開始工作后,先對(duì)FIFO2寫第一行圖像數(shù)據(jù),寫滿后再對(duì)FIFO1寫第二行圖像數(shù)據(jù),直到FIFO1也寫滿。在此期間,FIFO1和FIFO2只寫不讀。當(dāng)完成兩行數(shù)據(jù)的寫入后,將數(shù)據(jù)輸入端和FIFO1、FIFO2如圖2所示進(jìn)行連接,此時(shí)的FIFO1和FIFO2只讀不寫,待三個(gè)時(shí)鐘周期后,將FIFO1和FIFO2設(shè)為既讀又寫。這樣,在寄存器輸出端

9、和兩個(gè)FIFO 的輸出端即可獲得第一個(gè)3×3模板中的圖像灰度數(shù)據(jù)。此后,隨著圖像數(shù)據(jù)的輸入,模板也沿著圖像從左至右、從上至下移動(dòng)。2.3模板中的數(shù)據(jù)排序數(shù)據(jù)排序可分為三步。第一步是對(duì)每行的數(shù)據(jù)進(jìn)行排序。第二步是對(duì)第一步所得到的大值組、中值組、小值組進(jìn)行排序。第三步是對(duì)第二步所得到的大值組中的最小值、中值組中的中值、小值組中的最大值進(jìn)行排序,最后得到中值。具體用FPGA 實(shí)現(xiàn)時(shí),為了滿足實(shí)時(shí)性要求,可采用流水線技術(shù)和并行處理方式。每一次數(shù)據(jù)排序的一個(gè)比較運(yùn)算完成后,就把數(shù)據(jù)賦給下一級(jí)寄存器,并在下一個(gè)時(shí)鐘周期做進(jìn)一步處理。而該級(jí)寄存器則同時(shí)接收上一級(jí)寄存器傳來的數(shù)據(jù)并進(jìn)行相應(yīng)的處理。本

10、設(shè)計(jì)中共用了8級(jí)流水線,同時(shí)并行處理三行圖像數(shù)據(jù)的排序。這樣,圖2圖像預(yù)處理系統(tǒng)設(shè)計(jì)框圖圖3中值濾波器設(shè)計(jì)框圖58 Vol.10No.1Jan.2008第10卷第1期2008年1月 2008.1在獲得第一個(gè)窗口數(shù)據(jù)后再經(jīng)過8個(gè)時(shí)鐘周期后,就可隨著模板的移動(dòng)連續(xù)地獲得中值了。另外,要注意的一點(diǎn)是中值濾波算法不能對(duì)圖像邊緣進(jìn)行處理。而普遍的方法是把邊緣處的灰度設(shè)為0,具體電路設(shè)計(jì)時(shí)應(yīng)加一個(gè)計(jì)數(shù)模塊,以便確定此時(shí)的像素點(diǎn)是在圖像邊緣,這樣就不用計(jì)算面將其直接設(shè)為0即可。這一點(diǎn)是很容易實(shí)現(xiàn)的。3硬件實(shí)現(xiàn)及結(jié)果整個(gè)設(shè)計(jì)可采用VerilogHDL 語言編寫,并在QuartusII 6.0上實(shí)現(xiàn),也可用Mo

11、delsim 進(jìn)行前后仿真。以便得到較高的處理速度。該設(shè)計(jì)可分別在ALTERA 公司的CycloneII ,CycloneIII ,Stratix ,StratixII 器件上實(shí)現(xiàn)。表1列出了在各個(gè)器件族上進(jìn)行全編譯后的最大時(shí)鐘頻率。由表1可見,中值濾波即使在低級(jí)別Cy-cloneII 器件上,也可以達(dá)到163.03MHz 的時(shí)鐘速率。而在最新的CycloneIII 器件上則可達(dá)到242.54MHz ,在更高級(jí)的StratixII 器件上則高達(dá)278.32MHz 。這樣以最高時(shí)鐘處理一幅256×256×8bit 的灰度圖像只需236s 。圖4所示是使用該設(shè)計(jì)在Cyclone

12、II 平臺(tái)上對(duì)一幅256×256×8bit 的灰度圖像進(jìn)行處理的實(shí)驗(yàn)結(jié)果。其中,圖4(a在原圖上加了椒鹽噪聲(saltand pepper noise。圖4(b是經(jīng)中值濾波處理后的圖像??梢钥闯?中值濾波器對(duì)椒鹽噪聲有良好的濾除作用。4結(jié)束語本設(shè)計(jì)在ALTERA 公司的CycloneII 系列FPGA上成功實(shí)現(xiàn)了一種快速中值濾波算法,并獲得了良好的處理結(jié)果。本方法為圖像處理系統(tǒng)的前端預(yù)處理的濾波提供了一種解決方案,并可以應(yīng)用于普遍的圖像處理系統(tǒng)前端。事實(shí)上,本設(shè)計(jì)只需做微小的修改即可做為5×5、7×7以及更大的濾波模板。表1最大時(shí)鐘對(duì)比CycloneII 163.03MHz CycloneIII 242.54MHz Stratix 184.47MHz StratixII278.32MHz(a加噪圖像(b處理后的圖像圖4圖像處理實(shí)驗(yàn)效果圖模糊推理系統(tǒng)的運(yùn)算而得出如圖4所示的三維輸出結(jié)果。通過圖4即可看出,本文的規(guī)則和隸屬度函數(shù)匹配良好。5結(jié)束語本文針對(duì)不同路面條件下移動(dòng)機(jī)器人運(yùn)動(dòng)控制的實(shí)際問題提出了一種解決

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論