中值濾波的原理和快速算法及利用FPGA技術(shù)實現(xiàn)_第1頁
中值濾波的原理和快速算法及利用FPGA技術(shù)實現(xiàn)_第2頁
中值濾波的原理和快速算法及利用FPGA技術(shù)實現(xiàn)_第3頁
中值濾波的原理和快速算法及利用FPGA技術(shù)實現(xiàn)_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

中值濾波的原理和快速算法及利用FPGA技術(shù)實現(xiàn)引言現(xiàn)代圖像處理系統(tǒng)對實時性的要求愈來愈高,但圖像的前端采集往往會受器件或環(huán)境影響而使獲得的圖像含有噪聲,因而需要在對圖像處理前進行去噪聲處理。若使用通用的軟件方法,由于處理過程需要進行大量的簡單計算,因此會消耗不少時間而影響系統(tǒng)的實時性。隨著現(xiàn)代電子技術(shù)的發(fā)展,用FPGA來完成中值濾波這類運算簡單但數(shù)據(jù)量巨大的處理,無疑是一種理想的選擇。1、中值濾波的原理和快速算法1.1中值濾波原理中值濾波是一種非線性空域濾波方法。它是可以有效抑制圖像噪聲,提高圖像信噪比的非線性濾波技術(shù)。中值濾波首先對鄰域點的灰度進行排序,然后選擇中間值作為輸出灰度值。與均值濾波器和其他線性濾波器相比,中值濾波可以很好的濾除脈沖噪聲(ImpulsiveNoise)和椒鹽噪聲(SaltandPepperNoise)。同時能夠很好的保護圖像邊緣輪廓的細節(jié)。中值濾波的公式如下:其中,g(x,y),f(x,y)為像素灰度值,S為模板窗口。中值濾波的過程一般為:(1)選擇一個(2n+1)(2n+1)的窗口(一般是3×3或者5×5),使窗口沿圖像數(shù)據(jù)的行方向和列方向從左至右、從上至下沿每個像素滑動。(2)每次滑動后,對窗口內(nèi)的像素灰度進行排序,并用中間值代替窗口中心位置的像素灰度值。1.2快速中值濾波算法中值濾波算法的核心是快速求出中間灰度值。傳統(tǒng)的排序法如冒泡法,運算量巨大。而用硬件實現(xiàn)不僅要消耗大量的資源,而且運算速度很慢,難以滿足圖像系統(tǒng)處理的實時性要求。本文針對大小為3×3的窗口采用了一種快速排序算法,可以在很大程度上減少運算量,且易于用較少的硬件資源實現(xiàn)。圖1所示是一個3×3窗口內(nèi)的像素排列方式,該窗口將窗口內(nèi)的各個像素點從左至右,從上至下依次定義為D11、D12、D13、D21、D22、D23、D31、D32、D33。處理時,先分別對每一行的數(shù)據(jù)進行排序,以得到每一行的最大值、中間值和最小值。其中第一行得到的最大值為:Max1=max{D11,D12,D13};中間值為:Med1=med{D11,D12,D13};最小值為:Min1=min{D11,D12,D13};同樣,也可得到第二行的三個值Max2,Med2,Min2和第三行的三個值Max3,Med3,Min3。由于在上述這九個數(shù)中,三個最大值中的最大值一定是九個像素值的最大值。同理,三個最小值中的最小值一定是九個像素值中的最小值。三個中值中的最大值至少大于五個像素值;即本行的最小值和其他兩行中的中值及最小值。而三個中值中的最小值至少小于五個像素值;即本行的最大值和其他兩行的中值和最小值。所以,比較三個最大值中的最小值Min_of_max、三個中值中的中間值Med_of_med以及三個最小值中的最大值Max_of_min,所得到的中間值就是最終的濾波結(jié)果Meddata。其具體過程如下;雖然,與傳統(tǒng)的排序方法相比,這種方法的比較次數(shù)大大減少。因為求出中值只用了19次比較運算,因而十分方便在FPGA上進行并行處理。2、圖像預(yù)處理系統(tǒng)和中值濾波器的設(shè)計2.1圖像預(yù)處理系統(tǒng)設(shè)計對圖像的預(yù)處理,一般應(yīng)在前端采集之后立即進行。圖2給出了一個圖像預(yù)處理系統(tǒng)的系統(tǒng)設(shè)計框圖。圖2中,圖像數(shù)據(jù)經(jīng)前端設(shè)備采集并經(jīng)過A/D轉(zhuǎn)化后,可存人雙口RAM中的一端。然后在選擇控制模塊的控制下將雙口RAM中的幀數(shù)據(jù)提供給中值濾波模塊,同時在雙口RAM的另一端存人另一幀圖像數(shù)據(jù)。接著將中值濾波處理后的圖像數(shù)據(jù)存入SDRAM中,以供后續(xù)的進一步處理。雙口RAM的容量只要可以存儲兩幀圖像數(shù)據(jù)即可。2.23×3窗口模塊中值濾波作為圖像預(yù)處理的一部分,其實時性是一個關(guān)鍵的要求。它要求濾波器能快速、連續(xù)的處理圖像數(shù)據(jù)。中值濾波的第一個問題是要準確獲得3×3窗口中的圖像灰度數(shù)據(jù)。圖3給出了該濾波器的設(shè)計框圖。圖3中的濾波器用到了兩個FIFO。這種設(shè)計可采用QuartusII中的Megacore實現(xiàn)。設(shè)計長度為一行數(shù)據(jù)(即256)。系統(tǒng)開始工作后,先對FIFO2寫第一行圖像數(shù)據(jù),寫滿后再對FIFO1寫第二行圖像數(shù)據(jù),直到FIFO1也寫滿。在此期間,F(xiàn)IFO1和FIFO2只寫不讀。當(dāng)完成兩行數(shù)據(jù)的寫人后,將數(shù)據(jù)輸入端和FIFO1、FIFO2如圖2所示進行連接,此時的FIFO1和FIFO2只讀不寫,待三個時鐘周期后,將FIFO1和FIFO2設(shè)為既讀又寫。這樣,在寄存器輸出端和兩個FIFO的輸出端即可獲得第一個3×3模板中的圖像灰度數(shù)據(jù)。此后,隨著圖像數(shù)據(jù)的輸人,模板也沿著圖像從左至右、從上至下移動。2.3模板中的數(shù)據(jù)排序數(shù)據(jù)排序可分為三步。第一步是對每行的數(shù)據(jù)進行排序。第二步是對第一步所得到的大值組、中值組、小值組進行排序。第三步是對第二步所得到的大值組中的最小值、中值組中的中值、小值組中的最大值進行排序,最后得到中值。具體用FPGA實現(xiàn)時,為了滿足實時性要求,可采用流水線技術(shù)和并行處理方式。每一次數(shù)據(jù)排序的一個比較運算完成后,就把數(shù)據(jù)賦給下一級寄存器,并在下一個時鐘周期做進一步處理。而該級寄存器則同時接收上一級寄存器傳來的數(shù)據(jù)并進行相應(yīng)的處理。本設(shè)計中共用了8級流水線,同時并行處理三行圖像數(shù)據(jù)的排序。這樣,在獲得第一個窗口數(shù)據(jù)后再經(jīng)過8個時鐘周期后,就可隨著模板的移動連續(xù)地獲得中值了。另外,要注意的一點是中值濾波算法不能對圖像邊緣進行處理。而普遍的方法是把邊緣處的灰度設(shè)為0,具體電路設(shè)計時應(yīng)加一個計數(shù)模塊,以便確定此時的像素點是在圖像邊緣,這樣就不用計算面將其直接設(shè)為0即可。這一點是很容易實現(xiàn)的。3、硬件實現(xiàn)及結(jié)果整個設(shè)計可采用VerilogHDL語言編寫,并在QuartusII6.0上實現(xiàn),也可用Modelsim進行前后仿真。以便得到較高的處理速度。該設(shè)計可分別在ALTERA公司的CycloneII,CycloneIII,Stratix,StratixII器件上實現(xiàn)。表1列出了在各個器件族上進行全編譯后的最大時鐘頻率。由表1可見,中值濾波即使在低級別CycloneII器件上,也可以達到163.03MHz的時鐘速率。而在最新的CycloneIII器件上則可達到242.54MHz,在更高級的StratixII器件上則高達278.32MHz。這樣以最高時鐘處理一幅256×256×8bit的灰度圖像只需236μs。圖4所示是使用該設(shè)計在CycloneII平臺上對一幅256×256×8bit的灰度圖像進行處理的實驗結(jié)果。其中,圖4(a)在原圖上加了椒鹽噪聲(saltandpeppernoise)。圖4(b)是經(jīng)中值濾波處理后的圖像。可以看出,中值濾波器對椒鹽噪聲有良好的濾除作

溫馨提示

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

評論

0/150

提交評論