畢業論文-圖像增強算法研究-圖像平滑模塊_第1頁
畢業論文-圖像增強算法研究-圖像平滑模塊_第2頁
畢業論文-圖像增強算法研究-圖像平滑模塊_第3頁
畢業論文-圖像增強算法研究-圖像平滑模塊_第4頁
畢業論文-圖像增強算法研究-圖像平滑模塊_第5頁
已閱讀5頁,還剩21頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、PAGE 河北農業大學現代科技學院 本科畢業論文(設計)題 目: 學 部: 工程技術學部 專業班級: 計算機科學與技術0901班學 號: 學生姓名: 指導教師姓名: 指導教師職稱: 講師 二一三 年 六 月 二 日PAGE 摘 要圖像作為一種有效的信息載體,是人類獲取和交換信息的主要來源。人類感知的外界信息80%以上是通過視覺得到的。因此,圖像處理的應用領域必然涉及到人類生活和工作的方方面面。圖像平滑是指用于突出圖像的寬大區域、低頻成分、主干部分或抑制圖像噪聲和干擾高頻成分,使圖像亮度平緩漸變,減小突變梯度,改善圖像質量的圖像處理方法。本文圍繞圖像平滑而展開,在闡明圖像平滑處理基本方法的基礎上

2、,就幾種有代表性的圖像平滑算法, 進行了研究、比較,分析了各自的優缺點并指明了其最佳適用場景,以期從中總結出一套行之有效的圖像平滑算法的應用指導規則。關鍵字:信息載體,圖像,圖像噪聲,C+AbstractAs an effective information carrier,image is the main source through which human acquire and exchange information.Researches have shown that eighty percent of surroundings information which is able

3、to be perceptive by human is acquired through human visual system.Teehniques of image enhaneement aim at improving the interpretability or perception of information in images for human viewers,eliminating or attenuating unneeded information,or providing better input for other automated image proeess

4、ing teehniques.This paper is developed according to the algorithm of image enhancement.After the fundamental methods of image enhancement processing are demonstrated,the following representative algorithms. deeply and systematically investigated and compared.The advantage and defect of the above-men

5、tioned algorithms as well as the suitable application situations of them are analyzed and pointed out,in order to conclude a set of effective application instructing rules.Key words: information carrier, image, image noise, c + + 目錄 TOC o 1-3 h z u HYPERLINK l _Toc279875242 1 緒論 PAGEREF _Toc27987524

6、2 h 1 HYPERLINK l _Toc279875243 1.1 課題背景 PAGEREF _Toc279875243 h 1 HYPERLINK l _Toc279875244 1.2 圖像增強的研究及發展現狀 PAGEREF _Toc279875244 h 2 HYPERLINK l _Toc279875247 2 圖像增強基礎3 HYPERLINK l _Toc279875248 2.1 為什么要進行圖像增強3 HYPERLINK l _Toc279875252 2.2 圖像增強的定義3 HYPERLINK l _Toc279875253 2.3 常用的圖像增強方法3 HYPERL

7、INK l _Toc279875256 2.4 圖像增強流程圖4 HYPERLINK l _Toc279875258 3 圖像平滑6 HYPERLINK l _Toc279875259 3.1 圖像平滑的目的6 HYPERLINK l _Toc279875262 3.2 圖像平滑的方法6 HYPERLINK l _Toc279875263 3.2.1 線性平滑6 HYPERLINK l _Toc279875264 3.2.2非線性平滑6 HYPERLINK l _Toc279875274 4 圖像平滑算法與實現8 HYPERLINK l _Toc279875275 4.1 均值濾波8 HYPE

8、RLINK l _Toc279875263 4.1.1 基本原理8 HYPERLINK l _Toc279875264 4.1.2實現方法8 HYPERLINK l _Toc279875263 4.1.3 程序源代碼9 HYPERLINK l _Toc279875264 4.1.4結果輸出及分析10 HYPERLINK l _Toc279875276 4.2 高斯濾波11 HYPERLINK l _Toc279875263 4.2.1 基本原理 PAGEREF _Toc279875263 h 11 HYPERLINK l _Toc279875264 4.2.2實現方法 PAGEREF _Toc

9、279875264 h 11 HYPERLINK l _Toc279875263 4.2.3 程序源代碼12 HYPERLINK l _Toc279875264 4.2.4結果輸出及分析13 HYPERLINK l _Toc279875277 4.3 中值濾波15 HYPERLINK l _Toc279875263 4.3.1 基本原理15 HYPERLINK l _Toc279875264 4.3.2實現方法15 HYPERLINK l _Toc279875263 4.3.3 程序源代碼16 HYPERLINK l _Toc279875264 4.3.4結果輸出及分析17 HYPERLINK

10、 l _Toc279875280 結 論20 HYPERLINK l _Toc279875281 致 謝21 HYPERLINK l _Toc279875282 參考文獻22PAGE 221緒論人們對外界信息的百分之七十五都來自圖像,也就是說人類的大部分信息都是從圖像中獲取的。利用計算機對圖像進行各種形式的處理,促進了圖像處理技術的快速發展。圖像增強本身就是圖像處理中最具吸引力的領域之一。1.1 課題背景數字圖像處理技術是20世紀60年代隨著計算機技術和VLS(Very Large Scale Integrator的發展而產生、發展和不斷成熟起來的一個新興技術領域,它在理論上和實際應用中都取得

11、了巨大的成就1。視覺是人類最重要的感知手段,圖像又是視覺的基礎。早期圖像處理的目的是改善圖像質暈,它以人為對象,以改善人的視覺效果為目的。圖像處理中輸入的是質量低的圖像,輸出的是改善質量后的圖像。常用的圖像處理方法有圖像增強、復原、編碼、壓縮等。首次獲得成功應用的是美國噴氣推進實驗室(JPL)。他們對航天探測器徘徊者7號在1964年發回的幾千張月球照片進行圖像處理,如:幾何校正、灰度變換、去除噪聲,并考慮了太陽位和月球環境的影響,由計算機成功地繪出月球表面地圖,獲得了巨大的成功。隨后又對探測飛船發回的近十萬張照片進行更為復雜的圖像處理,獲得月球的地形圖、彩色圖及全景鑲嵌圖,為人類登月創舉奠定了

12、堅實的基礎,也推動了數字圖像處理這門學科的誕生。在以后的宇航空間技術探測研究中,數字圖像處理技術都發揮巨大的作用2。數字圖像處理技術取得的另一個巨大成就是在醫學上。1972年英國EMI公司工程師Housfield發明了用于頭顱診斷的X射線計算機斷層攝影裝置,也就是我們通常所說的CT(Computer Tomograph),CT的基本方法是根據人的頭部截面的投影,經計算機處理來重建截面圖像,稱為圖像重建。1975年EMI公司又成功研制出全身用的CT裝置,獲得了人體各個部位鮮明清晰的斷層圖像。1979年,這項無損傷診斷技術被授予諾貝爾獎,以表彰它對人類做出的劃時代貢獻。從20世紀70年代中期開始,

13、隨著計算機技術和人工智能、思維科學研究的迅速發展,數字圖像處理技術向更高、更深層次發展。人們已開始研究如何用計算機系統解釋圖像,類似人類視覺系統3理解外部世界,這被稱為圖像理解或計算機視覺。很多國家,特別是發達國家投入更多的人力、物力到這項研究,取得了不少的重要的研究成果。其中代表性的成果是70年代末MIT的Marr提出的視覺計算理淪,這個理論成為計算機視覺領域其后十多年的主導思想4。20世紀80年代末期,人們開始將其應用于地理信息系統,研究海圖的自動讀入、自動生成方法。數字圖像處理技術的應用領域不斷拓展。數字圖像處理技術的大發展是從20世紀90年代初開始的。自1986年以來,小波理論和變換方

14、法迅速發展,它克服r傅里葉分析不能用于局部分析等方面的不足之處,被認為是調和分析半個世紀以來工作之結晶。Ma11at于1988年有效地將小波分析應用于圖像分解和重構。小波分析被認為是信號,圖像分析在數學方法上的重大突破。隨后數字圖像處理技術迅猛發展,到目前為止,圖像處理在圖像通訊、辦公自動化系統、地理信息系統、醫療設備、衛星照片傳輸及分析和工業自動化領域的應用越來越多。進入21世紀,隨著計算機技術的迅猛發展和相關理論的不斷完善,數字圖像處理技術在許多應用領域受到廣泛重視并取得了重大的開拓性成就。屬于這些領域的有航空航天、生物醫學、機器人視覺、公安司法、軍事制導、文化藝術等。該技術成為一門引人注

15、目、前景遠大的新學科。1.2 圖像增強的研究及發展現狀圖像增強是指根據特定的需要突出圖像中的重要信息,同時減弱或去除不需要的信息。從不同的途徑獲取的圖像,通過進行適當的增強處理,可以將原本模糊不清甚至根本無法分辨的原始圖像處理成清晰的富含大量有用信息的可使用圖像,有效地去除圖像中的噪聲、增強圖像中的邊緣或其他感興趣的區域,從而更加容易對圖像中感興趣的目標進行檢測和測量5。處理后的圖像是否保持原狀已經是無關緊要的了,不會因為考慮到圖像的一些理想形式而去有意識的努力重現圖像的真實度。圖像增強的目的是增強圖像的視覺效果,將原圖像轉換成一種更適合于人眼觀察和計算機分析處理的形式。它一般要借助人眼的視覺

16、特性,以取得看起來較好地視覺效果,很少涉及客觀和統一的評價標準。增強的效果通常都與具體的圖像有關系,靠人的主觀感覺加以評價。圖像增強處理的應用已經滲透到醫學診斷、航空航天、軍事偵察、指紋識別、無損探傷、衛星圖片的處理等領域。如對x射線圖片、CT影像、內窺鏡圖像進行增強,使醫生更容易從中確定病變區域,從圖像細節區域中發現問題;對不同時間拍攝的同一地區的遙感圖片進行增強處理,偵查是否有敵人軍事調動或軍事裝備及建筑出現;在煤礦工業電視系統中采用增強處理來提高工業電視圖像的清晰度,克服因光線不足、灰塵等原因帶來的圖像模糊、偏差等現象,減少電視系統維護的工作量。圖像增強技術的快速發展同它的廣泛應用是分不

17、開的,發展的動力來自穩定涌現的新的應用,我們可以預料,在未來社會中圖像增強技術將會發揮更為重要的作用6。在圖像處理過程中,圖像增強是十分重要的一個環節。本文的主要內容就是圍繞圖像增強部分的一些基本理論和算法而展開。2 圖像增強基礎2.1 為什么要進行圖像增強圖像增強是數字圖像處理中的重要而基本的內容。增強的首要目標是處理圖象,使其比原始圖象更適合特定應用。通過直方圖均衡化技術來實現圖像增強,首先就是對原圖像通過離散函數進行直方圖處理。得到原圖像的直方圖后,根據均衡化的變換函數通過計算得到所需要的增強效果的圖像的直方圖。闡述和分析了圖像增強的點處理、空間域濾波、頻域濾波、代數運算。用直方圖均衡化

18、的算法增強灰度圖像,并在VC 6.0中實現,達到了圖象增強的目的,取得了較好的效果。 數字圖像的增強是圖像處理中的一個重要研究內容之一,是圖像處理的一項基本技術。圖像增強是指按特定的需要突出一幅圖像的某些信息,同時,削弱或除去某些不需要的信息的處理方法。通過對本課題的畢業設計,能從以上幾個方面來認識數字圖像的有關知識,深刻理解數字圖像的增強方法,特別是直方圖均衡化方法的理論知識及其相關應用。同時,能使本人掌握進行科學研究的基本方法和步驟,進一步熟悉VC6.0等軟件開發工具的使用。熟練掌握軟件開發的基本步驟和過程以及論文撰寫的格式,加強了理論知識的應用,很好地鍛煉了自己的理論聯系實際的能力。 數

19、字圖像增強只是數字圖像處理的一個小部分。我們要做好數字圖像增強就先要了解數字圖像處理的內容。下面我們來介紹一下數字圖像處理。 數字圖像處理是一門多學科的綜合學科,它會聚了光學、電子學、數學、攝影技術和計算機技術等眾多學科方面。它通過對原始圖像的加工,使之能具備更好的視覺效果或能滿足某些應用的特定要求。數字圖像處理和光電檢測技術、計算機科學、多媒體技術及專家系統等技術密切相關,經過半個多世紀的發展,目前已廣泛地應用于工業、醫療保健、航空航天、軍事等各個領域。它是一門偏重于應用的工程學科。作為計算機應用系列課程的一門實用性較強的課程,利用計算機進行數字圖像處理已成為計算機應用的重要分支之一。本課程

20、操作性和實用性較強,能充分發揮你的興趣及悟性。2.2圖像增強的定義圖像增強是指按特定的需要突出一幅圖像中的某些信息,同時削弱或去除某些不需要的信息的處理方法,也是提高圖像質量的過程7。圖像增強的目的是使圖像的某些特性方面更加鮮明、突出,使處理后的圖像更適合人眼視覺特性或機器分析,以便于實現對圖像的更高級的處理和分析。圖像增強的過程往往也是一個矛盾的過程:圖像增強希望既去除噪聲又增強邊緣。但是,增強邊緣的同時會同時增強噪聲,而濾去噪聲又會使邊緣在一定程度上模糊,因此,在圖像增強的時候,往往是將這兩部分進行折中,找到一個好的代價函數達到需要的增強目的8。傳統的圖像增強算法在確定轉換函數時常是基于整

21、個圖像的統計量,如:ST轉換,直方圖均衡,中值濾波,微分銳化,高通濾波等等。這樣對應于某些局部區域的細節在計算整幅圖的變換時其影響因為其值較小而常常被忽略掉,從而局部區域的增強效果常常不夠理想,噪聲濾波和邊緣增強這兩者的矛盾較難得到解決。2.3.常用的圖像增強方法圖像增強可分成兩大類:頻率域法和空間域法。前者把圖像看成一種二維信號,對其進行基于二維傅里葉變換的信號增強。采用低通濾波(即只讓低頻信號通過)法,可去掉圖中的噪聲;采用高通濾波法,則可增強邊緣等高頻信號,使模糊的圖片變得清晰。具有代表性的空間域算法有局部求平均值法和中值濾波(取局部鄰域中的中間像素值)法等,它們可用于去除或減弱噪聲9。

22、 圖像增強的方法是通過一定手段對原圖像附加一些信息或變換數據,有選擇地突出圖像中感興趣的特征或者抑制(掩蓋)圖像中某些不需要的特征,使圖像與視覺響應特性相匹配10。在圖像增強過程中,不分析圖像降質的原因,處理后的圖像不一定逼近原始圖像。圖像增強技術根據增強處理過程所在的空間不同,可分為基于空間域的算法和基于頻率域的算法兩大類。基于空間域的算法處理時直接對圖像灰度級做運算;基于頻率域的算法是在圖像的某種變換域內對圖像的變換系數值11進行某種修正,是一種間接增強的算法。 基于空間域的算法分為點運算算法和鄰域去噪算法。點運算算法即灰度級校正、灰度變換和直方圖修正等,目的或使圖像成像均勻,或擴大圖像動

23、態范圍,擴展對比度。鄰域增強算法分為圖像平滑和銳化兩種。平滑一般用于消除圖像噪聲,但是也容易引起邊緣的模糊。常用算法有均值濾波、中值濾波。銳化的目的在于突出物體的邊緣輪廓,便于目標識別。常用算法有梯度法、算子、高通濾波、掩模匹配法、統計差值法12等。(1)直方圖均衡化有些圖像在低值灰度區間上頻率較大,使得圖像中較暗區域中的細節看不清楚。這時可以通過直方圖均衡化將圖像的灰度范圍分開,并且讓灰度頻率較小的灰度級變大,通過調整圖像灰度值的動態范圍13,自動地增加整個圖像的對比度,使圖像具有較大的反差,細節清晰。(3)平滑噪聲有些圖像是通過掃描儀掃描輸入或傳輸通道傳輸過來的。圖像中往往包含有各種各樣的

24、噪聲。這些噪聲一般是隨機產生的,因此具有分布和大小不規則性的特點。這些噪聲的存在直接影響著后續的處理過程,使圖像失真。圖像平滑就是針對圖像噪聲的操作,其主要作用是為了消除噪聲,圖像平滑的常用方法是采用均值濾波或中值濾波,均值濾波是一種線性空間濾波,它用一個有奇數點的掩模在圖像上滑動,將掩模中心對應像素點的灰度值用掩模內所有像素點灰度的平均值代替14,如果規定了在取均值過程中掩模內各像素點所占的權重,即各像素點所乘系數,這時就稱為加權均值濾波;中值濾波是一種非線性空間濾波,其與均值濾波的區別是掩模中心對應像素點的灰度值用掩模內所有像素點灰度值的中間值代替。2.4 圖像增強流程圖NNY輸入圖像 預

25、處理增強算法處理得到增強參數保存退出最佳結果結束開始圖2-1 圖像增強流程圖3 圖像平滑3.1圖像平滑的目的圖像平滑的目的主要是為了減少圖像的噪聲。大部分噪聲, 如由敏感元件、傳輸通道、量化器等引起的噪聲,幾乎都是隨機性的。它們對某一像素點的影響, 我們可以看作是孤立的, 因此, 和臨近各點相比, 該點灰度值將有顯著的不同。基于這一分析, 我們可以用所謂鄰域平均的方法來判斷每一點是否含有噪聲, 并用適當的方法來消除所發現的噪聲。這實際上就是一種空間域的圖像平滑方法。3.2圖像平滑的方法3.2.1 線性平滑在該軟件中, 我們采用模板法來實現對圖像的平滑。模板法的思想是通過一個點和它周圍的幾個點的

26、某種運算( 通常是平均運算) 來消除突然變化的點, 從而濾掉一定的噪聲。但是圖像卻會有一定程度的模糊。而模板的取法不同, 中心點或鄰域的重要程度也不同。因此, 在實際應用時, 必須根據不同噪聲的特性來選取不同的模板。常用的模板有: 上面的第一個模板叫做平均模板, 第二個模板叫做高斯模板。模板法的運算過程是: 先用模板中心點逐一對準每一個像素 h( m , n) , 然后將模板之元素與它所壓上的圖像元素對應相乘, 最后求和, 其結果就是該中心像素點平滑后的輸出 h ( m, n ) 。這里存在一個問題就是如何處理圖像邊緣兩行兩列的元素。一種方法是采用補充的辦法, 即補充四周兩行兩列的像素, 既可

27、以用外插法, 也可以直接取與最上、最下兩行, 最左、最右兩列元素完全相同的兩行、兩列元素來補充; 另一種更為簡單的方法是不允許模板移出邊界, 而對邊界上無法處理的點, 直接復制原圖像的灰度值。在本軟件當中, 采用的是后一種處理方法。在利用 VC+ + 6. 0 實現時, 我們主要定義了一個通用的模板操作函數 Template( ) , 該函數的參數包含兩個方面的信息。一是我們必須得到要處理的圖像的信息, 包含指向圖像像素的指針和圖像的高、寬信息; 二是必須指定要變換的模板信息, 包含模板大小信息、模板系數、模板元素數組、模板中心元素的位置信息。最后利用這兩個方面的信息對圖像進行前述的逐點運算。

28、該函數支持任何不超過 5 5 的模板操作。3.2.2 非線性平滑中值濾波是一種非線性的信號處理方法。它通常采用一個含有奇數個點的滑動窗口, 將窗口中各點灰度值的中值來替代指定點( 一般是窗口中心點) 的灰度值。對于奇數個元素, 中值是指按指定大小排序后, 中間的數值; 對于偶數個元素, 中值是指排序后中間兩個元素灰度值的平均值。 4 圖像平滑算法與實現4.1 均值濾波4.1 .1基本原理均值濾波是簡單的空間域處理方法這種方法的基本思想是用幾個像素灰度平均值來代替每個像素的灰度,假定有一幅NN個像素的圖像f(x,y),平滑處理后得到另一幅圖像g(x,y)。g(x,y)由公式決定:式中x,y=0

29、,1,N-1 ;s為(x,y)鄰域中像素坐標集合,亦稱為窗口,其中不包括(x,y);M表示集合s內像素的總數。4.1.2 實現方法均值濾波方法是,對待處理的當前像素,選擇一個模板,該模板為其近鄰的若干像素組成,用模板中像素的均值來替代原像素的方法。如圖123804765圖4-1均值濾波原理示意圖序號為0的是當前像素,序號為18的像素是其模板中的鄰家像素。求模板中所有像素的均值,再把該均值賦予當前像素點,作為處理后圖像在該點上的灰度,即 (4.7)其中,s為模板,M為該模板中包含當前像素在內的像素總個數。考慮到數據分布的平衡性,本文中模板選擇為33,待處理像素放在模板的中心。為了使輸出像素值保持

30、在原理的灰度值范圍內,模板的權值總和應該維持為1。模板與模板像素的乘積要除以一個系數(通常是模板系數之和),這個過程也被稱為模板的歸一化。模板的描述還可以采用矩陣的形式,入33的均值濾波可以描述如下: 該模板的響應計算為 從模板的含義來理解,經過均值處理之后,噪聲部分被弱化到周圍像素點上,所以得到的結果是噪聲幅值減小,但是噪聲點的顆粒面積同時變大。另外,均值濾波有一個非常致命的缺點,就是在求均值的計算中,會同時將景物的邊緣也同時進行均值處理,這樣就使得景物的清晰度降低,畫面變的模糊。4.1.3 程序源代碼void CDIPDemoView:OnEnhaSmooth() 獲取文檔CDIPDemo

31、Doc* pDoc = GetDocument(); 輸入對象 CImgProcess imgInput = pDoc-m_Image; 檢查圖像是灰度圖 if (imgInput.m_pBMIH-biBitCount!=8)AfxMessageBox(不是8-bpp灰度圖像,無法處理!); 輸出的臨時對象return; CImgProcess imgOutput = imgInput;intnTempH; 模板高度intnTempW; 模板寬度FLOAT fTempC; 模板系數intnTempMX; 模板中心元素X坐標intnTempMY 模板中心元素Y坐標FLOATaValue25 =

32、1.0, 1.0, 1.0, 0.0, 0.0, 模板元素數組賦初值(默認為平均模板)1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0,0.0, 0.0, 0.0, 0.0, 0.0,0.0, 0.0, 0.0, 0.0, 0.0,;CDlgSmooth dlgPara; 創建對話框dlgPara.m_intType = 0; 初始化對話框變量值dlgPara.m_iTempH = 3;dlgPara.m_iTempW = 3;dlgPara.m_iTempMX = 1;dlgPara.m_iTempMY = 1;dlgPara.m_fTempC

33、 = (FLOAT) (1.0 / 9.0);dlgPara.m_fpArray = aValue; if (dlgPara.DoModal() != IDOK) 顯示對話框,提示用戶設定參數return; 返回nTempH = dlgPara.m_iTempH; 獲取用戶設定的參數nTempW = dlgPara.m_iTempW;nTempMX = dlgPara.m_iTempMX;nTempMY = dlgPara.m_iTempMY;fTempC = dlgPara.m_fTempC;BeginWaitCursor(); 更改光標形狀imgInput.Template(&imgOut

34、put, nTempH, 調用Template()函數實現平滑濾波 nTempW, nTempMY, nTempMX, aValue, fTempC); pDoc-m_Image = imgOutput; 將結果返回給文檔類pDoc-SetModifiedFlag(TRUE); 設置臟標記pDoc-UpdateAllViews(NULL); 更新視圖EndWaitCursor(); 恢復光標4.1.4 結果輸出及分析 輸出結果 圖4-2 原圖像 圖4-3 加入噪聲后的圖像 圖4-4 均值濾波后的圖像結果分析從上面的簡單例子可以看到,均值濾波方法抑制噪聲算法簡單,計算速度快。然而對于模板寬度較大

35、的圖像,在降低噪聲的同時也使圖像產生模糊,特別是在景物的邊緣和細節處,模板越大,雖然噪聲抑制效果越好,但同時畫面的模糊度也更加嚴重。均值濾波速度快,算法簡單,可以平滑圖像,但是降噪效果較差,“均方根誤差”、“均方根信噪比”均較大,無法徹底去掉噪聲,只能微弱地減弱它。4.2高斯濾波4.2.1基本原理高斯濾波器采用的濾波核為2維高斯函數,可以通過調整高斯函數中方差值改變頻譜曲線的陡峭程度,方差值增大曲線趨于平緩,平滑效果明顯。高斯曲線的形狀決定了它可以更好地處理連續分布的噪聲模型,而對突變的噪聲模型處理效果偏弱。4.2.2實現方法高斯平滑就是將每個像素的灰度值用其領域的加權平均值代替。該算法簡單能

36、夠有效左除高斯噪聲。二維高斯函數的表達式為:高斯函數是單值函數。這表明高斯濾波器用像素鄰域的加權均值來替代該點的像素值,而每一鄰域像素點權值是隨該點與中心點的距離單調增減的。高斯濾波是一種根據高斯函數的形狀來選擇模板權值的線性平滑濾波方法。高斯平滑濾波器對去除服從正態分布的噪聲是很有效果的。高斯函數具有5個重要性質:(1)二維高斯函數具有旋轉對稱性,即濾波器在各個方向上的平滑程度是相同的。一般來說一幅圖像的邊緣方向是不知道的。因此,在濾波之前是無法確定一個方向比另一個方向上要更多的平滑的。旋轉對稱性意味著高斯濾波器在后續的圖像處理中不會偏向任一方向。(2)高斯函數是單值函數。高斯濾波器用像素鄰

37、域的加權均值來代替該點的像素值,而每一鄰域像素點的權值是隨著該點與中心點距離單調遞減的。這一性質是很重要的,因為邊緣是一種圖像局部特征。如果平滑運算對離算子中心很遠的像素點仍然有很大的作用,則平滑運算會使圖像失真。(3)高斯函數的傅立葉變換頻譜是單瓣的。這一性質是高斯函數傅立葉變換等于高斯函數本身這一事實的直接推論。圖像常被不希望的高頻信號所污染,而所希望的圖像特征,既含有低頻分量,又含有高頻分量。高斯函數傅立葉變換的單瓣意味著平滑圖像不會被不需要的高頻信號所污染,同時保留了大部分所需要的信號。(4)高斯濾波器的寬度(決定著平滑程度)是由參數表征的,而且和平滑程度的關系是非常簡單的。越大,高斯

38、濾波器的頻帶就越寬,平滑程度就越好。通過調節平滑程度參數,可在圖像特征分量模糊(過平滑)與平滑圖像中由于噪聲和細紋理所引起的過多的不希望突變量(欠平滑)之間取得折衷。(5)由于高斯函數的可分離性,大高斯濾波器可以有效實現。通過二維高斯函數的卷積可以分兩步來進行,首先將圖像與一維高斯函數進行卷積,然后將卷積的結果與方向垂直的相同一維高斯函數進行卷積。因此,二維高斯濾波的計算量隨濾波模板寬度成線性增長而不是成平方增長。這些性質使得它在早期的圖像處理中特別有用,表明高斯平滑濾波器無論在空間域還是在頻率域都是十分有效的低通濾波器。4.2.3程序源代碼void CDIPDemoView:OnEnhaSm

39、ooth() CDIPDemoDoc* pDoc = GetDocument(); 獲取文檔 CImgProcess imgInput = pDoc-m_Image; 輸入對象if (imgInput.m_pBMIH-biBitCount!=8) 檢查圖像是灰度圖AfxMessageBox(不是8-bpp灰度圖像,無法處理!);return; CImgProcess imgOutput = imgInput; 輸出的臨時對象intnTempH; 模板高度intnTempW; 模板寬度FLOAT fTempC; 模板系數intnTempMX; 模板中心元素X坐標intnTempMY; 模板中心元

40、素Y坐標FLOATaValue25 = 1.0, 1.0, 1.0, 0.0, 0.0, 模板元素數組賦初值1.0, 1.0, 1.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0.0,0.0, 0.0, 0.0, 0.0, 0.0,0.0, 0.0, 0.0, 0.0, 0.0,;CDlgSmooth dlgPara; 創建對話框dlgPara.m_intType = 0; 初始化對話框變量值 dlgPara.m_iTempH = 3; dlgPara.m_iTempW = 3; dlgPara.m_iTempMX = 1; dlgPara.m_iTempMY = 1;

41、dlgPara.m_fTempC = (FLOAT) (1.0 / 9.0); dlgPara.m_fpArray = aValue;if (dlgPara.DoModal() != IDOK) 顯示對話框,提示用戶設定參數return; 返回 nTempH = dlgPara.m_iTempH; 獲取用戶設定的參數nTempW = dlgPara.m_iTempW;nTempMX = dlgPara.m_iTempMX;nTempMY = dlgPara.m_iTempMY;fTempC = dlgPara.m_fTempC; BeginWaitCursor(); 更改光標形狀imgInpu

42、t.Template(&imgOutput, nTempH, nTempW, 調用Template()函數 nTempMY, nTempMX, aValue, fTempC); pDoc-m_Image = imgOutput; 將結果返回給文檔類pDoc-SetModifiedFlag(TRUE); 設置臟標記pDoc-UpdateAllViews(NULL); 更新視圖EndWaitCursor(); 恢復光標4.2.4結果輸出及分析輸出結果 圖4-5 原圖像 圖4-6 加入噪聲后的圖像 圖4-7高斯濾波處理的圖片結果分析發現高斯濾波對隨機噪聲和高斯噪聲(尤其是服從正態分布的噪聲)的去除效

43、果都比較好,但是對于椒鹽噪聲的去除就欠佳,似乎在把噪聲的幅度減小的同時也把噪聲點變大了。因此在作平滑處理時要針對不同的圖像噪聲采用不同的濾波器才能獲得好的效果。高斯濾波對隨機噪聲和高斯噪聲(尤其是服從正態分布的噪聲)的去除效果都比較好,但是對于椒鹽噪聲的去除就欠佳。對于高斯濾波器,模板的大小對濾波效果影響不大。高斯濾波雖然能夠在一定程度上去掉噪聲,但也使得圖象變得模糊不清,效果并不能令人滿意。4.3中值濾波4.3.1基本原理中值濾波是基于排序系統理論的一種能有效抑制噪聲的非線性信號處理技術。在一維形式下,一維中值濾波器含有奇數個數的滑動模板,對模板中的數據由小到大,取排在中間位置上的數據作為最

44、終的處理結果。 雖然均值濾波器對噪聲有抑制作用,但同時會使圖像變得模糊。即使是加權均值波,改善的效果也是有限的。為了有效地改善這一狀況,必須改換濾波器的設計思路,中值濾波就是一種有效的方法。下面,以一個簡單的一維數據序列的濾波為例,介紹中值濾波原理。設模板的長度為5,模板中的數據設為10,15,45,20,25,則Med10,15,45,20,2520(Med表示取中值函數)。如果該模板中的數據為某個圖像中的一個局部的數據,從數據的分布規律來看,原理模板中心位置上的像素值為45,較其周圍的像素值大,畫面上一定會出現一個突變的噪聲點。經過中值濾波處理后的值為20,與周圍的像素差異不大,由此就得到

45、了抑制噪聲的效果。中值濾波的核心運算是將模板中的數據進行排序,這樣,如果一個亮點(暗點)為噪聲,就會在排序過程中被排在數據序列的最右側或者是最左側,因此,最終選擇的數據序列中間位置上的值一般不是噪聲點的值,由此便可以達到抑制噪聲的目的。4.3.2 實現方法中值濾波器是一種非線性統計濾波器,它的響應基于圖像濾波器包圍的圖像區域中像素的排序,然后由統計排序的中間值代替中心像素的值。它比小尺寸的線性平滑濾波器的模糊程度明顯要低,對處理脈沖噪聲(椒鹽噪聲)非常有效。中值濾波器的主要功能是使擁有不同灰度的點看起來更接近于它的鄰近值,去除那些相對于其鄰域像素更亮或更暗,并且其區域小于濾波器區域一半的孤立像

46、素集。在一維的情況下,中值濾波器是一個含有奇數個像素的窗口。在處理之后,位于窗口正中的像素的灰度值,用窗口內各像素灰度值的中值代替。例如若窗口長度為5,窗口中像素的灰度值為80、90、200、110、120,則中值為110,因為按小到大(或大到小)排序后,第三位的值是110。于是原理的窗口正中的灰度值200就由110取代。如果200是一個噪聲的尖峰,則將被濾除。然而,如果它是一個信號,則濾波后就被消除,降低了分辨率。因此中值濾波在某些情況下抑制噪聲,而在另一些情況下卻會抑制信號。 將中值濾波推廣到二維的情況。二維窗口的形式可以是正方形、近似圓形的或十字形等。本次作業使用正方形模板進行濾波,它的

47、中心一般位于被處理點上。窗口的大小對濾波效果影響較大。在利用 VC+ 6. 0 實現時, 我們主要定義了一個中值濾波函數 MedianFilter( ) , 其參數既包含欲處理圖像的像素指針和高、寬信息, 又包含濾波器的高、寬和中心元素的位置信息。在函數體當中, 我們先用一個數組保存濾波器所覆蓋的像素點的灰度值, 然后利用冒泡法對該數組的元素進行排序, 最后取其中值。4.3.3 程序源代碼void CDIPDemoView:OnENHAMidianF() 獲取文檔CDIPDemoDoc* pDoc = GetDocument(); 輸入對象CImgProcess imgInput = pDoc

48、-m_Image; if (imgInput.m_pBMIH-biBitCount!=8) 檢查圖像是灰度圖AfxMessageBox(不是8-bpp灰度圖像,無法處理!);return; int nFilterH; 濾波器的高度int nFilterW; 濾波器的寬度int nFilterMX; 中心元素的X坐標int nFilterMY; 中心元素的Y坐標CDlgMidFilter dlgPara; 創建對話框dlgPara.m_iFilterType = 0; 初始化變量值dlgPara.m_iFilterH = 3;dlgPara.m_iFilterW = 1;dlgPara.m_iF

49、ilterMX = 0;dlgPara.m_iFilterMY = 1;if (dlgPara.DoModal() != IDOK) 顯示對話框,提示用戶設定參數return; 返回nFilterH = dlgPara.m_iFilterH; 獲取用戶的設定nFilterW = dlgPara.m_iFilterW;nFilterMX = dlgPara.m_iFilterMX;nFilterMY = dlgPara.m_iFilterMY;BeginWaitCursor(); 更改光標形狀CImgProcess imgOutput = imgInput; 輸出的臨時對象 imgInput.M

50、edianFilter(&imgOutput, nFilterH, 調用MedianFilter()函數中值濾波 nFilterW, nFilterMY, nFilterMX);pDoc-m_Image = imgOutput; 將結果返回給文檔類pDoc-SetModifiedFlag(TRUE); 設置臟標記pDoc-UpdateAllViews(NULL); 更新視圖EndWaitCursor(); 恢復光標 void CDIPDemoView:OnENHAAdaptMidianF() 自適應中值濾波CDIPDemoDoc* pDoc = GetDocument(); 獲取文檔CImgP

51、rocess imgInput = pDoc-m_Image; 輸入對象 if (imgInput.m_pBMIH-biBitCount!=8) 檢查圖像是灰度圖AfxMessageBox(不是8-bpp灰度圖像,無法處理!);return; int nFilterH; 濾波器的高度int nFilterW; 濾波器的寬度int nFilterMX; 中心元素的X坐標int nFilterMY; 中心元素的Y坐標CDlgMidFilter dlgPara; 創建對話框 dlgPara.m_iFilterType = 0; 初始化變量值dlgPara.m_iFilterH = 3;dlgPara

52、.m_iFilterW = 1;dlgPara.m_iFilterMX = 0;dlgPara.m_iFilterMY = 1; if (dlgPara.DoModal() != IDOK) 顯示對話框,提示用戶設定參數return; 返回nFilterH = dlgPara.m_iFilterH; 獲取用戶的設定nFilterW = dlgPara.m_iFilterW;nFilterMX = dlgPara.m_iFilterMX;nFilterMY = dlgPara.m_iFilterMY;BeginWaitCursor(); 更改光標形狀 CImgProcess imgOutput

53、= imgInput; 輸出的臨時對象imgInput.AdaptiveMedianFilter 調用AdaptiveMedianFilter()函數自適應中值濾波 (&imgOutput, nFilterH, nFilterW, nFilterMY, nFilterMX); pDoc-m_Image = imgOutput; 將結果返回給文檔類 pDoc-SetModifiedFlag(TRUE); 設置臟標記pDoc-UpdateAllViews(NULL); 更新視圖EndWaitCursor(); 恢復光標4.3.4結果輸出及分析結果輸出 圖4-8 原圖像 圖4-9 加入噪聲后的圖像

54、圖4-10 31中值濾波 圖4-11 13中值濾波 圖4-12 33中值濾波結果分析中值濾波方法抑制噪聲算法雖然比均值濾波算法略微復雜,但是對畫面清晰度的保持方面卻比均值濾好很多。但是,適當的選擇模板的大小于結構形狀也非常重要。如果模板取太多,也可能使圖像的清晰度遭到了一定程度的破壞。中值濾波是常用的非線性濾波方法 ,也是圖像處理技術中最常用的預處理技術。它在平滑脈沖噪聲方面非常有效。但在處理圖像邊緣及方向性很強的圖像進行濾波處理時,還需要進一步引入其他信息,才可達到較為完整的降噪效果。結 論本次畢業設計題目是基于C+圖像增強算法研究,雖然設計的時間不是很長,但在這短短的十三周的時間里確實使我

55、學到了很多東西,在劉博老師的細心教導下,我學會許多關于圖像增強方面的知識,對今后的工作學習有很大的幫助。圖像增強,擬人說法是給圖像“化妝”,是按照特定的需要有選擇的突出圖像中的某些信息,削弱或去除某些不需要的信息的處理方法。數字圖像增強技術是數字圖像處理的基本技術,圖像增強的目的是突出圖像中人或者機器感興趣的特征部分,為后續的圖像識別、理解、輸出顯示等服務。在論文進行過程中,在導師的悉心指導下,在對傳統的圖像增強技術的研究和大量的實驗仿真下完成的圖像增強算法的研究。總結如下:圖像增強的方法有很多種,針對不對圖像的情況運用不同的增強技術,使圖像更容易讓人識別、更清晰,是本課題主要的研究目的。圖像一般都會受到噪聲的影響,使得圖像分辨率下降,同時破壞了圖像的精細結構,給圖像的后續處理帶來不便。因此如何有效抑制噪聲已成為圖像處理中極重要和首要的任務。圖像降噪的目的是提高圖像的信噪比,突出圖像的應用的特征,本文介紹了“均值濾波”、“中值濾波”、

溫馨提示

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

評論

0/150

提交評論