《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 快速中值濾波算法的改進及其FPGA實現
快速中值濾波算法的改進及其FPGA實現
來源:電子技術應用2013年第2期
李國燕1, 侯向丹2, 顧軍華2, 陸益財2, 范培培2
1. 河北工業大學 電氣工程學院,天津300401; 2. 河北工業大學 計算機科學與軟件學院,天津300401
摘要: 針對傳統中值濾波算法排序量大、速度慢且處理效果模糊的問題,在快速中值濾波算法的基礎上,提出了一種加入閾值比較、且具有更高并行流水結構的改進算法,并在現場可編程門陣列(FPGA)硬件平臺上實現了該算法。實驗結果表明,改進的快速中值濾波算法不僅減少了比較的次數,還更好地保護了圖像的細節,可滿足圖像預處理對實時性的要求。
中圖分類號: TP301
文獻標識碼: A
文章編號: 0258-7998(2013)02-0137-04
Implementation of the improved fast median filtering algorithm based on FPGA
Li Guoyan1, Hou Xiangdan2, Gu Junhua2, Lu Yicai2, Fan Peipei2
1. School of Electrical Engineering and Automation, Hebei University of Technology, Tianjin 300401, China; 2. School of Computer Science and Software, Hebei University of Technology, Tianjin 300401, China
Abstract: The speed of classical median filtering algorithm is slow because of a lot of sorting and it blurs the image, this paper introduces an improved algorithm by adding threshold comparison to the fast median filtering algorithm, which has a parallel pipeline structure. The improved algorithm is implemented on the platform of field programmable gate array(FPGA).The experimental results show that the improved fast median filtering algorithm not only has less times of comparison but also better quality, meet the requirements of the image pre-processing of real-time over the software version of the same algorithm.
Key words : median filter; FPGA; fast algorithm; comparison of threshold

    圖像是人類獲取外界信息的重要途徑,圖像的清晰度直接影響到人們對其的觀察以及進一步的分析研究。圖像的采集、傳輸、存儲等環節通常會導致圖像質量的降低。因此,為了改善圖像的質量,必須對圖像進行濾波、平滑等預處理操作。但是,由于實際處理的數據量巨大,預處理的過程往往達不到系統對實時性的要求。近年來,微電子技術和超大規模的集成電路制造技術的發展,特別是FPGA的發展,為提高圖像處理系統各種性能提供了新的思路和方法。FPGA在設計上實現了硬件并行和流水線(Pipeline)技術,適于模塊化設計;同時其開發周期短,系統易于維護和擴展,能夠大大提高圖像數據的處理速度,滿足系統的實時性要求[1]。

    中值濾波作為一種空域濾波技術,能有效地去除脈沖噪聲和椒鹽噪聲,同時還能較好地保留圖像的邊緣信息,在圖像預處理中應用廣泛。雖然中值濾波算法處理的數據量大,但其運算簡單,重復性強,存在較大的并行性,可由硬件映射到FPGA架構中[2-3]。另外,由于中值濾波算法處理后的圖像存在邊緣模糊的問題,因此,本文對快速中值濾波算法提出了一些改進,通過加入閾值比較的環節,更好地保留了圖像的細節信息。最后,基于FPGA硬件平臺實現了改進的快速中值濾波算法,大大提高了圖像的處理速度。
   
    針對傳統中值濾波算法的一些快速中值濾波算法已經被提出[7-10]。參考文獻[7]提出了一種將3×3窗口的像素值先按列降序排序,然后再按行降序排序,最后取對角線上的元素作為模板中值輸出的快速中值濾波算法,相對于需要進行36次比較運算的傳統的中值濾波算法,這種快速中值濾波算法的比較次數明顯減少,僅為21次。參考文獻[8]提出了采用3×3像素的十字型中值濾波結構模板,對快速中值濾波算法進行改進,只需對5個像素數據進行排序,從而減少了數據比較的次數,該算法的比較次數為24次。參考文獻[9]提出了一種先取模板各個水平行的中值,再求出這些水平行中值的中值,以此作為濾波結果的快速中值濾波算法,該算法在最壞情況下的比較次數為12次。
    同時,為了更好地保留圖像的細節信息,參考文獻[10]提出了在傳統的中值濾波算法中加入閾值判定的方法,即設定一個閾值TH后,按傳統的算法算出初始的中值,將當前中值與模板的中心值的差的絕對值與閾值進行比較,若判定結果大于閾值,則判定中心點為噪聲點,用求的中值代替中心值,否則保留原有的中心值。
2 改進的快速中值濾波算法及分析
    為了減少圖像濾波后的誤差,提高圖像處理的速度,本文提出了一種改進的快速中值濾波算法。采用3×3模板,以快速中值濾波算法為基礎來尋找中值,通過閾值約束條件,判斷中值是否為有效數據。算法的具體實現步驟如下:
    (1)獲取大小為m×n的原圖像,對圖像加入5%的椒鹽噪聲;
    (2)圖像擴展,使其大小為(m+2)(n+2);
    (3)將模板在圖像上按行列滑動,如果未到達循環結束條件,則轉到步驟(4);
    (4)對模板中水平行的數據進行排序,取每一行第2個位置上的值,然后再對3行的中值進行排序,取其中值;
    (5)判斷該中值是否為所需的有效數據,將所求的中值和中心點值做差,將差值與事先設定的閾值TH按式(2)進行比較;
   
 分別采用基于上述參考文獻的算法以及本文的算法對圖像進行處理。各個算法MMSE的比較結果如圖1所示。

    由圖1可以看出本文提出的改進算法比其他算法的MMSE值都小,能獲得較好的處理效果。圖2給出了本文改進算法對加入5%椒鹽噪聲的圖像的處理效果。
    結合圖1和圖2可知,增加閾值判定的算法在細節保護和去噪之間能達到一個較好的平衡點,本文的改進算法處理效果明顯較好。

3 算法的硬件實現
3.1 總體設計方案

    FPGA硬件化設計遵循并行流水機制,分別采用各自獨立的處理通道,對同一段時間內需要處理的所有任務同時進行處理,處理時間從多個任務所需時間之和降至最慢任務所需的時間。為了便于在FPGA上實現改進的中值濾波算法,本文以3×3像素模板處理512×512像素的灰度圖像為例,進行了硬件化的設計,總體設計方案主要包括比較排序模塊的設計和控制電路的設計,如圖3所示。

3.2  三點排序模塊的設計
    每個三點排序模塊都用了3個比較器對3行數據進行并行比較排序。在一個時鐘周期下,每次比較3個輸入信號,輸出信號為每行的中值。當時鐘觸發下一級的比較器后,各行輸出的中值信號作為下一個排序的輸入信號,最后再加入一個比較器對所得中值進行判斷。這樣,總處理時間只是其中關鍵模塊的處理時間,處理速度是順序執行的兩倍。
3.3 控制電路的設計
    控制電路控制著整個系統的運行,是硬件設計的難點和重點。本設計的控制電路分為兩部分:
    (1)控制不連續信號的輸入和數據緩存
    由于圖像信號是按串行的方式輸入到系統中,因此需要通過控制信號使系統保持在并行流水的工作模式中。考慮實際工作中,圖像信號的輸入可能是不連續的,故采用FIFO緩存模塊來保存數據。當FIFO模塊不為空時,系統將產生局部時鐘使能信號來保證系統計算的正確性。
    (2)控制圖像邊界點的輸出和對有效信號的選取
    中值濾波算法在處理圖像時,只處理圖像內部的像素,而邊界上的像素保持不變,因此需要在FPGA系統中加上對邊界點的處理并選取有效信號的輸出,此處理由控制模塊完成。對于選定的512×512像素的圖像,其4條邊界上有2044個邊界點,系統需要對這些邊界點進行判定,并完成有效數據的正確輸出。
4 測試結果及分析
    實驗采用了Altera的具有高密度低成本Cyclone系列的EP2C70F896C6N芯片,利用DSP-builder11.1實現算法設計,并通過Quartusii11.1對設計進行調試和仿真,同時利用modelsim10.0c完成時序仿真。modelsim10.0c的仿真結果如圖4所示。
    由圖4可知,實驗數據與預計結果一致。因此,設計電路具有良好的穩定性。本文給出了硬件實現不同算法的效果對比情況,如表1所示。

 

 

    由表1可知,對于一幅512×512像素的圖像,本文改進的基于FPGA的快速中值濾波算法在硬件上能達到的最高工作頻率為231.21 MHz,處理時間約為1.13 ms,比軟件實現該算法的速度快11倍;與傳統的中值濾波算法和參考文獻[7]算法的硬件結構相比,本文改進算法耗費的邏輯單元和寄存器較少,占用硬件資源更少,從而達到較高的工作頻率,以滿足圖像實時處理的要求。
    本文通過對快速中值濾波算法的改進,能夠減少算法排序量,更好地保護圖像的細節信息。改進的算法具有較高的內在并行性,易于在FPGA上實現。硬件實現的算法對圖像的處理能達到較高的工作頻率,且占用資源較少,適合圖像的實時處理。
參考文獻
[1] BOAS M L. Mathematical methods in the physical sciences(3rd ed)[M]. John Wiley & Sons, 2006.
[2] 黃艷軍.基于FPGA的數字圖像預處理算法研究[D].南京:南京理工大學,2009.
[3] VINCENT O R, FOLORUNSO O. A descriptive algorithm for sobel image edge detection[C]. Proceedings of Informing Science & IT Education Conference(InSITE),2009.
[4] ZEMCIK P, Hardware acceleration of graphics and imaging algorithms using FPGAs[D]. Brno University of Technology:SCCG,2002.
[5] BATES G L, NOOSHABADI S. FPGA implementation of a median filter[C]. Speech and Image Technologies for Computing and Telecommunications,Proceedings of IEEE,1997.
[6] 萬海軍.實時圖像處理算法研究及FPGA實現[D]. 陜西:西北農林科技大學,2008.
[7] 付昱強.基于FPGA的圖像處理的算法的研究與硬件設計[D].南昌:南昌大學,2006.
[8] 朱捷,朱小娟,賀明.基于FPGA的實時圖像中值濾波設計[J].計算機測量與控制,2007,15(6):798-800.
[9] 王萍,白光遠,唐曉燕.基于FPGA的圖像中值濾波算法的優化及實現[J].電子與電腦,2009(10):94-96.
[10] 李飛飛,劉偉寧,王艷華.改進的中值濾波算法及其 FPGA快速實現[J].計算機工程,2009,35(14):175-177.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 依人九九 | 久久国产三级 | 久久精品国产精品青草不卡 | 在线亚州 | 日韩不卡一区二区三区 | 久9青青cao精品视频在线 | 成人在线黄色 | av亚洲男人天堂 | 亚洲黄色美女视频 | 国产高清厕所盗摄视频 | 国产成人精品一区二区三在线观看 | 足恋玩丝袜脚视频免费网站 | 毛片免费观看的视频 | 免费观看日本高清a毛片 | 欧美一区二区三区视频在线 | 毛片免费全部免费播放 | 欧美日韩亚洲综合久久久 | 日本乱人伦片中文字幕三区 | 手机看片av | 91av福利| 久久久久久久久久久视频国内精品视频 | 久久一本色系列综合色 | 亚洲一区二区三区中文字幕 | 欧美三级在线观看不卡视频 | 国产精品免费大片一区二区 | 欧美成年人网站 | 欧美激情精品久久久久久久久久 | 亚洲 欧美 精品 | 日韩在线视频一区二区三区 | 99视频国产在线 | 亚洲高清一区二区三区四区 | 99在线视频网站 | 欧美在线一级视频 | 国产国语在线播放视频 | 亚洲国产成人影院播放 | 99av在线 | 亚洲国产日韩女人aaaaaa毛片在线 | 欧美日韩一区二区视频图片 | 欧美日本一区亚洲欧美一区 | 免费观看情趣v视频网站 | 国产欧美精品一区二区 |