Sobel邊緣檢測算子_第1頁
Sobel邊緣檢測算子_第2頁
Sobel邊緣檢測算子_第3頁
Sobel邊緣檢測算子_第4頁
Sobel邊緣檢測算子_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、經(jīng)典邊緣檢測算子比較一 各種經(jīng)典邊緣檢測算子原理簡介 圖像的邊緣對人的視覺具有重要的意義,一般而言,當(dāng)人們看一個(gè)有邊緣的物體時(shí),首先感覺到的便是邊緣?;叶然蚪Y(jié)構(gòu)等信息的突變處稱為邊緣。邊緣是一個(gè)區(qū)域的結(jié)束,也是另一個(gè)區(qū)域的開始,利用該特征可以分割圖像。需要指出的是,檢測出的邊緣并不等同于實(shí)際目標(biāo)的真實(shí)邊緣。由于圖像數(shù)據(jù)時(shí)二維的,而實(shí)際物體是三維的,從三維到二維的投影必然會造成信息的丟失,再加上成像過程中的光照不均和噪聲等因素的影響,使得有邊緣的地方不一定能被檢測出來,而檢測出的邊緣也不一定代表實(shí)際邊緣。圖像的邊緣有方向和幅度兩個(gè)屬性,沿邊緣方向像素變化平緩,垂直于邊緣方向像素變化劇烈。邊緣上的

2、這種變化可以用微分算子檢測出來,通常用一階或兩階導(dǎo)數(shù)來檢測邊緣,如下圖所以。不同的是一階導(dǎo)數(shù)認(rèn)為最大值對應(yīng)邊緣位置,而二階導(dǎo)數(shù)則以過零點(diǎn)對應(yīng)邊緣位置。 (a)圖像灰度變化 (b)一階導(dǎo)數(shù) (c)二階導(dǎo)數(shù) 基于一階導(dǎo)數(shù)的邊緣檢測算子包括Roberts算子、Sobel算子、Prewitt算子等,在算法實(shí)現(xiàn)過程中,通過(Roberts算子)或者模板作為核與圖像中的每個(gè)像素點(diǎn)做卷積和運(yùn)算,然后選取合適的閾值以提取邊緣。拉普拉斯邊緣檢測算子是基于二階導(dǎo)數(shù)的邊緣檢測算子,該算子對噪聲敏感。一種改進(jìn)方式是先對圖像進(jìn)行平滑處理,然后再應(yīng)用二階導(dǎo)數(shù)的邊緣檢測算子,其代表是LOG算子。前邊介紹的邊緣檢測算子法是基

3、于微分方法的,其依據(jù)是圖像的邊緣對應(yīng)一階導(dǎo)數(shù)的極大值點(diǎn)和二階導(dǎo)數(shù)的過零點(diǎn)。Canny算子是另外一類邊緣檢測算子,它不是通過微分算子檢測邊緣,而是在滿足一定約束條件下推導(dǎo)出的邊緣檢測最優(yōu)化算子。1 Roberts(羅伯特)邊緣檢測算子 景物的邊緣總是以圖像中強(qiáng)度的突變形式出現(xiàn)的,所以景物邊緣包含著大量的信息。由于景物的邊緣具有十分復(fù)雜的形態(tài),因此,最常用的邊緣檢測方法是所謂的“梯度檢測法”。 設(shè)是圖像灰度分布函數(shù);是圖像邊緣的梯度值;是梯度的方向。則有 (1) (n=1,2,.) (2)式(1)與式(2)可以得到圖像在(x,y)點(diǎn)處的梯度大小和梯度方向。將式(1)改寫為: (3) 稱為Rober

4、ts邊緣檢測算子。式中對等的平方根運(yùn)算使該處理類似于人類視覺系統(tǒng)的發(fā)生過程。事實(shí)上Roberts邊緣檢測算子是一種利用局部差分方法尋找邊緣的算子,Robert梯度算子所采用的是對角方向相鄰兩像素值之差,所以用差分代替一階偏導(dǎo),算子形式可表示如下: (4)上述算子對應(yīng)的兩個(gè)模板如圖(A)所示。實(shí)際應(yīng)用中,圖像中的每個(gè)像素點(diǎn)都用這兩個(gè)模板進(jìn)行卷積運(yùn)算,為避免出現(xiàn)負(fù)值,在邊緣檢測時(shí)常提取其絕對值。 1 0 0 -1 0 1 -1 0 (a) (b) 圖(A)Robert算子模板2 Sobel(索貝爾)邊緣檢測算子該算子是由兩個(gè)卷積核與對原圖像進(jìn)行卷積運(yùn)算而得到的。其數(shù)學(xué)表達(dá)式為: (5)實(shí)際上Sob

5、el邊緣算子所采用的算法是先進(jìn)行加權(quán)平均,然后進(jìn)行微分運(yùn)算,我們可以用差分代替一階偏導(dǎo),算子的計(jì)算方法如下: (6)Sobel算子垂直方向和水平方向的模板如圖(B)所示,前者可以檢測出圖像中的水平方向的邊緣,后者則可以檢測圖像中垂直方向的邊緣。實(shí)際應(yīng)用中,圖像中的每一個(gè)像素點(diǎn)都用這兩個(gè)卷積核進(jìn)行卷積運(yùn)算,取其最大值作為輸出。運(yùn)算結(jié)果是一幅體現(xiàn)邊緣幅度的圖像。 -1 -2 -1 0 0 0 1 2 1 -1 0 1 -2 0 2 -3 0 1 (a) (b) 圖(B)Sobel算子模板3 Prewitt(普瑞維特)邊緣檢測算子Prewitt邊緣檢測算子就是一種利用局部差分平均方法尋找邊緣的算子,

6、它體現(xiàn)了三對像素點(diǎn)像素值之差的平均概念,因?yàn)槠骄軠p少或消除噪聲,為此我們可以先求平均,再求差分,即利用所謂的平均差分來求梯度。用差分代替一階偏導(dǎo)可得算子形式如下: (7)Prewitt邊緣檢測算子的兩個(gè)模板如圖(C)所示,它的使用方法同Sobel算子一樣,圖像中的每個(gè)點(diǎn)都用這兩個(gè)核進(jìn)行卷積,取得最大值作為輸出。Prewitt算子也產(chǎn)生一幅邊緣圖像。 1 0 -1 1 0 -1 1 0 -1 -1 -1 -1 0 0 0 1 1 1 (a) (b) 圖(C)Prewitt算子模板4 Laplacian(拉普拉斯)邊緣檢測算子 對于階躍狀邊緣,其二階導(dǎo)數(shù)在邊緣點(diǎn)出現(xiàn)過零交叉,即邊緣點(diǎn)兩旁的二階導(dǎo)

7、數(shù)取異號,據(jù)此可以通過二階導(dǎo)數(shù)來檢測邊緣點(diǎn)。拉普拉斯邊緣檢測算子正是對二維函數(shù)進(jìn)行二階導(dǎo)數(shù)運(yùn)算的標(biāo)量算子,它的定義是: (8)用差分代替二階偏導(dǎo)時(shí),與前述三個(gè)一階導(dǎo)數(shù)算子不同,拉普拉斯算子的形式可表示如下: (9)拉普拉斯邊緣檢測算子的模板如圖(D)所示,模板的基本特征是中心位置的系數(shù)為正,其余位置的系數(shù)為負(fù),且模板的系數(shù)之和為零。它的使用方法是用圖中的兩個(gè)點(diǎn)陣之一作為卷積核,與原圖像進(jìn)行卷積運(yùn)算即可。拉普拉斯算子又是一個(gè)線性的移不變算子,它的傳遞函數(shù)在頻域空間的原點(diǎn)為零,因此,一個(gè)經(jīng)拉普拉斯濾波過的圖像具有零平均灰度。拉普拉斯檢測模板的特點(diǎn)是各向同性,對孤立點(diǎn)及線端的檢測效果好,但邊緣方向信

8、息丟失,對噪聲敏感,整體檢測效果不如梯度算子。因此,它很少直接用于邊緣檢測。但注意到與Sobel算子相比,對圖像進(jìn)行處理時(shí),拉普拉斯算子能使噪聲成分得到加強(qiáng),對噪聲更敏感。 0 -1 0 -1 4 -1 0 -1 0 -1 -1 -1 -1 8 -1 -1 -1 -1 (a) (b) 圖(D)Laplace算子模板5 Marr-Hildreth(馬爾)邊緣檢測算子實(shí)際應(yīng)用中,由于噪聲的影響,對噪聲敏感的邊緣檢測點(diǎn)檢測算法(如拉普拉斯算子法)可能會把噪聲當(dāng)邊緣點(diǎn)檢測出來,而真正的邊緣點(diǎn)會被噪聲淹沒而未檢測出。為此Marr和Hildreth提出了馬爾算子,因?yàn)槭腔诟咚顾阕雍屠绽顾阕拥?,所以?/p>

9、稱高斯-拉普拉斯(Laplacian of Gaussian,LoG)邊緣檢測算子,簡稱LoG算子。該方法是先采用高斯算子對原圖像進(jìn)行平滑又降低了噪聲,孤立的噪聲點(diǎn)和較小的結(jié)構(gòu)組織將被濾除由于平滑會導(dǎo)致邊緣的延展,因此在邊緣檢測時(shí)僅考慮那些具有局部最大值的點(diǎn)為邊緣點(diǎn),這一點(diǎn)可以用拉普拉斯算子將邊緣點(diǎn)轉(zhuǎn)換成零交叉點(diǎn),然后通過零交叉點(diǎn)的檢測來實(shí)現(xiàn)邊緣檢測。所謂零交叉點(diǎn)就是:如果一個(gè)像素處的值小于一,而此像素8-連通的各個(gè)像素都是大于 (是一個(gè)正數(shù)),那么這個(gè)像素就是零交叉點(diǎn)。這樣還能克服拉普拉斯算子對噪聲敏感的缺點(diǎn),減少了噪聲的影響。二維高斯函數(shù)為 (10)則連續(xù)函數(shù)的LoG邊緣檢測算子定義為 (

10、11) (12)其中是標(biāo)準(zhǔn)差。算子是一個(gè)軸對稱函數(shù),其橫截面如圖(E)所示。由于它相當(dāng)?shù)钠交?,能減少噪聲的影響,所以當(dāng)邊緣模糊或噪聲較大時(shí),利用檢測過零點(diǎn)能提供較可靠的邊緣位置。 H(x,y) r 0 圖(E)H(x,y)的截面圖LoG算子在(x,y)空間具有以原點(diǎn)為中心旋轉(zhuǎn)的對稱性,LoG濾波器具有如下三個(gè)顯著特點(diǎn):² 該濾波器中的高斯函數(shù)部分對圖像具有平滑作用,可有效地消除尺度遠(yuǎn)小于高斯分布因子的噪聲信號。² 高斯函數(shù)在空域和頻域內(nèi)都具有平滑作用。² 該濾波器采用拉普拉斯算子可以減少計(jì)算量。 馬爾算子用到的卷積模板一般比較大(典型半徑為8-32個(gè)像素),不過這

11、些模板可以分解為一維卷積來快速計(jì)算。常用的LoG算子是模板,如圖(F)。與其他邊緣檢測算子一樣,LoG算子也是先對邊緣做出假設(shè),然后再這個(gè)假設(shè)下尋找邊緣像素。但LoG算子對邊緣的假設(shè)條件最少,因此它的應(yīng)用范圍更廣。另外,其他邊緣檢測算子檢測得到的邊緣時(shí)不連續(xù)的,不規(guī)則的,還需要連接這些邊緣,而LoG算子的結(jié)果沒有這個(gè)缺點(diǎn)。對于LoG算子邊緣檢測的結(jié)果可以通過高斯函數(shù)標(biāo)準(zhǔn)偏差來進(jìn)行調(diào)整。即值越大,噪聲濾波效果越好,但同時(shí)也丟失了重要的邊緣信息,影響了邊緣檢測的性能;值越小,又有可能平滑不完全而留有太多的噪聲。因此,在不知道物體尺度和位置的情況下,很難準(zhǔn)確確定濾波器的值。一般來說,使用大值的濾波器

12、產(chǎn)生魯棒邊緣,小的值的濾波器產(chǎn)生精確定位的邊緣,兩者結(jié)合,能夠檢測出圖像的最佳邊緣。數(shù)學(xué)上以證明,馬爾算子是按零交叉檢測階躍狀邊緣的最佳算子。但在實(shí)際圖像中要注意到,高斯濾波的零交叉點(diǎn)不一定全部是邊緣點(diǎn),還需要進(jìn)一步對其真?zhèn)芜M(jìn)行檢驗(yàn)。 -2 -4 -4 -4 -2 -4 0 8 0 -4 -4 8 24 8 -4 -4 0 8 0 -4 -2 -4 -4 -4 -2 圖(F)LoG算子是模板6 Kirsch(凱西)邊緣檢測算子 Kirsch邊緣檢測算子由8個(gè)卷積核組成,圖像中的每個(gè)像素點(diǎn)都用這8個(gè)核進(jìn)行卷積運(yùn)算,即須求出8個(gè)方向的平均差分。像素與不同卷積核卷積運(yùn)算的結(jié)果給出了相應(yīng)特定邊緣方向的

13、響應(yīng)。從所有方向相應(yīng)中找出一個(gè)最大值,就給出了經(jīng)過該點(diǎn)的邊緣幅度圖像的輸出值。使輸出最大的卷積核的序號既是邊緣方向的編碼。該算子還可以較好地抑制邊緣檢測的噪聲。假設(shè)原始圖像的子圖像如圖(G)所示。 圖(G)子圖像示意圖則邊緣的梯度大小為 (13)式中 (14)式(14)中的下標(biāo)超過7就用8去除并取余數(shù)。k=0,1,.,7實(shí)際上就是使用了8個(gè)模板,8個(gè)方向的模板如圖(H)所示 5 5 5 3 0 -3 -3 -3 3 3 5 5 -3 0 5 -3 -3 -3 -3 3 5 -3 0 5 -3 -3 5 -3 -3 -3 -3 0 5 -3 5 5 -3 -3 -3 -3 0 3 5 5 5 -

14、3 -3 -3 5 0 3 5 5 3 5 -3 -3 5 0 3 5 5 3 5 5 3 5 0 3 -3 -3 -3 圖(H)Kirsch算子的8方向模板從上面的8個(gè)方向模板可以看出,每兩個(gè)卷積核(模板)之間的夾角為45度。對于圖像T,模塊為(k=1,2,.,8),則邊緣強(qiáng)度在點(diǎn)(x,y)處為: k=1,2,.,8 (15)其中,以表示點(diǎn)乘運(yùn)算。如果取最大值的模作為邊緣強(qiáng)度,同時(shí)用考慮最大值符號的方法來確定相對應(yīng)的邊緣方向,則考慮到各模板的對稱性,只需要前四個(gè)模板即可。對于Kirsch算子也有幾種不同的形式,如圖(I)所示8方向的模板就是一種比較常用的方式。 0 1 1 1 1 -1 0

15、1 1 1 -1 -1 0 1 1 -1 -1 -1 0 1 -1 -1 -1 -1 0 -1 -1 0 1 1 -1 -1 0 1 1 -1 -1 0 1 1 -1 -1 0 1 1 -1 -1 0 1 1 1 1 1 1 0 1 1 1 0 -1 1 1 0 -1 -1 1 0 -1 -1 -1 0 -1 -1 -1 -1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 圖(I)8方向Kirsch算子的前4個(gè) 如果對圖像進(jìn)行二值化分析,可以發(fā)現(xiàn)圖像中非邊緣點(diǎn)往往低于閾值,而大多數(shù)邊緣點(diǎn)則往往高于該閾值。Kirsch方向

16、算子正是利用了這種現(xiàn)象,在進(jìn)行邊緣的檢測時(shí),首先用一個(gè)中偏低的灰度閾值對梯度圖像進(jìn)行二值化,從而檢測出物體與背景,物體與背景被處于閾值之上的邊界分開。隨著閾值的不斷提高,也促使物體和背景的一同增長,當(dāng)達(dá)到接觸而又不合并的臨界狀態(tài)時(shí),就可以用接觸點(diǎn)來定義邊緣。 確定了處于邊緣的像素點(diǎn)之后,理想的情形是這些邊緣點(diǎn)都是連續(xù)的,把各個(gè)點(diǎn)連接起來就構(gòu)成了區(qū)域的邊緣,各個(gè)區(qū)域也就分割開來了。但是,在很多情況下,邊緣點(diǎn)或邊緣線端之間會有間斷。所以通常情況下,如果邊緣點(diǎn)很稀疏,那么就要用分段線性或高階樣條曲線來擬合這些點(diǎn),從而形成一條可以用來分割區(qū)域的適用邊界??傊?,雖然Kirsch方向算子的計(jì)算開銷比較大,

17、但卻可以產(chǎn)生出最大的梯度邊界。與之類似的另一種比較常用的方向算子是由12個(gè)卷積核組成的Nevitia方向算子,其每兩個(gè)卷積核之間的夾角為30度,該算子充分利用了各位置的權(quán)值來調(diào)整邊緣的方向。7 canny(凱尼)邊緣檢測算子 前面介紹的邊緣檢測算子都是局域窗口梯度算子,由于它們對噪聲敏感,所以在處理實(shí)際圖像時(shí)效果并不是十分理想。根據(jù)邊緣檢測的有效性和定位的可靠性,Canny研究了最優(yōu)邊緣檢測器所需的特性,給出了評價(jià)邊緣檢測性能優(yōu)劣的三個(gè)指標(biāo):1 高的準(zhǔn)確性,在檢測的結(jié)果里應(yīng)盡量多的包含真正的邊緣,而盡量少的包含假邊緣。2 高的精確度,檢測到的邊緣應(yīng)該在真正的邊界上。3 單像素寬,要有很高的選擇

18、性,對每個(gè)邊緣有唯一的響應(yīng)。針對這三個(gè)指標(biāo),Canny提出了用于邊緣檢測的一階微分濾波器的三個(gè)最優(yōu)化標(biāo)準(zhǔn)則,即最大信噪比準(zhǔn)則、最優(yōu)過零點(diǎn)定位準(zhǔn)則和單邊緣響應(yīng)準(zhǔn)則。具體如下:(a)信噪比準(zhǔn)則 (16)式中,為邊緣函數(shù);為帶寬為W的低通濾波器的脈沖響應(yīng);是高斯噪聲的均方差。(b)定位精確度準(zhǔn)則L為邊緣的定位精度,定義如下: (17)式中,和為和的一階導(dǎo)數(shù);L是對邊緣定位精確程度的度量,L越大定位精度越高。(c)單邊緣響應(yīng)準(zhǔn)則要保證對但邊緣只有一個(gè)響應(yīng),檢測算子的脈沖響應(yīng)導(dǎo)數(shù)的零交叉點(diǎn)平均距離應(yīng)該滿足: (18)式中,是的二階導(dǎo)數(shù);是進(jìn)行邊緣檢測后的圖像。 這三個(gè)準(zhǔn)則是對前述邊緣檢測指標(biāo)的定量描述。

19、抑制噪聲和邊緣精確定位是無法同時(shí)得到滿足的,即邊緣檢測算法通過圖像平滑算子去除噪聲,勢必增加邊緣定位的不確定性;反之,若提高邊緣檢測算子對邊緣的敏感性,同時(shí)也提高了對噪聲的敏感性。因此,在實(shí)際應(yīng)用中只能寄希望于再抑制噪聲和提高邊緣定位精度之間實(shí)現(xiàn)一個(gè)合理的折衷。 值得慶幸的是,有一個(gè)線性算子可以在抵抗噪聲與邊緣檢測之間獲得一個(gè)最佳的折衷,這個(gè)算子就是高斯函數(shù)的一階導(dǎo)數(shù)。高斯函數(shù)與原圖的卷積達(dá)到了抵抗噪聲的作用,而求導(dǎo)數(shù),則是檢測景物邊緣的手段。 對于階躍形的邊緣,Canny推導(dǎo)出的最優(yōu)邊緣檢測器的形狀與高斯函數(shù)的一階導(dǎo)數(shù)類似,因此Canny邊緣檢測器就是高斯函數(shù)的一階導(dǎo)數(shù)構(gòu)成的。我們知道,高斯

20、函數(shù)是圓對稱的,因此,Canny算子在邊緣方向上是對稱的,在垂直于邊緣的方向上是反對稱的。這就意味著該算子對最急劇變化方向上的邊緣特別敏感,但在沿邊緣方向上是不敏感的。 設(shè)二維高斯函數(shù)為 (19)其中,是高斯函數(shù)的分布參數(shù),可用以控制對圖像的平滑程度。 最優(yōu)階躍邊緣檢測算子是以卷積為基礎(chǔ)的,邊緣強(qiáng)度為,而邊緣方向?yàn)椤?從高斯函數(shù)的定義可知,該函數(shù)是無限拖尾的,在實(shí)際應(yīng)用中,一般情況下是將原始模板截?cái)嗟接邢蕹叽鏝。實(shí)驗(yàn)表明,當(dāng)時(shí),能夠獲得較好的邊緣檢測結(jié)果。下面給出Canny算子的具體實(shí)現(xiàn)。 利用高斯函數(shù)的可分性,將的兩個(gè)濾波卷積模板分解為兩個(gè)一維的行列濾波器: (20) (21)其中 , 可見

21、, ,k為常數(shù)。然后把這兩個(gè)模板分別與進(jìn)行卷積,得到 (22) 令 (23)則反映邊緣強(qiáng)度,為垂直于邊緣的方向。 根據(jù)Canny的定義,中心邊緣點(diǎn)為算子與圖像的卷積在邊緣梯度方向上的區(qū)域中的最大值。這樣,就可以在每一點(diǎn)的梯度方向上判斷此點(diǎn)強(qiáng)度是否為其領(lǐng)域的最大值來確定該點(diǎn)是否為邊緣點(diǎn)。當(dāng)一個(gè)像素滿足以下三個(gè)條件時(shí),則被認(rèn)為是圖像的邊緣點(diǎn)。 1)該點(diǎn)的邊緣強(qiáng)度大于沿該點(diǎn)梯度方向的兩個(gè)相鄰像素點(diǎn)的邊緣強(qiáng)度; 2)與該點(diǎn)梯度方向上相鄰兩點(diǎn)方向差小于45°; 3)以該點(diǎn)為中心的領(lǐng)域中的邊緣強(qiáng)度極大值小于某個(gè)閾值。此外,如果1)和2)同時(shí)被滿足,那么在梯度方向上的相鄰像素就從候選邊緣點(diǎn)中取消,

22、條件3)相當(dāng)于區(qū)域梯度最大值組成的閾值圖像與邊緣點(diǎn)進(jìn)行匹配,這一過程消除了許多虛假的邊緣點(diǎn)。Canny邊緣檢測算子步驟如下:Step1:用高斯濾波器對圖像進(jìn)行濾波消噪;Step2:用一階偏導(dǎo)的有限差分來計(jì)算梯度的幅值和方向;Step3:對梯度幅值進(jìn)行非極大值抑制;Step4:用雙閾值算法檢測和連接邊緣。二 各種經(jīng)典邊緣檢測算子性能比較 由上述邊緣算子產(chǎn)生的邊緣圖像看來很相似。它們看起來像一個(gè)繪畫者從圖片中做出的線條畫。Roberts算子是算子,對具有陡峭的低噪聲圖像響應(yīng)最好。Sobel算子, Prewitt算子,Kirsch算子都是算子,對灰度漸變和噪聲較多的圖像處理得較好。使用兩個(gè)掩模板組成

23、邊緣檢測器時(shí),通常取較大的幅度作為輸出值。這使得它們對邊緣的走向有些敏感。取它們的平方和的開方可以獲得性能更一致的全方位響應(yīng)。這與真實(shí)的梯度值更接近。值得注意的是的Sobel算子和 Prewitt邊緣算子可擴(kuò)展成八個(gè)方向,并且可以像使用Kirsch算子一樣獲得邊緣方向圖。1 MATLAB程序仿真為了分析上述幾種算子的效果,我們用MATLAB對lenna原始圖像以及分別加入高斯噪聲和椒鹽噪聲后的lenna圖像進(jìn)行檢測。仿真實(shí)驗(yàn)結(jié)果如下(程序見附錄): Lenna原始圖像(一)各算子對lenna原始圖像的處理效果如下所示:(二)對lenna原始圖像加入高斯噪聲: 加入高斯噪聲的lenna圖像各算子

24、對加入高斯噪聲的lenna圖像的處理效果如下所示:(三)對lenna原始圖像加入椒鹽噪聲: 加入椒鹽噪聲的lenna圖像各算子對加入椒鹽噪聲的lenna圖像的處理效果如下所示:2實(shí)驗(yàn)效果比較 由于Roberts算子是利用圖像的兩個(gè)對角線的相鄰像素之差進(jìn)行梯度幅值的檢測,所以求得的是在差分點(diǎn)處梯度幅值的近似值,并且檢測水平和垂直方向邊緣的性能好于斜線方向的邊緣,檢測精度比較高,但容易丟失一部分邊緣,同時(shí)由于沒經(jīng)過圖像平滑計(jì)算,因此不能抑制噪聲,但該算子對具有陡峭的低噪聲圖像響應(yīng)最好。 Prewitt算子和Sobel算子都是對圖像進(jìn)行差分和濾波運(yùn)算,僅在平滑部分的權(quán)值選擇上有些差異,因此兩者均對噪

25、聲具有一定的抑制能力,但這種抗噪能力是通過像素平均來實(shí)現(xiàn)的,所以圖像產(chǎn)生了一定的模糊,而且還會檢測出一些偽邊緣,所以檢測精度比較低,該算子比較適合用于圖像邊緣灰度值比較尖銳且圖像噪聲比較小的情況。 LoG算子首先通過高斯函數(shù)對圖像進(jìn)行平滑處理,因此對噪聲的抑制作用比較明顯,但同時(shí)也可能將原有的邊緣也平滑了,造成某些邊緣無法檢測到,比外高斯分布因子的選擇對圖像邊緣檢測效果有較大的影響,越大,檢測到的圖像細(xì)節(jié)越豐富,但抗噪能力下降,從而出現(xiàn)偽邊緣,反之則抗噪能力提高,但邊緣精度下降,易丟失許多真邊緣,因此,對于不同圖像應(yīng)選擇不同參數(shù)。 Canny算子也采用高斯函數(shù)對圖像進(jìn)行平滑處理,因此具有較強(qiáng)的

26、去噪能力,但同樣存在容易平滑掉一些邊緣信息,其后所采用的一階微分算子的方向性較LoG算子要好,因此邊緣定位精度較高。該算子與其它邊緣檢測算子的不同之處在于,它使用2種不同的閾值分別檢測強(qiáng)邊緣和弱邊緣,并且僅當(dāng)弱邊緣相連時(shí)才將弱邊緣包含在輸出圖像中,因此這種方法較其它方法而言不容易被噪聲“填充”更容易檢測出真正的弱邊緣。通過對lenna圖的仿真實(shí)驗(yàn)結(jié)果可以看出,該算子在上述幾種邊緣檢測算子當(dāng)中效果最好。邊緣定位準(zhǔn)確,連續(xù)性較好,虛假邊緣少且邊緣均具有單像素寬度。 表一 各種經(jīng)典邊緣檢測算子的優(yōu)缺點(diǎn)比較 算子 優(yōu)缺點(diǎn)比較 Roberts對具有陡峭的低噪聲的圖像處理效果較好,但利用Roberts算子

27、提取邊緣的結(jié)果是邊緣比較粗,因此邊緣定位不是很準(zhǔn)確。 Sobel對灰度漸變和噪聲較多的圖像處理效果比較好,Sobel算子對邊緣定位比較準(zhǔn)確。 Kirsch對灰度漸變和噪聲較多的圖像處理效果較好。 Prewitt對灰度漸變和噪聲較多的圖像處理效果較好。 Laplacian對圖像中的階躍性邊緣點(diǎn)定位準(zhǔn)確,對噪聲非常敏感,丟失一部分邊緣的方向信息,造成一些不連續(xù)的檢測邊緣。 LoGLoG算子經(jīng)常出現(xiàn)雙邊緣像素邊界,而且該檢測方法對噪聲比較敏感,所以很少用LoG算子檢測邊緣,而是用來判斷邊緣像素是位于圖像的明區(qū)還是暗區(qū)。 Canny此方法不容易受噪聲的干擾,能夠檢測到真正的弱邊緣。在edge函數(shù)中,最

28、有效的邊緣檢測方法是Canny方法。該方法的優(yōu)點(diǎn)在于使用兩種不同的閾值分別檢測強(qiáng)邊緣和弱邊緣,并且僅當(dāng)弱邊緣與強(qiáng)邊緣相連時(shí),才將弱邊緣包含在輸出圖像中。因此,這種方法不容易被噪聲“填充”,跟容易檢測出真正的弱邊緣。三 結(jié)論 目前,邊緣檢測技術(shù)在很多領(lǐng)域中都得到了廣泛的應(yīng)用。如對醫(yī)學(xué)圖像的邊緣特征提取、車牌識別、人臉檢測技術(shù)等。本文討論和比較了幾種常用的經(jīng)典邊緣檢測算子??梢钥闯鏊鼈兌疾皇蔷哂薪^對優(yōu)勢的方法,在圖像的抗噪聲、圖像邊緣的定位情況、圖像部分邊緣是否可以檢測出,以及算法運(yùn)行的速度等方面,各自存在優(yōu)缺點(diǎn)。所以對于圖像的邊緣檢測,要根據(jù)不同的系統(tǒng),針對不同的環(huán)境條件和要求,選擇合適的算子。

29、希望本文總結(jié)的各種算法的優(yōu)缺點(diǎn)及適用范圍,能為今后人們使用這些算子以及研究更好的邊緣檢測算子方法提供參考價(jià)值。附錄附錄(1)各算子對lenna原始圖像處理的仿真程序:function jingdianI=imread('lenna.jpg');B1=edge(I,'roberts');B2=edge(I,'sobel');B3=edge(I,'prewitt');B4=edge(I,'canny');B5=edge(I,'log');B6=DetectContour(I,0.3);subplot(2

30、,3,1);imshow(B1);title('roberts算子檢測');subplot(2,3,2);imshow(B2);title('sobel算子檢測');subplot(2,3,3);imshow(B3);title('prewitt算子檢測');subplot(2,3,4);imshow(B4);title('canny算子檢測');subplot(2,3,5)imshow(B5);title('log算子檢測');subplot(2,3,6);imshow(B6);title('kirsch

31、算子檢測');附錄(2)各算子對加入高斯噪聲lenna圖像處理的仿真程序:function jingdianI=imread('lenna.jpg');I1=imnoise(I,'gaussian');B1=edge(I1,'roberts');B2=edge(I1,'sobel');B3=edge(I1,'prewitt');B4=edge(I1,'canny');B5=edge(I1,'log');B6=DetectContour(I1,0.3);subplot(2,3,

32、1);imshow(B1);title('roberts算子檢測');subplot(2,3,2);imshow(B2);title('sobel算子檢測');subplot(2,3,3);imshow(B3);title('prewitt算子檢測');subplot(2,3,4);imshow(B4);title('canny算子檢測');subplot(2,3,5)imshow(B5);title('log算子檢測');subplot(2,3,6);imshow(B6);title('kirsch算子檢測');附錄(3)各算子對加入椒鹽噪聲lenna圖像處理的仿真程序:function jingdianI=imread('lenna.jpg');I2=imnoise(I,'salt & pepper');B1=edge(I2,'ro

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論