【正文】
進(jìn)行高層次的特征描述、識(shí)別和理解等有著重大的影響[1]。本文寫作的主要目的是對常用的圖像邊緣提取算法進(jìn)行研究和對比,了解常用邊緣提取算法的原理及其特點(diǎn),為以后深入學(xué)習(xí)圖像分析領(lǐng)域的其它知識(shí)打下基礎(chǔ)。如果發(fā)表相關(guān)成果,一定征得指導(dǎo)教師同意,且第一署名單位為XXX。 畢業(yè)論文(設(shè)計(jì))題 目: 圖像處理中的邊緣提取算 法及其實(shí)現(xiàn) 院(系): 專業(yè)年級(jí): 姓 名: 張大威 學(xué) 號(hào): 指導(dǎo)教師: 2012年4月1日原 創(chuàng) 性 聲 明本人鄭重聲明:本人所呈交的畢業(yè)論文,是在指導(dǎo)老師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的成果。本人離校后使用畢業(yè)論文或與該論文直接相關(guān)的學(xué)術(shù)論文或成果時(shí),第一署名單位仍然為XXX。關(guān)鍵詞:圖像邊緣處理,MATLAB,GUI,Log算子,Canny算子Edge extraction algorithm in image processing and its implementationAbstractDigital image edge detection plays an import part in image analysis, such as image segmentation, interested region recognition and region shape it’s an import method in image feature extraction of image edge includes the valuable infotmation of the image which can be use in image understanding and through edge detection,we can reduce the calculation of image analysis and processing in the following step.This article discusses the Matlabbased image edge detection .Discussed in Matlab as the development platform and programming language, designed edge detection software , the design of the graphical user interface GUIDE , bining the portrait maps ,text maps, fractal images to illustrate the positioning of these operators。由于邊緣檢測在許多方面都有著非常重要的使用價(jià)值,所以人們一直在致力于研究和解決如何構(gòu)造出具有良好性質(zhì)及效果的邊緣檢測算子的問題。 數(shù)字圖像的處理一幅圖像可以定義為一個(gè)二維函數(shù)f (x , y),這里的x和y是空間坐標(biāo),而且在任何一對空間坐標(biāo)(x , y)上的幅值f被稱為該點(diǎn)圖像的強(qiáng)度或灰度。當(dāng)圖像已被采集且已對獲取過程中產(chǎn)生的失真進(jìn)行了校正,那么所有可用圖像處理技術(shù)在本質(zhì)上是通用的。 圖像邊緣處理的意義圖像處理是自動(dòng)化學(xué)科的一個(gè)分支,在工程技術(shù)領(lǐng)域有著廣泛的應(yīng)用,而邊緣檢測技術(shù)又是圖形處理中的重要部分。這是因?yàn)镸atlab有專門的圖像處理工具箱,有很多實(shí)現(xiàn)某種圖像處理功能的函數(shù),而專業(yè)級(jí)的編程工具并沒有專門為圖像處理而編寫的函數(shù),很多圖像處理函數(shù)需要開發(fā)者自己編寫。Matlab圖形處理研究的主要問題有:本文主要使用到圖像分析中的圖像邊緣檢測功能。本文寫作的目的是探索和研究幾種經(jīng)典的圖像邊緣提取算法。這些方法多是以待處理像素為中心的鄰域作為進(jìn)行灰度分析的基礎(chǔ),實(shí)現(xiàn)對圖像邊緣的提取并已經(jīng)取得了較好的處理效果。在圖像中邊緣區(qū)域的灰度在空間上的變化形式一般可分為三個(gè)類型:階躍型、房頂型和凸緣型,如圖31所示: 階躍型 房頂型 突圓型 邊緣灰度變化圖31 三個(gè)類型 邊緣檢測與提取過程從人的直觀感受來說,邊緣對應(yīng)于物體的幾何邊界。3)檢測:在有些圖像中梯度幅值較大的并不是邊緣點(diǎn)。經(jīng)典的邊界提取技術(shù)大都基于微分運(yùn)算,首先通過平滑來濾除圖像中的噪聲,然后進(jìn)行一階微分或二階微分運(yùn)算,求得梯度最大值或二階導(dǎo)數(shù)的過零點(diǎn),最后選取適當(dāng)?shù)拈撝祦硖崛∵吔纭? Log邊緣算子由于利用圖像強(qiáng)度二階導(dǎo)數(shù)的零交叉點(diǎn)來求邊緣點(diǎn)的算法對噪聲十分敏感,所以要在邊緣檢測前濾除噪聲,為此,馬爾(Marr)和希爾得勒斯(Hildreth)根據(jù)人類視覺特性提出了一種邊緣檢測的方法,該方法將高斯濾波和拉普拉斯檢測算子結(jié)合在一起進(jìn)行邊緣檢測的方法,故稱為Log(Laplacian of Gassian )算法,也稱之為高斯拉普拉斯算子,該算法的主要思路和步驟如下:(1)濾波:首先對圖像f(x,y)進(jìn)行平滑濾波,其濾波函數(shù)根據(jù)人類視覺特性選為高斯函數(shù),即: 其中,G(x,y)是一個(gè)圓對稱函數(shù),其平滑的作用是可通過來控制的。這就是馬爾和希爾得勒斯提出的邊緣檢測算子(簡稱MH算子),又稱為墨西哥草帽算子。step2: = , =*= 反映了圖像(x,y)點(diǎn)處的邊緣強(qiáng)度,是圖像(x,y)點(diǎn)處的法向矢量。理論上是可行的,問題是如何選取閾值。 本章小結(jié)本章介紹了邊緣檢測中五種比較有代表性的算法,從數(shù)學(xué)的角度講述了各算子的實(shí)現(xiàn)步驟,下一章將介紹各種算法在Matlab中的實(shí)現(xiàn)。 d) Canny;e)Sobel主要代碼為:f = imread (39。PF = edge(f, 39。)。Laplacian of Gaussian (LoG) Filter39。DF = edge(f, 39。在Matlab中輸入如下的程序:f = imread(39。PF = edge(f,39。)。Laplacian of Gaussian of Gaussian (LoG) Filter39。MF = edge(f,39。如光照、溫度等等因素,所以,僅看一個(gè)算子的定位性的好壞是不夠的。)。 %顯示原始圖像title(39。)。 %f = rgb2gray(f)。)。Prewitt Filter39。下一章將把之前介紹過的五種常用邊緣檢測算子進(jìn)行整理,并用可視化界面呈現(xiàn)出來。其基本格式如下:[Filename,Pathname,FilterIndex] = uiputfile(FilterSpec,DialogTitle,DefaultName)Filename;返回的文件名Pathname;返回文件的路徑名FilterIndex;選擇文件類型FilterSpec:文件類型設(shè)置DialogTitle:打開對話框的標(biāo)題DefaultName:默認(rèn)指向的文件名例如:[filename,pathname] = uigetfile(‘*.jpg’,’選擇圖片’)。(6)Tag屬性:控件的標(biāo)記,用于標(biāo)識(shí)控件。*.jpg39。if isequal(filename,0)||isequal(pathname,0) return。在“打開圖像”按鈕的回調(diào)函數(shù)里,調(diào)用uigetfile函數(shù)建立一個(gè)打開文件的對話框,利用imread函數(shù)來打開圖像,并用imshow函數(shù)顯示打開的圖像。*.bmp39。在“關(guān)閉軟件”控件中添加:close(gcf)在“關(guān)于軟件”控件中添加:H = [39。str=get(hObject,39。Roberts39。sobel39。 imshow(BW)。Canny39。im39。im39。BW=edge(rgb,39。這樣就完成了數(shù)字圖像邊緣提取的圖形化界面設(shè)計(jì)工作,經(jīng)測試,所完成的圖形化界面能夠?qū)崿F(xiàn)相應(yīng)的功能。”、“.png”等格式,默認(rèn)保存為“tif”格式,可以手動(dòng)選擇所要保存的圖片格式,去除格式前的“*”號(hào)并輸入文件名,點(diǎn)擊保存即可,當(dāng)保存為其他圖片格式時(shí),軟件將無法執(zhí)行相應(yīng)操作。如今,畢業(yè)在即,在論文完成之際,我要特別感謝我的指導(dǎo)老師——XXX老師,在我撰寫論文的過程中,魯老師傾注了大量的心血和汗水,無論是論文的選題、構(gòu)思還是參考資料的推薦、材料收集方面,還是在論文的研究方法以及成文定稿方面,我都得到了魯老師悉心細(xì)致的教誨和無私的幫助,特別是他廣博的學(xué)識(shí),深厚的學(xué)術(shù)素養(yǎng)、嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和一絲不茍的工作作風(fēng)是我終生受益,在此表示真誠的感謝。另外還要感謝我得同學(xué)們,在論文寫作過程中,得到了許多的寶貴建議,在此一并致以誠摯的感謝。在本系統(tǒng)的測試中也發(fā)現(xiàn)了若干的問題,在請教同學(xué)以及查詢資料的基礎(chǔ)上經(jīng)過反復(fù)嘗試和修改,雖然現(xiàn)在程序仍舊存在一些問題和不足之處,但通過不斷的調(diào)試、修改,最終基本實(shí)現(xiàn)各功能模塊的連接,程序能夠正常運(yùn)行。第六章 系統(tǒng)測試各功能模塊完成后,對軟件的各個(gè)功能模塊進(jìn)行測試和調(diào)節(jié),本章主要介紹各系統(tǒng)模塊的測試情況。)。str=get(hObject,39。str=get(hObject,39。canny39。Log39。 imshow(BW)。roberts39。)。]。save pictrue39。*.tif39。im=imread(str)。*.tif39。保存完畢后,程序所有的代碼都在這個(gè)M文件里面的。 GUI的實(shí)現(xiàn)上面介紹了打開和保存函數(shù),對這兩個(gè)函數(shù)有一定的了解之后,就可以進(jìn)行圖像邊緣檢測在GUI中的實(shí)現(xiàn)。用戶通過一定的方法(如鼠標(biāo)或鍵盤)選擇、激活這些圖形對象,使計(jì)算機(jī)產(chǎn)生某種動(dòng)作或變化,比如實(shí)現(xiàn)計(jì)算、繪圖等,最終的界面還需具備打開、保存和處理圖像的功能。 %設(shè)置圖像標(biāo)題運(yùn)行結(jié)果如圖49所示:圖 49 Prewitt算子邊緣檢測原圖與加噪圖將上述程序中的PP=edge(f,’prewitt’)改為PP=edge(f,’sobel’),并將標(biāo)題做相應(yīng)的調(diào)整即可實(shí)現(xiàn)Sobel算子。 %將彩色圖像轉(zhuǎn)換為灰度圖像p = im2double(p)。 %轉(zhuǎn)換為雙精度,便于后面的計(jì)算PP = edge(f, 39。D:\SYSTEM\桌面\新建文件夾\39。)。salt amp。 算子的穩(wěn)定性由于在工程應(yīng)用中,所獲取的圖片總是會(huì)受到環(huán)境因素的影響。)。CF = edge(f,39。Roberts Filter39。)。)。)。CF =