基于SOPC的視頻降噪系統的研究與硬件設計_第1頁
基于SOPC的視頻降噪系統的研究與硬件設計_第2頁
基于SOPC的視頻降噪系統的研究與硬件設計_第3頁
基于SOPC的視頻降噪系統的研究與硬件設計_第4頁
基于SOPC的視頻降噪系統的研究與硬件設計_第5頁
已閱讀5頁,還剩45頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、西南科技大學畢業設計(論文) 題目名稱:基于SOPC的視頻降噪系統的研究與硬件設計年 級:2003級 本科 專科學生學號:20035004學生姓名:吳 靜 指導教師:劉桂華學生單位:信息工程學院 技術職稱:副教授學生專業:電子信息工程 教師單位:信息工程學院西 南 科 技 大 學 教 務 處 制基于SOPC的視頻降噪系統的研究與硬件設計摘要:圖像的復原技術對于人們提取有用信息起到了關鍵作用。圖像降噪技術屬于圖像復原技術。現在的降噪技術有均值濾波、維納濾波、中值濾波、小波降噪法等。現在,降噪技術考慮的更多的是圖像處理系統的實時性,而用FPGA器件對圖像進行處理,則解決了系統的實時性問題。基于FP

2、GA的可編程片上系統(SOPC)在設計上的靈活性和運算高速性的特點,有利于實現整個系統。在設計時,選用中值濾波算法對圖像進行處理,核心算法的實現則通過VHDL語言實現的。在SOPC Builder下添加PIO、JTAG UART、EPCS等組件,并生成系統。整個系統是由一個CPU進行控制的,這個IP軟核是從Nios中調用的,并結合軟件進行調試。該系統是基于Stratix器件中的EP2S30F484C3芯片,占用了39%的系統資源。通過對各個模塊及系統的調試,可以證明系統處理的速度是比較理想的。關鍵詞:圖像處理;降噪技術;中值濾波;SOPCThe Research and Hardware De

3、sign of Video Noise Reduction System Based on SOPCAbstract: Image recovery technology plays a key role in extracting useful information. The image noise reduction technology belongs to image recovery technology. Now, the technology of image noise reduction includes mean filter, Wiener filter, median

4、 filter, noise reduction algorithm based the wavelet and so on.Nowadays, noise reduction technology is looked upon as a key technology for real-time image processing system, and processed images with FPGA devices will solve the problem of real-time application. The SOPC technology based on FPGA, whi

5、ch has the advantage of flexibility and high speed, is favorable for realizing the entire system. In the design, the median filter is chose to process images. The key algorithm is achieved through the VHDL. The function modules such as PIO, JTAG UART and EPCS are intercalated in SOPC Builder, and th

6、en the system is generated. The design of the whole system is controlled by the CPU component, which is a soft IP core called Nios II and debugged combining software. The system is implemented in the EP2S30F484C3 FPGA chip and the system occupies only 39% of the FPGA resources. Through debugging the

7、 various modules and the system,it proves that the speed of system is relatively satisfactory. Key words:Image process, Technology of noise reduction, Middle filter, SOPC目 錄第1章 緒論1 1.1 題目背景11.2 圖象處理的應用展望3 1.3 課題的目的及意義4 1.4 論文的主要內容5第2章 SOPC技術介紹62.1 SOPC技術簡介及實現方式6 2.1.1 SOPC技術簡介6 2.1.2 SOPC技術實現的方式6 2.

8、1.3 SOPC系統開發流程72.2 Quartus 的介紹7 2.3 硬件語言的介紹8 第3章 降噪方案介紹、比較及選擇11 3.1 均值濾波113.2 維納濾波12 3.3 標準中值濾波12 3.4 圖像小波域濾波13 3.5 基于圖像銳化和平滑的濾波技術13 3.5.1 LUM平滑器13 3.5.2 LUM銳化器14 3.5.3 LUM濾波器153.6 幾種算法的比較及選擇153.7 中值濾波與LUM濾波器的仿真16第4章 中值模塊的FPGA實現18 4.1 中值濾波模塊的設計18 4.1.1 33模板生成模塊18 4.1.2 中值濾波模塊 20第5章 系統建立及在SOPC中的模塊搭建2

9、3 5.1 系統的設計23 5.2 系統的實現23 5.2.1 組件的選擇23 5.2.2 片上系統的實現30 5.3 頂層文件的建立32第6章 功能模塊及系統的仿真和調試34 6.1 功能模塊的仿真34 6.1.1 深度為254的FIFO的調試34 6.1.2 33模板生成模塊的功能驗證34 6.1.3 中值選取模塊的調試366.2 系統的調試及功能仿真37 6.3 處理結果及分析38結論39致謝40參考文獻41第1章 緒 論1.1 題目背景圖像處理是指將圖像信號轉換成數字信號并利用計算機對其進行處理的過程。圖像處理最早出現于20世紀50年代,當時的電子計算機已經發展到一定水平,人們開始利用

10、計算機來處理圖形和圖像信息。數字圖像處理作為一門學科大約形成于20世紀60年代初期。早期的圖像處理的目的是改善圖像的質量,它以人為對象,以改善人的視覺效果為目的。圖像處理中,輸入的是質量低的圖像,輸出的是改善質量后的圖像,常用的圖像處理方法有圖像增強、復原、編碼、壓縮等。首次獲得實際成功應用的是美國噴氣推進實驗室(JPL)。他們對航天探測器徘徊者7號在1964年發回的幾千張月球照片使用了圖像處理技術,如幾何校正、灰度變換、去除噪聲等方法進行處理,并考慮了太陽位置和月球環境的影響,由計算機成功地繪制出月球表面地圖,獲得了巨大的成功。隨后又對探測飛船發回的近十萬張照片進行更為復雜的圖像處理,獲得了

11、月球的地形圖、彩色圖及全景鑲嵌圖,獲得了非凡的成果,為人類登月創舉奠定了堅實的基礎,也推動了數字圖像處理這門學科的誕生。在以后的宇航空間技術,如對火星、土星等星球的探測研究中,數字圖像處理技術都發揮了巨大的作用。 數字圖像處理取得的另一個巨大成就是在醫學上獲得的成果。1972年英國EMI公司工程師Housfield發明了用于頭顱診斷的X射線計算機斷層攝影裝置,也就是我們通常所說的CT(Computer Tomograph)。CT的基本方法是根據人的頭部截面的投影,經計算機處理來重建截面圖像,稱為圖像重建。1975年EMI公司又成功研制出全身用的CT裝置,獲得了人體各個部位鮮明清晰的斷層圖像。1

12、979年,這項無損傷診斷技術獲得了諾貝爾獎,說明它對人類做出了劃時代的貢獻。 與此同時,圖像處理技術在許多應用領域受到廣泛重視并取得了重大的開拓性成就,屬于這些領域的有航空航天、生物醫學工程、工業檢測、機器人視覺、公安司法、軍事制導、文化藝術等,使圖像處理成為一門引人注目、前景遠大的新型學科。 隨著圖像處理技術的深入發展,從70年代中期開始,隨著計算機技術和人工智能、思維科學研究的迅速發展,數字圖像處理向更高、更深層次發展。人們已開始研究如何用計算機系統解釋圖像,實現類似人類視覺系統理解外部世界,這被稱為圖像理解或計算機視覺。很多國家,特別是發達國家投入更多的人力、物力到這項研究,取得了不少重

13、要的研究成果。其中代表性的成果是70年代末MIT的Marr提出的視覺計算理論,這個理論成為計算機視覺領域其后十多年的主導思想。圖像理解雖然在理論方法研究上已取得不小的進展,但它本身是一個比較難的研究領域,存在不少困難,因人類本身對自己的視覺過程還了解甚少,因此計算機視覺是一個有待人們進一步探索的新領域。圖像處理主要研究的內容有以下幾個方面:(1) 圖像變換由于圖像陣列很大,直接在空間域中進行處理,涉及計算量很大。因此,往往采用各種圖像變換的方法,如傅立葉變換、沃爾什變換、離散余弦變換等間接處理技術,將空間域的處理轉換為變換域處理,不僅可減少計算量,而且可獲得更有效的處理。(2) 圖像編碼壓縮圖

14、像編碼壓縮技術可減少描述圖像的數據量(即比特數),以便節省圖像傳輸、處理時間和減少所占用的存儲器容量。壓縮可以在不失真的前提下獲得,也可以在允許的失真條件下進行。編碼是壓縮技術中最重要的方法,它在圖像處理技術中是發展最早且比較成熟的技術。(3) 圖像增強和復原圖像增強和復原的目的是為了提高圖像的質量,如去除噪聲,提高圖像的清晰度等。圖像增強不考慮圖像降質的原因,突出圖像中所感興趣的部分。如強化圖像高頻分量,可使圖像中物體輪廓清晰,細節明顯;如強化低頻分量可減少圖像中噪聲影響。圖像復原要求對圖像降質的原因有一定的了解,一般講應根據降質過程建立降質模型,再采用某種濾波方法,恢復或重建原來的圖像。(

15、4) 圖像分割圖像分割是數字圖像處理中的關鍵技術之一。圖像分割是將圖像中有意義的特征部分提取出來,其有意義的特征有圖像中的邊緣、區域等,這是進一步進行圖像識別、分析和理解的基礎。雖然目前已研究出不少邊緣提取、區域分割的方法,但還沒有一種普遍適用于各種圖像的有效方法。因此,對圖像分割的研究還在不斷深入之中,是目前圖像處理中研究的熱點之一。(5) 圖像描述 圖像描述是圖像識別和理解的必要前提。作為最簡單的二值圖像可采用其幾何特性描述物體的特性,一般圖像的描述方法采用二維形狀描述,它有邊界描述和區域描述兩類方法。對于特殊的紋理圖像可采用二維紋理特征描述。隨著圖像處理研究的深入發展,已經開始進行三維物

16、體描述的研究,提出了體積描述、表面描述、廣義圓柱體描述等方法。 (6) 圖像分類(識別)圖像分類(識別)屬于模式識別的范疇,其主要內容是圖像經過某些預處理(增強、復原、壓縮)后,進行圖像分割和特征提取,從而進行判決分類。圖像分類常采用經典的模式識別方法,有統計模式分類和句法(結構)模式分類,近年來新發展起來的模糊模式識別和人工神經網絡模式分類在圖像識別中也越來越受到重視。 1.2 圖像處理的應用展望圖像是人類獲取和交換信息的主要來源,因此,圖像處理的應用領域必然涉及到人類生活和工作的方方面面。隨著科學技術的發展,數字圖像處理技術的應用領域也將隨之不斷擴大。數字圖像處理技術未來應用領域主要有以下

17、七個方面:(1)航天航空技術方面 數字圖像處理技術在航天航空技術方面的應用,除JPL對月球、火星照片的處理之外,另一方面是在飛機遙感和衛星遙感技術中。圖像在空中先處理(數字化編碼)成數字信號存人磁帶中,在衛星經過地面站上空時,再高速傳送下來,然后由處理中心分析判讀。這些圖像無論是在成像、存儲、傳輸過程中,還是在判讀分析中,都必須采用很多數字圖像處理方法。現在世界各國都在利用各類衛星所獲取的圖像進行資源調查、災害檢測、資源勘察、農業規劃、城市規劃。在氣象預報和對太空其它星球研究方面,數字圖像處理技術也發揮了相當大的作用。(2)生物醫學工程方面數字圖像處理技術在生物醫學工程方面的應用十分廣泛,且很

18、有成效。除了CT技術之外,還有一類是對醫用顯微技術的處理分析,如染色體分析、癌細胞識別等。此外,在X光肺部圖像增晰、超聲波圖像處理、心電圖分析、立體定向放射治療等醫學診斷方面都廣泛地應用圖像處理技術。(3)通信工程方面當面通信的主要發展方向是聲音、文字、圖像和數據結合的流媒體通信。其中以圖像通信最為復雜和困難,因圖像的數據量十分巨大,如傳送彩色電視信號的速率達100M/s以上。要將這樣高速率的數據實時傳送出去,必須采用編碼技術來壓縮信息的比特量。在一定意義上講,編碼壓縮是這些技術成敗的關鍵。(4)工業工程方面在工業工程領域中圖像處理技術有著廣泛的應用,它大大提高了工作效率,如自動裝配線中質量檢

19、測,流體力學圖片的阻力和升力分析,郵政信件的自動分揀,在一些惡性環境內識別工件及物體的形狀和排列狀態,先進設計和制造技術中采用工業視覺等等。其中值得一提的是研制具備視覺、聽覺和觸覺功能的智能機器人,將會給工農業生產帶來新的面貌,目前已在工業生產中的噴漆、焊接、裝配中得到有效的利用。(5)軍事公安方面在軍事方面圖像處理和識別主要用于導彈的精確制導,各種偵察照片的判讀,具有圖像傳輸、存儲和顯示的軍事自動化指揮系統和模擬訓練系統等;公安方面主要用于指紋識別、人臉鑒別、不完整圖片的復原以及交通監控、事故分析等。目前已投入運行的高速公路不停車自動收費系統中的車輛和車牌的自動識別就是圖像處理技術成功應用的

20、例子6。(6)文化藝術方面的應用 目前這類應用有電視畫面的數字編輯、動畫的制作、電子圖像游戲、紡織工藝品設計、服裝設計與制作、發型設計、文物資料照片的復制和修復、運動員動作分析和評分等等。目前正在形成一門新的藝術計算機美術。(7)其它方面的應用 數字圖像處理技術已經滲透到社會生活的各個領域,如地理信息系統中二維、三維電子地圖的自動生成、修復等;教育領域各種輔助教學系統研究、制作中;流媒體技術領域等等。1.3 課題的目的及意義 由于視頻降噪是屬于圖像處理中的圖像增強和復原技術,由于近年來數字圖像的廣泛應用,所以視頻降噪也是當前研究的熱點問題之一。而本課題主要研究的是視頻降噪算法的研究,并提出自己

21、的算法。在圖像采集和傳輸過程中,信號常常會受到隨機噪聲的干擾。因而破壞了圖像像素間的結構、紋理、內容等方面的相關性。使得圖像失真,并且難于壓縮、識別和理解。因此,在大多數圖像應用場合都需要降低圖像中的噪聲,使圖像恢復本來的面目。由于低層的圖像預處理算法處理的數據量大,用一般的軟件來實現會比較慢,而且對于一些實時性要求比較高的系統,如視頻圖像實時處理系統,處理速度往往是要考慮的關鍵要素,因為一旦速度跟不上,實時性也就無從談起。針對圖像預處理階段運算結構比較簡單的特點,所以硬件實現是可以滿足這個要求的。這也是現在圖像處理領域的熱點問題之一。1.4 論文的主要內容全文的主要內容共分為六章,分別為:第

22、一章 緒論。綜合介紹了圖象處理的背景、應用展望,以及課題選擇的目的和意義。第二章 SOPC技術介紹。首先介紹了SOPC技術及實現的方式,然后介紹試驗中所需要用到的軟件Quartus的設計流程,最后介紹了硬件描述語言VHDL。第三章 方案介紹、比較及選擇。首先介紹幾種典型的降噪方法,并比較它們的優缺點,然后按照其優缺點進行選擇,從中選出自己的方案。第四章 中值濾波的硬件實現。先介紹了中值濾波實現的總體框架,再具體介紹了框架中各個組件的功能及實現。第五章 在SOPC中建立系統。先對組件進行選擇并生成系統,然后再將生成的片上系統于硬件實現的濾波塊進行連接,建立頂層文件。第六章 功能模塊與系統的仿真。

23、先對各個模塊進行仿真,然后再對系統進行仿真。第2章 SOPC技術介紹2.1 SOPC技術簡介及實現方式2.1.1 SOPC技術簡介SOPC(System On Programmable Chip)即可編程的片上系統,或者說是基于大規模FPGA的單片系統。SOPC的設計技術是現代計算機輔助設計技術、EDA技術和大規模集成電路技術高度發展的產物。SOPC技術的目標就是試圖將盡可能大而完整的電子系統,包括嵌入式處理器系統、接口系統、硬件協處理器或加速系統、DSP系統、數字通信系統、存儲電路以及普通數字系統等,在單一FPGA中實現,使得所設計的電路系統在其規模、可靠性、體積、功耗、功能、性能指標、上市

24、周期、開發成本、產品維護及其硬件升級等多方面實現最優化。SOPC技術是一門全新的綜合性電子設計技術,涉及面廣。2.1.2 SOPC技術實現的方式SOPC技術實現方式一般分為三種: (1) 基于FPGA嵌入IP(Intellectual Property )硬核的SOPC系統。目前最常用的嵌入式系統大多采用了含有ARM的32位知識產權處理核的器件。Altera公司Excalibur系列的FPGA中就植入了ARM922T嵌入式視同處理器;Xilinx的Virtex- Pro系列中則植入了 IBM PowePC405處理器。這樣就能使得FPGA靈活的硬件設計和硬件實現與處理器強大的軟件功能結合,高效

25、地實現SOPC。 (2) 基于FPGA嵌入IP軟核的SOPC系統。在第一種實現方案中,由于硬核是預先植入的,其結構不能改變,功能也相對固定,無法裁減硬件資源,而且此類硬核多來自第三方公司,其知識產權費用導致成本的增加。如果利用軟核嵌入式系統處理器就能有效克服這些不利因素。最具有代表性的嵌入式軟核處理器是Altera公司的Nios軟核處理器。 (3)基于HardCopy技術的SOPC系統。HardCopy就是利用原有的FPGA開發工具,將成功實現于FPGA器件上的SOPC系統通過特定的技術直接向ASIC轉化,從而克服傳統ASIC設計中普遍存在的問題。從SOPC實現方式上不難看出,IP核在SOPC

26、系統中占有極其重要的地位,IP核的設計及IP核的復用成為SOPC技術發展的關鍵所在。半導體產業的IP定義為用于ASIC、ASSP和PLD等當中預先設計好的電路模塊。在SOPC設計中每一個組件都是一個IP核。IP核模塊有行為、結構和物理三級不同程度的設計,對應描述功能行為的不同分為三類,即完成行為描述的軟核(Soft IP Core )、完成結構描述的固核(Firm IP Core )和基于物理描述并經過工藝驗證的硬核(Hard IP Core )。2.1.3 SOPC系統開發流程 SOPC系統的開發流程一般分為硬件和軟件兩大部分,如圖(2-1)所示: 配置處理器自定義指令處理器庫外 設 庫選擇

27、并配置外設IP模塊連接模塊生 成HDL源文件測試平臺Quartus分析和適配用戶代碼其他IP模塊硬件配置文件JTAG,UART,EthernetAltera PLD軟件開發硬件開發Nios IDEC頭文件自定義庫外設驅動編譯、鏈接、調試用戶代碼庫PTOSSOPC Builder GUI可執行代碼軟件跟蹤,硬件斷點SignalTap片上調試驗證和調試圖2-1 SOPC系統開發流程在圖(2-1)中我們可以看出:硬件開發主要是創建Nios系統,作為應用程序運行的平臺;軟件開發主要是根據系統應用的需要,利用C/C+語言和系統所帶的API(Application Programming Interfac

28、e,應用程序接口)函數編寫實現特定功能的程序。而這其中用到的主要工具是Altera 公司的Quartus和Nios IDE。2.2 Quartus介紹Quartus是Aleter提供的FPGA/CPLD開發集成環境,Altera是世界最大的可編程邏輯器件供應商之一。Quartus在21世紀初推出,是Altera前一代FPGA/CPLD集成開發環境MAX+plus的更新換代產品,其界面友好,使用便捷。它提供了一種與結構無關的設計環境,使設計者能方便地進行設計輸入、快速處理和器件編程。Altera的Quartus提供了完整的的多平臺設計環境,能滿足各種特定設計的需要,也是單芯片可編程系統(SOPC

29、)設計的綜合性環境和SOPC開發的基本設計工具,并為Altera DSP開發包進行系統模型設計提供了集成綜合環境。Quartus設計工具完全支持VHDL、Verilog的設計流程,其內部嵌有VHDL、Verilog邏輯綜合器。Quartus也可以利用第三方的綜合工具,如Leonardo Spectrun、Synplify Pro、FPGA Compiler,并能直接調用這些工具。同樣,Quartus具備仿真功能,同時也支持第三方的仿真工具,如ModelSim。此外,Quartus與MATLAB和DSP Builder結合,可以進行基于FPGA的DSP系統開發,是DSP硬件系統實現的關鍵EDA工

30、具。Quartus包括模塊化的編譯器。編譯器包括的功能模塊有分析/綜合器、適配器、裝配器、時序分析器、設計輔助模塊、EDA網表文件生成器和編輯數據接口等。可以通過Start Compilating來運行所有的編譯器模塊,也可以通過選擇Start單獨運行各個模塊。還可以通過選擇Compiler Tool,在Compiler Tool窗口中運行該模塊來啟動編譯器模塊。在Compiler Tool,可以打開該模塊的設置文件或報告文件,或打開其他相關窗口。在下圖(2-2)中,上面一排是Quartus編譯設計主控界面,它顯示了Quartus自動設計各主要處理環節和設計流程,包括設計輸入編譯、設計分析與綜

31、合、適配、編程文件匯編、時序參數提取以及編程下載幾個步驟。在圖(2-2)中,下面一排的流程框圖,是與上面的Quartus設計流程相對照的標準的EDA開發流程。圖形或HDL編輯Analysis&Synthesis (分析與綜合)Filter(適配器)Assembler(編程文件匯編)編程器設計輸入綜合或編譯適配器件下載仿真Timing Analyzer (時序分析器)圖2-2 Quartus設計流程2.3 硬件語言介紹硬件描述語言(hardware description language,HDL)是電子系統硬件行為描述、結構描述、數據流描述的語言。HDL語言在國外有上百種,高等學校、科研單位、

32、EDA公司都有自己的HDL語言,現在影響最大的兩種HDL語言是VHDL和Verilog HDL。下面簡要介紹VHDL硬件描述語言。VHDL語言英文全名是Very High Speed Integrated Circuit Hardware Description Language,即超高速集成電路硬件描述語言。它的產生是由于美國政府為了在電子系統承包中降低開發費用,避免重復設計,由美國國防部牽頭,聯合眾多院校、廠商,為他們的高速集成電路提供了一種硬件描述語言,以期望VHDL功能強大、嚴格、可讀性好。1986年IEEE標準化組織開始工作,討論VHDL語言標準,歷時一年有余,于1987年12月通過

33、標準審查,并宣布實施,即IEEE STD 10761987LRM87。1993年VHDL重新修訂,形成了新的標準,即IEEE STD 10761993LRM93。最終VHDL標準得到推廣、實施和普及。VHDL語言描述能力強,覆蓋面廣,抽象能力強,所以用VHDL語言作為硬件模型建模很合適。設計者的原始描述是非常簡練的硬件描述,經過EDA工具綜合處理,最終生成付諸生產的電路描述或版圖參數描述的工藝文件。整個過程通過EDA工具自動完成,大大減輕了設計人員的工作強度,提高了設計質量,減少了出錯機會。VHDL語言可讀性好。VHDL既能被人容易讀懂,又能被計算機識別,作為技術人員編寫的源文件,它既是計算機

34、程序、技術文檔和技術人員硬件信息交流的文件,又是簽約雙方的合同文件。VHDL語言中的設計實體(design entity)、程序包(package)、設計庫(library),為設計人員重復利用他人的設計提供了技術手段。重復利用他人的IP模塊和軟核(soft core)是VHDL的特色,許多設計不必個個都從頭再來,而是只要在更高層次上把IP模塊利用起來,就能達到事半功倍的效果。VHDL程序包含實體(entity)、結構體(architecture)、配置(configuration)、包集合(package)、庫(library)5個部分。 簡單的實體是由實體和結構體兩部分組成的。實體用于描述

35、設計系統的外部接口信號,結構體用于描述系統的行為、系統數據的流程或者系統組織結構形式。設計實體是VHDL程序的基本單元,是電子系統的抽象。簡單的實體可以是一個與門電路(AND Gate),復雜的實體可以是一個微處理器或一個數字電子系統。實體由實體說明和結構體說明兩部分組成。結構體具體指明了該設計實體的行為,定義了該設計實體的功能,規定了該設計實體的數據流程,指派了實體中內部元件的連接關系。用VHDL語言描述結構體有3種方法:行為描述法、數據流描述法和結構化描述法。結構體的行為描述,即指對設計實體的描述按照算法的路徑來描述。行為描述在EDA工程中稱為高層次描述或高級描述。數據流描述是結構體描述方

36、法之一,它描述了數據流的運動路徑、運動方向及運動結果。結構化描述法適用于層次化設計,對于一個復雜的電子系統,可以分解成許多子系統,子系統再分解成模塊。多層次設計可以使設計多人協作,并行同時進行。多層次設計的每個層次都可以作為一個元件,再構成一個模塊,或構成一個系統。每個元件可以分別仿真,然后再整體調試。結構化描述不僅是一個設計方法,而且是一種設計思想。第3章 降噪方案介紹、比較及選擇現在數字圖像處理的方法主要分成兩大部分:一是空域分析法,二是頻域分析法。空域分析法就是對圖像矩陣進行處理;頻域分析法是通過圖像變換將圖像從空域變換到頻域,從另一個角度來分析圖像的特征并進行處理。我們研究了現有的降噪

37、算法。常有的降噪方法主要可以分為線性濾波技術和非性濾波技術。線性濾波主要是基于均值操作的,其對象主要是高斯白噪聲,如低通濾波器、高通濾波器等是屬于線性濾波器范疇的濾波方法。由于圖像的邊緣輪廓含有大量的高頻信息,所以在消除噪聲的同時低通濾波器降使圖像的邊緣變得模糊。反之為了提升邊緣輪廓可以采用高通濾波器,但噪聲同時也將被加強。非線性濾波方法主要是中值濾波,主要針對椒鹽噪聲,也被用來去除諸如誤碼和衛星“閃點”等脈沖噪聲。中值濾波在消除噪聲的同時能保護邊緣信息,特別是對于沖擊噪聲尤為有用,但是對于二維信號(如數字圖像中對于圖像的線條或邊緣等比較復雜的情況)或者更高維信號,可能會引人更多的信號失真和特

38、性丟失。現在圖像變換是我們對圖像進行處理的另一個思維方向。從古老的傅立葉變換發展到余弦變換,再到現在風靡全球的小波變換,他們都代表了空間域圖像的變換域表示方法。我們選擇了較具有代表性的算法來分析,在總結現有多種算法的基礎上進行了改進并提出了自己的算法,以達到降噪質量的提高。3.1 均值濾波均值濾波的基本思想是建立一個矩形的濾波窗口,其大小可以自由設定,經過實驗證明:33的大小是比較好的,而且一般的中值濾波也是取的33的窗口,所以這里也取33窗口。中值濾波是以要處理的象素點以濾波窗口為中心,然后讀取濾波窗口中所有象素的灰度值,計算他們的均值(計算公式: 所有象素的灰度值之和/濾波窗口大小),然后

39、用這個求出的均值去替代所處理的象素灰度值。均值濾波的數學表達式如是式(3-1)所示: (3-1)在公式(3-1)中g(x, y)為輸出圖像,f( i, j)為原圖像,W表示濾波窗口,M表示濾波窗口大小。均值濾波的實現起來比較簡單,但這種方法存在產生模糊邊緣,而且也沒有利用到像素之間的相關信息等缺點。在對算法進行思考后,我們可以進行一些改進措施來保護邊緣。改進后的均值濾波思想是:首先進行邊緣保護,判斷該點是否是邊緣,如果是邊緣點則保護起來;不是邊緣點就繼續向下執行,進行噪聲檢測,然后根據噪聲等級實現自適應降噪。由于改進后的方法實現起來十分地復雜,而且還需要進行幾次閾值的確定,實現起來比較麻煩,所

40、以我們不采用這種方法。3.2 維納濾波維納濾波是一種自適應的線性濾波方法,它是用來解決從噪聲中提取信號問題的一種過濾的方法,它能根據圖像的局部方差調整濾波器的輸出,它的最終目標是使恢復圖像f(x,y)與原始圖像f(x,y)的均方誤差最小。如公式(3-2)所示: (3-2) 3.3 標準中值濾波標準中值濾波的原理是把數字圖像或數字序列中一點的值用該點的一個鄰域中各點值的中值代替。中值的定義如下:一組數把n個數按照值的大小順序排列如下: (3-3) 在式(3-3)中y為該序列的中值。把一個點的特定長度或形狀的鄰域稱作窗口。對于二維中值濾波,可利用某種形式的二維窗口,如:方形、圓形、十字形等。設式(

41、3-4) 表示數字圖像各點的灰度值,如下式所示: (3-4)那么濾波窗口為A的二維中值濾波可定義如式(3-5): (3-5)雖然標準中值濾波技術在衰減噪聲的同時能較好的保護圖像邊緣,但由于其僅考慮濾波窗口內的輸入數據的排序信息,而未考慮輸入數據的時序源信息,故在圖像處理中會產生邊緣抖動,并會刪除掉一些重要的圖像細節,如細線,拐角等。所以要對算法進行改進。3.4 圖像小波域濾波小波分析用于圖像去噪處理,主要是針對圖像信號與噪聲信號經小波變換后在不同的分辨率呈現不同的規律,在不同的分辨率下,設定閾值門限,調整小波系數,達到圖像去噪的目的。在小波系數進行取舍之前,實際上按照一定準則(或者閾值化)將小

42、波系數劃分為兩類:一類是重要的、規則的小波系數;另一類是被看作非重要的或者受噪聲干擾較大的小波系數。通常以小波系數的絕對值作為小波系數的分類單元。小波系數絕對值趨向于零,意味著小波系數所包含的信息量受噪聲干擾強烈。最常用的閾值化去噪方法:一是默認閾值消噪處理,即在消噪處理過程中采用程序中設定的閾值,對分解信號進行分類處理,以求消除噪聲;二是給定軟(或硬)閾值消噪處理,閾值通過某一個經驗公式獲得,該閾值比默認的閾值去噪效果更有說服力。對于“軟閾值化”,絕對值小于閾值的小波系數數值用零代替;絕對值大于閾值的小波系數數值用來縮減。如式(3-6)所示: (3-6)式中,W表示小波系數的數值;sgn()

43、是符號函數,當數值大于零,符號為正,反之符號為負。對于“硬閾值化”,僅僅保留絕對值大于閾值的小波系數,并且被保留系數與系數相同(沒有被縮減),如式(3-7)所示: (3-7)閾值化處理的關鍵在于選擇合適的閾值。如果閾值太小,處理后的信號仍有噪聲存在;閾值太大,重要的圖像特征將被濾掉,引起偏差。3.5 基于圖像銳化和平滑的濾波技術圖像平滑往往使圖像中的邊界、輪廓變得模糊,為了減少這種不利效果的影響,我們對濾波技術進行了改進,利用到了圖像銳化技術,使圖像的邊緣變得更清晰。圖像銳化的目的是使圖像的邊緣、輪廓線以及圖像的細節變得清晰。經過平滑的圖像變得模糊是因為圖像受到平均或積分運算,那我們對其進行逆

44、運算就可以使圖像變得清晰。LUM濾波器是一類新的基于排序的濾波器,主要用于信號和圖像處理的各種應用中。該濾波結構通過兩個參數分別調整LUM濾波器的平滑和銳化程度,從而實現不同功能,因此該濾波器具有通用性且易于實現。設W是一個以為中心像素,具有N(N為奇數)個像素點的窗口函數,即: (3-8)對于二維信號,可把窗口看成一個簡單的方窗,排序后的集合表示如式(3-9): (3-9)下面我們分別給出LUM平滑器、LUM銳化器和通用LUM濾波器的定義。3.5.1 LUM平滑器LUM平滑器是LUM濾波器的一個子濾波結構,主要用于平滑圖像。定義濾波輸出: (3-10)其中。從定義可知。如果,那么LUM平滑器

45、的輸出為;如果,則輸出為;否則,輸出為。參數 k用于控制濾波器的平滑特性,通過調節k值,可折衷噪聲平滑和細節保留這一矛盾。k值越小,其保留細節的特性越突出,k值越大,其噪聲平滑的效果越好。因此,可根據圖像的不同特點及不同濾波目的,動態的調節k值以獲得不同的濾波效果。3.5.2 LUM銳化器LUM銳化器是LUM濾波器的另一個子濾波結構,其作用是銳化圖像,增強圖像的邊緣。具有參數的LUM銳化器的輸出的定義如下: (3-11)其中。通過改變參數的值可得到不同程度的銳化效果,的值越小,銳化的效果越明顯。由于LUM銳化器的邊緣增強的同時不會擴大背景噪聲,也不會誤刪除小的信號,因此是一個較好的保留細節和增

46、強邊緣的濾波器。3.5.3 LUM濾波器為得到一個既能平滑圖像,又能增強邊緣的濾波器,把LUM平滑器和LUM銳化器組合在一起是很有必要的,這就是通常所說的LUM濾波器。這樣LUM濾波器的定義如下: (3-12)從式(3-12)可以看出,只需要調節參數k和l就可以實現LUM濾波器的不同功能,因此,LUM濾波器是一個簡單易實現且功能強大的濾波器,它避免傳統線性邊緣增強濾波器的一些缺點,具有極強的可設計性和極大的靈活性,可根據需要來設計實現不同功能,例如:可把它設計成對附加噪聲不敏感的濾波器,也可把它設計成在去除脈沖噪聲的同時能增強的濾波器等。3.6 幾種算法的比較及選擇(1)4點鄰域均值濾波及55

47、中值濾波和維納濾波以圖像模糊為代價,可以不同程度地濾除相關噪聲。4點窗口鄰域均值濾波由于取的鄰域較小,濾除效果不是很好,仍有不少噪聲殘留,但圖像模糊程度卻是較小的。但如果增大了鄰域范圍,能夠更好濾除噪聲,但圖像的模糊程度加重;55中值濾波窗口取得相對較大,能夠較好地濾除噪聲,但同時圖像的模糊程度也隨之增大,這主要和所選取的窗口大小有關。所以用33的中值濾波窗口就能在圖像模糊程度不大的前提下實現對噪聲的濾除。(2)原始圖像經過均值濾波后,噪聲得到了抑制,圖像也得到了平滑,但同時也使圖像邊緣變得模糊。中值濾波能較好地保護邊界,但對圖像中的細節處理不理想。經實驗證實,中值濾波能有效去除圖像中的噪聲點

48、,特別是在一片連續變化緩和的區域中(比如人的皮膚),幾乎能完全去除灰度突變點(可以認為是噪聲點),也因為如此,中值濾波不適合用在細節點多或細節線多的圖像中,因為細節點有可能被當成噪聲點去除。這也是中值濾波的一個比較大的缺點。(3)盡管維納濾波方法是按最小原則導出的,在理論上更精確,維納濾波雖能使噪聲得到抑制,并較好保存圖像的邊緣和高頻細節信息,但是去噪后的圖像顯得很模糊。(4)小波域去噪的圖像,只有當閾值選擇合適,才能使質量明顯好轉信噪比有較大的提高。如果在閾值得選擇上選取得不恰當得話,那么也不能得到清晰得圖像。(5) LUM濾波器由于是基于平滑與銳化,所有說是可以突出圖像中模糊的部分,它可以

49、用來處理經過均值濾波、中值濾波和維納濾波后的圖像,而且通過對LUM濾波器中的兩個參數進行設置,就可以實現理想濾波了。所以通過上面對幾種算法的比較可以看出,經過維納濾波和均值濾波的圖像的模糊程度很大,不能很好地恢復圖像,在去除噪聲的同時也損失的很多的圖像信息。而小波域去噪雖然能很好地實現噪聲地去除,但在實現上和對閾值的選取上有很多的要求,實現起來比較地繁瑣。LUM濾波器的特點是使圖像中的細節部分突出或增強被模糊了的細節,而這一般不用的在對圖像首先的預處理上,一般使用于處理后的圖像。綜上所述,這次設計選取中值濾膜來實現圖像的降噪,因為如果用33窗口的中值濾波去處理帶有噪聲的圖像,那么由于窗口很小,

50、那么所損失的圖像的信息就很少,而且對圖像也不會造成很明顯的模糊,所以選擇中值濾波進行設計。3.7 中值濾波與LUM濾波器的仿真 通過仿真后我們可以看到,將LUM濾波器和中值濾波結合起來用于去掉圖像的椒鹽噪聲有很好的效果。而且LUM濾波器現在的技術也比較成熟了,所以這里就用中值濾波來實現圖像去噪,而且用SOPC技術來實現圖像降噪現在也十分流行。LUM濾波和中值濾波的仿真圖如圖3-1到圖3-5。 圖3-1原始圖像 圖3-2 加上椒鹽噪聲的圖像 圖3-3 平滑后的圖像 圖3-4銳化后的圖像圖3-5中值濾波后的圖像第4章 中值模塊的FPGA實現4.1 中值濾波模塊的設計由于33窗口的中值濾波的效果最好

51、,所以這里我們也選用33窗口。先是要設計一個33的模板生成塊,其作用就是將數據按照需要的方式輸出,就是將中心點和其周圍的8個點的灰度值相對應的輸出;然后輸出的9個點的灰度值再經過中值濾波模塊,這個模塊的作用就是將9個數據進行比較后再排序,選出中間的數值即q5,再用q5的值代替中心的灰度值。整個系統的設計方案如圖(4-1)所示:33模板生成模塊中值濾波模塊D7.0DOUT7.0DV圖4-1中值濾波總體設計方案 由圖(4-1)可知,整個系統設計可以分為2個部分:33模板生成模塊和中值濾波模塊。D7.0為灰度圖像數據輸入端,整個系統有統一的時鐘信號CLK和復位信號RST;DOUT7.0為圖像數據輸出

52、端;DV為輸出數據有效標志。4.1.1 33模板生成模塊(1) 33模板生成模塊的原理33模板生成模塊的原理框圖如圖(4-2)所示:R2R3FIFOAR4R5R6R7FIFO B數據輸入R1W33W32W31W23W22W21W13W12W11圖4-2 33模板電路原理框圖圖(4-2)中:R代表移位寄存器;FIFO代表先進先出存儲器。圖像數據以時鐘節拍從數據輸入端依次輸入,FIFO用來存儲一行的數據,便使存放的正好是33模板所對應的圖像數據,圖(4-3)所示:W11W12W21W31W22W32W13W23W33圖4-3 33模板對應的圖像數據 當數據流不斷從數據輸入端輸入時, 33模板對應的

53、圖像數據不斷地跟著變化,這就可以對一幀圖像的所有像素都進行33模板處理。在實現33模板的時候,首先是需要注意看兩個FIFO是不是都存入滿了,通過滿信號full來確定,然后通過滿信號來對讀信號WR進行控制,這部分通過軟件來控制實現,即用片上系統來實現控制。 (2) 33模板生成模塊的硬件實現及封裝在了解了33模板生成模塊的原理后,就要對其進行硬件實現了。在Quartus里面的原理圖中將其連接好,連接好的33模板實現如圖5-4所示:圖4-4 33模板實現框圖圖4-4中,下面左邊第一個是一個地址發生器;第二個是先定制好的ROM,里面存放了圖片的灰度值;右邊7個則是移位寄存器;中間2個大的是FIFO;

54、最上面的則是控制FIFO的Control控制器。Control控制器是通過時鐘的個數來控制FIFO的輸出的。其封裝圖如圖4-5所示:圖4-5 33模板生成模塊封裝圖4.1.2 中值濾波模塊(1) 雙進雙出的8位2進制數值比較器的實現要構建中值濾波模塊,首先需要一個雙進雙出的8位2進制數值比較器,由于在Quartus的器件庫里面沒有完全符合條件的器件,所以需要自己用硬件語言來編寫一個這樣的器件,其硬件描述語言如下:library ieee;use ieee.std_logic_1164.all;entity bijiaoqi is port( a,b:in std_logic_vector(7 downto 0); q1,q2:out std_logic_vector(7 downto 0);end bijiaoqi ;architecture one of bijiaoqi is begin process(a,b) begin if (a=b) then q1=a;q2=b; else q1=b;q2=a; end if; end process;end architecture one;由硬件描述語言建立的器件如圖(4-6)所示:A7.0 B7.

溫馨提示

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

評論

0/150

提交評論