《專業(yè)綜合課程設(shè)計(jì)》說明書邊緣提取不同算子方法的分析比較_第1頁
《專業(yè)綜合課程設(shè)計(jì)》說明書邊緣提取不同算子方法的分析比較_第2頁
《專業(yè)綜合課程設(shè)計(jì)》說明書邊緣提取不同算子方法的分析比較_第3頁
《專業(yè)綜合課程設(shè)計(jì)》說明書邊緣提取不同算子方法的分析比較_第4頁
《專業(yè)綜合課程設(shè)計(jì)》說明書邊緣提取不同算子方法的分析比較_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、武漢理工大學(xué)專業(yè)綜合課程設(shè)計(jì)說明書目 錄14摘 要i1簡介11.1matlab 簡介11.2數(shù)字圖像處理簡介12邊緣檢測32.1邊緣的含義32.2邊緣檢測的含義32.3邊緣檢測的步驟33常用的邊緣檢測算子53.1微分算子53.1.1 sobel算子53.1.2 robert算子63.1.3 prewitt算子63.2 laplacian算子63.3 log算法73.4 canny邊緣檢測法74程序設(shè)計(jì)85運(yùn)行結(jié)果106邊緣檢測結(jié)果比較127心得體會(huì)13參考文獻(xiàn)14摘 要邊緣檢測是利用邊緣增強(qiáng)算子,突出圖像中的局部邊緣,然后定義象素的“邊緣強(qiáng)度”,通過設(shè)置閾值的方法提取邊緣點(diǎn)集。本設(shè)計(jì)利用mat

2、lab軟件分析幾種應(yīng)用于數(shù)字圖像處理中的邊緣檢測算子,根據(jù)它們?cè)趯?shí)踐中的應(yīng)用結(jié)果進(jìn)行研究,主要包括:robert 邊緣算子、prewitt 邊緣算子、sobel 邊緣算子、log邊緣算子以及l(fā)aplacian 算子等對(duì)圖像邊緣檢測,根據(jù)實(shí)驗(yàn)處理結(jié)果對(duì)幾種算子進(jìn)行比較。關(guān)鍵詞:matlab 邊緣檢測 算子 1簡介1.1matlab 簡介matlab是國際上最流行的科學(xué)與工程計(jì)算的軟件工具,它起源于矩陣運(yùn)算,已經(jīng)發(fā)展成一種高度集成的計(jì)算機(jī)語言。有人稱它為“第四代”計(jì)算機(jī)語言,它提供了強(qiáng)大的科學(xué)運(yùn)算、靈活的程序設(shè)計(jì)流程、高質(zhì)量的圖形可視化界面設(shè)計(jì)、便捷的與其它程序和語言接口的功能。隨著matlab語

3、言功能越來越強(qiáng)大,不斷適應(yīng)新的要求并提出新的解決方法,可以預(yù)見,在科學(xué)運(yùn)算,自動(dòng)控制與科學(xué)繪圖領(lǐng)域,matlab語言將長期保持其獨(dú)一無二的地位。matlab 的特點(diǎn)如下:(1) 高效的數(shù)值計(jì)算及符號(hào)計(jì)算功能,能使用戶從繁雜的數(shù)學(xué)運(yùn)算分析中解脫出來; (2) 具有完備的圖形處理功能,實(shí)現(xiàn)計(jì)算結(jié)果和編程的可視化; (3) 友好的用戶界面及接近數(shù)學(xué)表達(dá)式的自然化語言,使學(xué)者易于學(xué)習(xí)和掌握; (4) 功能豐富的應(yīng)用工具箱(如信號(hào)處理工具箱、通信工具箱等) ,為用戶提供了大量方便實(shí)用的處理工具.matlab的優(yōu)勢如下:(1)友好的工作平臺(tái)和編程環(huán)境(2)簡單易用的程序語言(3)強(qiáng)大的科學(xué)計(jì)算機(jī)數(shù)據(jù)處理能

4、力(4)出色的圖形處理功能(5)應(yīng)用廣泛的模塊集合工具箱(6)實(shí)用的程序接口和發(fā)布平臺(tái)(7)應(yīng)用軟件開發(fā)(包括用戶界面)1.2數(shù)字圖像處理簡介數(shù)字圖像處理又稱為計(jì)算機(jī)圖像處理,它是指將圖像信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)并利用計(jì)算機(jī)對(duì)其進(jìn)行處理的過程,以提高圖像的實(shí)用性,達(dá)到人們所要求的預(yù)期結(jié)果。從處理的目的來講主要有:(1)提高圖像的視感質(zhì)量,以達(dá)到賞心悅目的效果;(2)提取圖像中所包含的某些特征或特殊信息;(3)對(duì)圖像數(shù)據(jù)進(jìn)行變換、編碼和壓縮,以便用于圖像的存儲(chǔ)和傳輸。數(shù)字圖像處理技術(shù)是計(jì)算機(jī)技術(shù)、信息論和信號(hào)處理相結(jié)合的綜合性學(xué)科。數(shù)字圖像處理的特點(diǎn)有如下幾點(diǎn):(1)處理信息量很大:數(shù)字圖像處理的信息

5、大多是二維信息,處理信息量很大,對(duì)計(jì)算機(jī)的計(jì)算速度、存儲(chǔ)容量等要求較高。 (2)占用頻帶較寬:數(shù)字圖像處理占用的頻帶較寬。與語言信息相比,占用的頻帶要大幾個(gè)數(shù)量級(jí)。 (3)各像素相關(guān)性大:數(shù)字圖像中各個(gè)像素是不獨(dú)立的,其相關(guān)性大。在圖像畫面上,經(jīng)常有很多像素有相同或接近的灰度。就電視畫面而言,同一行中相鄰兩個(gè)像素或相鄰兩行間的像素,其相關(guān)系數(shù)可達(dá)0.9以上,而相鄰兩幀之間的相關(guān)性比幀內(nèi)相關(guān)性一般說還要大些。 (4)無法復(fù)現(xiàn)三維景物的全部幾何信息:由于圖像是三維景物的二維投影,一幅圖象本身不具備復(fù)現(xiàn)三維景物的全部幾何信息的能力,很顯然三維景物背后部分信息在二維圖像畫面上是反映不出來的。 (5)受

6、人的因素影響較大:數(shù)字圖像處理后的圖像一般是給人觀察和評(píng)價(jià)的,因此受人的因素影響較大。由于人的視覺系統(tǒng)很復(fù)雜,受環(huán)境條件、視覺性能、人的情緒愛好以及知識(shí)狀況影響很大,作為圖像質(zhì)量的評(píng)價(jià)還有待進(jìn)一步深入的研究。另一方面,計(jì)算機(jī)視覺是模仿人的視覺,人的感知機(jī)理必然影響著計(jì)算機(jī)視覺的研究。2邊緣檢測2.1邊緣的含義邊緣(edge)是指圖像局部強(qiáng)度變化最顯著的部分,邊緣主要存在于目標(biāo)與目標(biāo)、目標(biāo)與背景、區(qū)域與區(qū)域(包括不同色彩)之間,是圖像分割、紋理特征和形狀特征等圖像分析的重要基礎(chǔ)。圖像分析和理解的第一步常常是邊緣檢測(edge detection),由于邊緣檢測十分重要,因此成為機(jī)器視覺研究領(lǐng)域最

7、活躍的課題之一。邊緣是圖像的最重要的特征。邊緣是指周圍像素灰度有階躍變化或屋頂變化的那些像素的集合。邊緣檢測主要是灰度變化的度量、檢測和定位。有很多種不同的邊緣檢測方法,同一種方法使用的濾波器也不盡相同。圖像邊緣檢測就是研究更好的邊緣檢測方法和檢測算子。2.2邊緣檢測的含義邊緣檢測的基本思想首先是利用邊緣增強(qiáng)算子,突出圖像中的局部邊緣,然后定義象素的“邊緣強(qiáng)度”,通過設(shè)置閾值的方法提取邊緣點(diǎn)集。由于噪聲和模糊的存在,監(jiān)測到的邊界可能會(huì)變寬或在某點(diǎn)處發(fā)生間斷。因此,邊界檢測包括兩個(gè)基本內(nèi)容:(1)用邊緣算子提取出反映灰度變化的邊緣點(diǎn)集。(2)在邊緣點(diǎn)集合中剔除某些邊界點(diǎn)或填補(bǔ)邊界間斷點(diǎn),并將這些

8、邊緣連接成完整的線。圖像邊緣檢測大幅度地減少了數(shù)據(jù)量,并且剔除了可以認(rèn)為不相關(guān)的信息,保留了圖像重要的結(jié)構(gòu)屬性。有許多方法用于邊緣檢測,它們的絕大部分可以劃分為兩類:基于查找一類和基于零穿越的一類?;诓檎业姆椒ㄍㄟ^尋找圖像一階導(dǎo)數(shù)中的最大和最小值來檢測邊界,通常是將邊界定位在梯度最大的方向?;诹愦┰降姆椒ㄍㄟ^尋找圖像二階導(dǎo)數(shù)零穿越來尋找邊界,通常是laplacian過零點(diǎn)或者非線性差分表示的過零點(diǎn)。2.3邊緣檢測的步驟(1)濾波:邊緣檢測算法主要是基于圖像強(qiáng)度的一階和二階導(dǎo)數(shù),但導(dǎo)數(shù)的計(jì)算對(duì)噪聲很敏感,因此必須使用濾波器來改善與噪聲有關(guān)的邊緣檢測器的性能。需要指出,大多數(shù)濾波器在降低噪聲的

9、同時(shí)也導(dǎo)致了邊緣強(qiáng)度的損失,因此,增強(qiáng)邊緣和降低噪聲之間需要折中。 (2)增強(qiáng):增強(qiáng)邊緣的基礎(chǔ)是確定圖像各點(diǎn)鄰域強(qiáng)度的變化值。增強(qiáng)算法可以將鄰域(或局部)強(qiáng)度值有顯著變化的點(diǎn)突顯出來。邊緣增強(qiáng)一般是通過計(jì)算梯度幅值來完成的。 (3)檢測:在圖像中有許多點(diǎn)的梯度幅值比較大,而這些點(diǎn)在特定的應(yīng)用領(lǐng)域中并不都是邊緣,所以應(yīng)該用某種方法來確定哪些點(diǎn)是邊緣點(diǎn)。最簡單的邊緣檢測判據(jù)是梯度幅值閾值判據(jù)。 (4)定位:如果某一應(yīng)用場合要求確定邊緣位置,則邊緣的位置可在子像素分辨率上來估計(jì),邊緣的方位也可以被估計(jì)出來。在邊緣檢測算法中,前三個(gè)步驟用得十分普遍。這是因?yàn)榇蠖鄶?shù)場合下,僅僅需要邊緣檢測器指出邊緣出現(xiàn)

10、在圖像某一像素點(diǎn)的附近,而沒有必要指出邊緣的精確位置或方向。 邊緣檢測的實(shí)質(zhì)是采用某種算法來提取出圖像中對(duì)象與背景問的交界線。我們將邊緣定義為圖像中灰度發(fā)生急劇變化的區(qū)域邊界。圖像灰度的變化情況可以用圖像灰度分布的梯度來反映,因此我們可以用局部圖像微分技術(shù)來獲得邊緣檢測算子。經(jīng)典的邊緣檢測方法,是通過對(duì)原始圖像中像素的某小鄰域構(gòu)造邊緣檢測算子來達(dá)到檢測邊緣這一目的的。3常用的邊緣檢測算子3.1微分算子經(jīng)典的邊緣提取方法是考察圖像的每個(gè)像素的某個(gè)鄰域內(nèi)灰度的變化,利用邊緣鄰近一階或二階方向?qū)?shù)變化規(guī)律,用簡單的方法檢測邊緣,稱為微分算子法。導(dǎo)數(shù)算子具有突出灰度變化的作用,對(duì)圖像運(yùn)用導(dǎo)數(shù)算子,灰度

11、變化較大的點(diǎn)處算得的值較高,因此我們將圖像的導(dǎo)數(shù)算子運(yùn)算值作為相應(yīng)的邊界強(qiáng)度,所以可以通過對(duì)這些導(dǎo)數(shù)值設(shè)置閾值,提取邊界的點(diǎn)集。一階導(dǎo)數(shù)是最簡單的導(dǎo)數(shù)算子。已知在點(diǎn)f(x,y)處,梯度grad(f(x,y)的幅度為:為了進(jìn)一步簡化計(jì)算,可以?。夯蛘咂渲校?它們分別求出了灰度在x和y方向上的變化率,但是要對(duì)每一個(gè)像素進(jìn)行以上的運(yùn)算,運(yùn)算量較大,所以在實(shí)際應(yīng)用中常用小區(qū)域模板卷積運(yùn)算來進(jìn)行近似計(jì)算。模板運(yùn)算的想法是將賦予某一個(gè)像素的值作為它本身灰度值和相鄰象素灰度值的函數(shù)。運(yùn)用中,對(duì)x,y方向各用一個(gè)模板。3.1.1 sobel算子sobel算子是一種梯度幅值,通常可以以數(shù)字化方式用下表所示的卷積

12、核來實(shí)現(xiàn)。圖像中的每個(gè)都用這兩個(gè)核做卷積,一個(gè)核對(duì)通常的垂直邊緣響應(yīng)最大而另一個(gè)對(duì)水平邊緣響應(yīng)最大。兩個(gè)卷積的最大值值作為該點(diǎn)的輸出值,運(yùn)算結(jié)果是一副邊緣幅度的圖像。x,y方向各用一個(gè)模板,兩個(gè)模板組合起來構(gòu)成1個(gè)梯度算子。x方向模板對(duì)垂直邊緣影響最大,y方向模板對(duì)水平邊緣影響最大。模板如下: 3.1.2 robert算子roberts算子是一種斜向偏差分的梯度計(jì)算方法, 梯度的大小代表邊緣的強(qiáng)度, 梯度的方向與邊緣走向垂直。該算子定位精度高, 但容易丟失部分邊緣。因?yàn)闆]進(jìn)行平滑處理, 不具有抑制噪聲的能力。用該算子處理邊緣陡峭度高且噪聲小的圖像效果較佳。roberts算子由下式給出:模板如下

13、:3.1.3 prewitt算子prewitt算子是加權(quán)平均算子,對(duì)噪聲有抑制作用,但是像素平均相當(dāng)于對(duì)圖像進(jìn)行地同濾波,所以prewitt算子對(duì)邊緣的定位不如robert算子。模板如下:3.2 laplacian算子拉普拉斯高斯算子是一種二階導(dǎo)數(shù)算子,將在邊緣處產(chǎn)生一個(gè)陡峭的零交叉。前面介紹的幾種梯度法具有方向性,不能對(duì)各種走向的邊緣都具有相同的增強(qiáng)效果。但是laplacian算子是各向同性的,能對(duì)任何走向的界線和線條進(jìn)行銳化,無方向性。這是拉普拉斯算子區(qū)別于其他算法的最大優(yōu)點(diǎn)。對(duì)一個(gè)連續(xù)函數(shù)f(x,y),它在位置(x,y)的拉普拉斯算子定義如下:在圖像邊緣檢測中,為了運(yùn)算方便,函數(shù)的拉普拉

14、斯高斯算子也是借助模板來實(shí)現(xiàn)的。其模板有一個(gè)基本要求:模板中心的系數(shù)為正,其余相鄰系數(shù)為負(fù),所有系數(shù)的和應(yīng)該為零。模板如下:3.3 log算法正如上面所提到的,利用圖像強(qiáng)度二階導(dǎo)數(shù)的零交叉點(diǎn)來求邊緣點(diǎn)的算法對(duì)噪聲十分敏感,所以,希望在邊緣增強(qiáng)前濾除噪聲。為此,marr和hildreth將高斯濾波和拉普拉斯邊緣檢測結(jié)合在一起,形成log(laplacian of gaussian, log)算法,也稱之為拉普拉斯高斯算法。log算子的輸出h(x,y)是通過卷積運(yùn)算得到的:3.4 canny邊緣檢測法 canny邊緣檢測是一種比較新的邊緣檢測算子,具有很好的邊緣監(jiān)測性能,在圖像處理中得到了越來越廣

15、泛的應(yīng)用。它依據(jù)圖像邊緣檢測最優(yōu)準(zhǔn)則設(shè)計(jì)canny邊緣檢測算法: (1)首先用2d高斯濾波模板進(jìn)行卷積以消除噪聲 (2)利用導(dǎo)數(shù)算子找到圖像灰度地沿著兩個(gè)方向的偏導(dǎo)數(shù),并求出梯度的大小: (3)利用(2)的結(jié)果計(jì)算出梯度的方向 (4)一旦知道了邊緣的方向,就可以把邊緣的梯度方向大致分為四種:水平、豎直、45度方向、135度方向。通過梯度的方向,就可以找到這個(gè)像素梯度方向的鄰接像素。 (5)遍歷圖像,若某個(gè)像素的灰度值與其梯度方向上前后兩個(gè)像素的灰度值相比不是最大的,那么這個(gè)像素值置為0,即不是邊緣。 (6)使用累計(jì)直方圖計(jì)算兩個(gè)閾值,大于高閾值的一定是邊緣,小于低閾值的一定不是邊緣,介于之間的

16、,看這個(gè)像素的鄰接像素中有沒有超過高閾值的邊緣像素,如果有的話那么它就是邊緣了,否則它就不是邊緣。4程序設(shè)計(jì)在matlab圖像處理工具箱中,提供了edge函數(shù)利用以上算子來檢測灰度圖像的邊緣。程序代碼如下:%對(duì)原始圖像進(jìn)行前期處理a1=imread(c:documents and settingsadministrator桌面白牡丹.tif); %讀入圖像文件a2=im2double(a1); %把圖像轉(zhuǎn)換成雙精度型b=rgb2gray(a2); %將原圖轉(zhuǎn)換成灰度圖像thr,sorh,keepapp=ddencmp(den,wv,b); %求取對(duì)信號(hào)進(jìn)行小波消噪處理的默認(rèn)閾值、軟閾值,并且保

17、留低頻系數(shù)c=wdencmp(gbl,b,sym4,2,thr,sorh,keepapp); % 全局閾值設(shè)置去噪figure,imshow(c),title(消噪后圖像 );d=medfilt2(c,7 7);%進(jìn)行二維中值濾波figure,imshow(d),title(中值濾波);isuo=imresize(d,0.25,bicubic);%sobert、robert、prewitt、log、canny算子檢測圖像邊緣es=edge(isuo,sobel);er=edge(isuo,roberts);ep=edge(isuo,prewitt);el=edge(isuo,log);ec=e

18、dge(isuo,canny);subplot(3,2,1);imshow(isuo);title(前期處理圖像);subplot(3,2,2);imshow(es);title(sobel算子);subplot(3,2,3);imshow(er);title(roberts算子);subplot(3,2,4);imshow(ep);title(prewitt算子);subplot(3,2,5);imshow(el);title(log算子);subplot(3,2,6);imshow(ec);title(canny算子);5運(yùn)行結(jié)果前期處理圖像如下:圖5.1消噪后的圖像圖5.2中值濾波后的圖

19、像各種算子檢測圖像邊緣所得的結(jié)果如下圖5.3各算子處理后的圖像6邊緣檢測結(jié)果比較sobel算子檢測方法對(duì)灰度漸變和噪聲較多的圖像處理效果較好。對(duì)噪聲具有平滑作用,提供較為精確的邊緣方向信息,邊緣定位精度不夠高,圖像的邊緣不止一個(gè)像素。當(dāng)對(duì)精度要求不是很高時(shí),是一種較為常用的邊緣檢測方法。roberts算子檢測方法對(duì)具有陡峭的低噪聲的圖像處理效果較好,但是利用roberts算子提取邊緣的結(jié)果是邊緣比較粗,因此邊緣的定位不是很準(zhǔn)確。prewitt算子檢測方法對(duì)灰度漸變和噪聲較多的圖像處理效果較好。但邊緣較寬,而且間斷點(diǎn)多。laplacian算子法對(duì)噪聲比較敏感,所以很少用該算子檢測邊緣,而是用來判斷邊緣像素視為與圖像的明區(qū)還是暗區(qū)。log算子是高斯濾波和拉普拉斯邊緣檢測結(jié)合在一起的產(chǎn)物,它具有l(wèi)aplace算子的所有優(yōu)點(diǎn),同時(shí)也克服了其對(duì)噪聲敏感的缺點(diǎn)。canny方法不容易受噪聲干擾,能夠檢測到真正的弱邊緣。優(yōu)點(diǎn)在于,使用兩種不同的閾值分別檢測強(qiáng)邊緣和弱邊緣,并且當(dāng)弱邊緣和強(qiáng)邊緣相連時(shí),才將弱邊緣包含在輸出圖像中。7心得體會(huì)從本次課設(shè)可以看出,利用matlab軟件可以大大的簡化計(jì)算,可以直觀迅速的得到所需要的結(jié)果。matlab軟件功能強(qiáng)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論