摘 要:邊緣檢測是圖像處理中極其重要的一方面,文章簡要介紹了傳統的圖像邊緣提取算法,并提出了基于小波包分解的圖像邊緣提取方法。通過Matlab仿真實驗,結果證明了基于小波包分解的邊緣檢測算法的優越性。
關鍵詞:邊緣檢測;小波包分解;Matlab
引言
在圖像分析和計算機視覺領域中,邊緣檢測技術是至關重要的一個環節。圖像邊緣作為圖像最基本的特征,廣泛存在于目標與目標之間、目標與背景之間、基元與基元之間,它在圖像分割、特征提取、圖像識別等領域有著極其重要的運用,是對圖像進行進一步處理和識別的基礎。雖然圖像邊緣產生的原因不同,但是反映在圖像的組成基元上,它們都是圖像上灰度的不連續點或灰度劇烈變化的地方,這就意味著圖像的邊緣就是信號的高頻部分。
小波分析是一種信號的時頻分析方法,它具有多分辨率的特點,而且在時頻兩域都具有表征信號局部特征的能力。小波分析是把信號分解成低頻和高頻兩部分,在分解中低頻失去的信息由高頻捕獲,在下一層的分解中,只分解上一層的低頻部分,而保留上一層的高頻部分,依此類推下去,可以進行更深層次的分解。小波包分解是一種比小波分解更為精細的分解方法,它不僅對低頻部分進行分解, 而且對高頻部分也進行分解,因而是一種更為廣泛的信號處理方法。
1 邊緣檢測
1.1 概述
邊緣一般是指圖像中像素灰度有階躍變化或屋頂狀變化的那些像素的集合,可以粗略地分為階躍邊緣(step edge)與屋頂邊緣(roof edge)。邊緣對于圖像識別和分析意義重大,它能勾畫出目標物體輪廓,使觀察者一目了然,包含了物體豐富的信息(如方向、階躍性質、形狀等),是模式識別所要抽取的重要屬性。
邊緣檢測的基本思想是通過檢測每個像元和其鄰域的狀態,以決定該像元是否位于一個物體的邊界上。如果每一個像元位于一個物體的邊界上,則其鄰域像元灰度值的變化就比較大。假如可以應用某種算法檢測出這種變化并進行量化表示,那么就可以依此提取出物體的邊界,即檢測出邊緣。邊緣檢測的基本問題是檢測精度與抗噪性能之間的矛盾,由于圖像中普遍存在噪聲, 而圖像邊緣和噪聲均為頻域中的高頻分量,這也就給邊緣檢測帶來了一定的困難。
1.2 經典邊緣檢測方法
邊緣提取就是要保留圖像灰度變化劇烈的區域,從數學上講最直觀的方法就是微分或者差分運算,從信號處理的角度來看也可以說是運用高通濾波器,保留信號的高頻部分。常用的經典檢測方法有:基于一階微分算子的Roberts算子、Sobel算子、Prewitt算子、Canny算子和基于二階微分算子的Laplacian算子
(1)Roberts算子:Roberts邊緣檢測算子是一種利用局部差分算子尋找邊緣的方法。它適用于具有陡峭的低噪音的圖像處理,但對于噪聲較敏感,經常會出現孤立點。
(2)Sobel算子:Sobel邊緣檢測算子利用兩個卷積計算核對每個點都進行卷積運算,運算結果是一幅邊緣幅度圖像。它對于灰度漸變和噪聲較多的圖像處理得較好,但也存在偽邊緣,邊緣定位精度低等問題。
(3)Prewitt算子:Prewitt邊緣檢測算子和SobelSobel邊緣檢測算子一樣,也是采用兩個卷積核對每個點都進行卷積運算,取最大值作為輸出。它對噪音有平滑作用,但檢測出的邊緣比較粗,定位精度低。
(4)Canny算子:Canny邊緣檢測算子的方法是尋找圖像梯度的局部極大值,梯度是用高斯濾波器的導數計算的。Canny算子使用兩個閾值來分別檢測強邊緣和弱邊緣,而且僅當弱邊緣與強邊緣相連時,弱邊緣才會包含在輸出中。此方法具有較強的噪聲抑制能力,邊緣的連續性較好,但容易造成邊緣丟失,閾值不具有自適應性等缺點。
(5)Laplacian算子:Laplacian邊緣檢測算子是對二維函數進行的二階導數算子。它對圖像中的階躍性邊緣點定位準確,但對噪聲非常敏感,常會出現一些虛假邊緣。
近年來,隨著數學和模式識別新技術的發展,出現了一些新的邊緣檢測方法,如數學形態法、小波包變換法、神經網絡法、模糊檢測法、IFS邊緣檢測算法等。而本文下面要介紹的就是基于小波包分解的圖像邊緣檢測方法。
2 基于小波包的圖像邊緣檢測
2.1 小波包分解理論
小波包分解是在多分辨率分析的基礎上形成的一種更精細的信號分析算法, 它具有將高頻部分繼續分解的作用,克服了小波分析中高頻部分頻域分辨率差的缺點,可以對信號在全頻帶范圍內正交分解,在刻劃信號的特征方面具有更強的優勢。
假設正交小波基的濾波器系數分別為h(k)和g(k),?漬(t)表示正交尺度函數,?鬃(t)表示小波函數,并將?漬(t)記為u0(t),?鬃(t)記為u1(t)。則其二尺度關系為:
式中, ,即兩系數具有正交關系。
進一步推廣二尺度方程,定義以下遞推關系式:
特別地,當n=0時,由(2)式可以直接得到(1)式。
我們稱(2)式所定義的函數集合{un(t)},n∈Z為由基函數u0(t)=?漬(t)所確定的小波包。
2.2 小波包算法
定義子空間Unj是函數un(t)的閉包空間,設gnj(t)∈Unj,則gnj可表示為
2.3 基于小波包的邊緣檢測原理
由于圖像的邊緣就是信號的高頻部分,因此絕大多數的的邊緣檢測方法都是檢測信號的高頻分量,但是在實際圖像中,由于噪聲的存在,邊緣檢測的精度成為一個難題。
小波包分解后得到的圖像序列由近似部分和細節部分組成,近似部分是原始圖像對高頻部分進行濾波所得的近似表示。經濾波后,近似部分去除了高頻分量,因此能夠檢測到原始圖像中所檢測不到的邊緣。
3 基于小波包的圖像邊緣檢測流程
本文采用db4小波包對圖像進行一層小波分解,采用Canny算子對重構得到的圖像近似部分進行邊緣檢測,其步驟如下:
Step 1:讀入一幅圖像;
Step 2:加入噪聲;
Step 3:用小波db4對圖像進行一層小波包分解;
Step 4:重構圖像近似部分;
Step 5:對圖像近似部分進行邊緣檢測。
4 仿真實驗結果及分析
在Matlab(R2010b)環境下,根據章節3中圖像邊緣檢測流程,對圖像facets加噪,然后進行db4小波包分解及重構,再利用Canny算子對重構得到的圖像近似部分進行邊緣檢測,并與傳統的Canny算子提取結果進行比較。其仿真實驗結果如圖1所示。
其中,圖(a)為對facets原始圖片加入噪聲后所得圖像,圖(b)為利用db4小波包分解并重構得到的圖像近似部分,圖(c)為用Canny算子對含噪圖像(圖(a))直接進行邊緣檢測得到的提取結果,圖(d)則為用Canny算子對圖像近似部分(圖(b))進行邊緣檢測得到的提取結果。
由圖1可見,經db4小波包分解后得到的圖像近似部分比原始圖像層次更加分明,圖像邊緣也更加清晰直觀。分別用Canny算子進行邊緣提取后,經小波包分解得到的提取結果較傳統方法有了明顯的改進,提取出的邊緣紋理也更加清晰,有效減少了噪聲的干擾。
5 結束語
本文采用正交小波包分解的方法對含噪圖像進行了一層小波包分解,實現了圖像的近似部分重構及邊緣提取,并取得了比較好的實際效果。通過以上理論分析和計算機仿真實驗結果可見,基于小波包分解的圖像處理方法具有很強的圖像數據處理能力,良好的高頻噪聲抑制和較好的邊緣偏差抑制能力,因而得以在圖像處理領域有著至關重要的地位。
參考文獻
[1]張德豐,等.MATLAB小波分析(第2版)[M].北京:機械工業出版社,2011.
[2]劉建軍,譚冠政.基于小波包的邊緣檢測算法[J].可編程控制器與工廠自動化,2010,02:65-68.
[3]劉文婭,周作梅.小波包在圖像邊緣檢測中的應用[J].電腦知識與技術,2009,05:159-160.
[4]李安安.幾種邊緣檢測算法的比較與展望[J].大眾科技,2009,12:46-47.
[5]卓金武,等.MATLAB在數學建模中的應用[M].北京:北京航空航天大學出版社,2011.
[6]章登勇.虹膜識別的若干關鍵技術研究[D].長沙:長沙理工大學,2006.
作者簡介:張亞飛(1991,10-),男,中南大學信息科學與工程學院,本科生,研究方向:控制算法、模式識別。