畢業(yè)設(shè)計(論文)基于matlab的數(shù)字圖像與邊緣檢測_第1頁
畢業(yè)設(shè)計(論文)基于matlab的數(shù)字圖像與邊緣檢測_第2頁
畢業(yè)設(shè)計(論文)基于matlab的數(shù)字圖像與邊緣檢測_第3頁
畢業(yè)設(shè)計(論文)基于matlab的數(shù)字圖像與邊緣檢測_第4頁
畢業(yè)設(shè)計(論文)基于matlab的數(shù)字圖像與邊緣檢測_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

PAGEPAGE34PAGE1基于MATLAB的數(shù)字圖像分析與邊緣檢測摘要:圖像處理是用計算機對圖像進行一系列的操作,一般操作是先將圖像數(shù)字化,即易于獲得某種預(yù)期結(jié)果的技術(shù),其中邊緣檢測是圖像處理中必不可少的一步,采用微分算子檢測邊緣是最常用的,也是處理效果比較好的一種。MATLAB圖像處理工具箱提供了邊緣檢測(edge)函數(shù),它能利用多種算子進行圖像的邊緣檢測,語言結(jié)構(gòu)簡單,本文主要介紹了數(shù)字圖像處理主要研究領(lǐng)域中邊緣檢測的方法,并利用MATLAB圖像處理工具箱提供的函數(shù)處理圖片,對圖像進行邊緣檢測,給出了各種算子檢測邊緣的結(jié)果并進行相互比較。關(guān)鍵字:圖像處理,MatLab,邊緣檢測ABSTRACTImageprocessingistoanalyzeimagesbycomputerstoachievedesiredaseriesofresults.Edgedetectionisanabsolutelynecessarystepinimageprocessingandtheuseofdifferentialoperatorstodetectedgeisoneofthemostcommonandeffectivemethods.ImageprocessingMatlabToolboxUser’sGuide,Hasprovidedtheedgefunction,Itcanusemanykindsofoperatorstocarryontheimagetheedgeexamination.Edgedetectionisoneofthemainmethodsintheresearchfieldofdigitalimageprocessing.TheimageprocessingfunctionprovidedbytheMatLabimageprocessingtoolboxisemployedtoperformedgedetectionforimagesothattheprogramandprocessingresultareobtained.Keywords:Imageprocessing,MatLab,Edgedetection目錄基于MATLAB的數(shù)字圖像分析與邊緣檢測 11.1課題概述 11.2課題背景知識 21.2.1MATLAB簡介 21.2.2數(shù)字圖像簡介 21.3目的意義 31.4小結(jié) 32.數(shù)字圖像處理 42.1基本概念 42.2圖像增強 52.2.1直接灰度調(diào)整 52.2.2直方圖處理 62.2.3圖像濾波 72.3MATLAB圖像處理 82.3.1MATLAB中的圖像文件格式 92.3.2圖像類型 92.3.3圖像的幾何操作 92.3.4圖像類型的轉(zhuǎn)換 122.4MATLAB的二值圖像操作 132.4.1態(tài)學(xué)簡介 132.4.2二值數(shù)學(xué)形態(tài)學(xué)的運算函數(shù) 142.5圖像變換 152.5.1快速傅立葉變換 152.5.2離散余弦變換 162.6小結(jié) 173.圖像分析——邊緣檢測 183.1邊緣檢測簡介 183.2邊緣檢測方法 183.3常見的一階邊緣檢測算子 193.3.1Roberts算子 203.3.2Sobel算子 203.3.3Prewitt算子 223.3.4Kirsch算子 22常用的二階邊緣檢測算子 233.4.1Laplacian算子 233.4.2LOG(Laplacian-Gauss)算子 243.5小結(jié) 264.總結(jié) 27參考文獻 28附錄 291.緒論1.1課題概述圖像是人類獲取和交換信息的主要來源,因此,圖像處理的應(yīng)用鄰域涉及到人類生活的方方面面。圖像的研究方法和手段根據(jù)對圖像作用域的不同,可以分為空余處理方法和變換域處理方法。空余處理方法有兩大類:鄰域處理法和點處理法。變換域處理法有:傅立葉變換、離散余弦變換。圖像處理的目的是改善圖像的質(zhì)量,以人為對象以改善人的視覺效果為目的。圖像處理是用計算機對圖像進行一系列的操作,一般操作是先將圖像數(shù)字化,即易于獲得某種預(yù)期結(jié)果的技術(shù)。常用的圖像處理方法有圖像增強、復(fù)原、編碼、壓縮、分割等。其中邊緣檢測是圖像處理中必不可少的一步,采用微分算子檢測邊緣是最常用的,也是處理效果比較好的一種。MATLAB圖像處理工具箱提供了邊緣檢測(edge)函數(shù),它能利用多種算子進行圖像的邊緣檢測,語言結(jié)構(gòu)簡單。本文主要介紹了數(shù)字圖像處理主要研究領(lǐng)域中邊緣檢測的方法,并利用MATLAB圖像處理工具箱提供的函數(shù)處理圖片,對圖像進行邊緣檢測,給出了各種算子檢測邊緣的結(jié)果并進行相互比較。在現(xiàn)階段,圖像的處理方法很多,其中,邊緣檢測是很重要的一種處理方法,它在圖像處理領(lǐng)域中占有重要地位,圖像的邊緣是集中了圖像大部分的信息,圖像邊緣的確定與提取對于整個圖像場景的識別與理解非常重要。在現(xiàn)實生活中,圖像處理的問題一直是個焦點問題,在軟件MATLAB處理圖像的領(lǐng)域中,圖像的各種處理易于實現(xiàn),易于得到預(yù)期的結(jié)果。本課題闡述了數(shù)字圖像在一些應(yīng)用領(lǐng)域中的處理及處理前后的對比,包括各種算子的邊緣檢測,從而實現(xiàn)對圖像的分析及處理。1.2課題背景知識1.2.1MATLAB是MathWorks公司用C語言開發(fā)的軟件,其中的矩陣算法來自Linpack和Eispack的課題研究成果。MATLAB是一種將數(shù)據(jù)結(jié)構(gòu)、變成特征和圖形用戶界面完美的結(jié)合到一起的軟件。其核心是數(shù)組和矩陣。MATLAB的特點有:高級科學(xué)計算語言,用于線性代數(shù)統(tǒng)計、的集成管理環(huán)境,算法設(shè)計開發(fā)的交互式工具,創(chuàng)建自定義工程師圖形界面的工具,2-D和3-D的數(shù)據(jù)可視化,與第三方算法開發(fā)工具—C/C++、FORTRAN、Java、COM、MicrosoftExcel—集成開發(fā)基于MATLAB的算法。MATLAB的基本功能:語言編程功能、編譯功能、自動代碼生成功能、圖像用戶界面開發(fā)功能、數(shù)學(xué)計算功能、圖形化顯示功能、Simulink建模仿真功能。1.2.2數(shù)字圖像簡介圖像是對客觀對象的一種相似性的、生動的描述或表示。按圖像空間坐標(biāo)和明暗程度的連續(xù)性可分為數(shù)字圖像和模擬圖像。數(shù)字圖像計算機可以直接處理,其空間坐標(biāo)和灰度都不連續(xù),是用離散的數(shù)字來表示圖像。而模擬圖像的坐標(biāo)和灰度都是連續(xù)的,故模擬圖像無法用計算機直接進行處理。圖像處理的目的是改善圖像的質(zhì)量,它以人為對象,以改善人的視覺效果。圖像處理中,輸入的是質(zhì)量低的圖像,輸出的是改善質(zhì)量后的圖像,常用的圖像處理方法有圖像變換、增強、重建、復(fù)原、編碼、壓縮等。1.3目的意義圖像是對客觀對象的一種相似性的、生動的描述或表示。對圖像進行一系列的操作以便達到預(yù)期的圖像結(jié)果。現(xiàn)階段數(shù)字圖像處理技術(shù)的迅速發(fā)展為人類帶來了巨大的經(jīng)濟社會效益,大到應(yīng)用衛(wèi)星遙感進行的全球環(huán)境氣候監(jiān)測,小到指紋識別技術(shù)在安全領(lǐng)域的應(yīng)用??梢哉f,數(shù)字圖像處理技術(shù)已經(jīng)融入到科學(xué)研究的各個領(lǐng)域。邊緣檢測是數(shù)字圖像處理中最重要的一種技術(shù),圖像物體中邊緣表現(xiàn)為灰度變化,邊緣廣泛存在于物體與背景之間、物體與物體之間。1.4小結(jié)本章重點介紹了課題簡介、MATLAB軟件的特點與功能、數(shù)字圖像簡介和課題的目的意義。2.數(shù)字圖像處理2.1基本概念二值圖像:也叫黑白圖像,就是圖像像素只存在0,1兩個值。一個二值圖像是純黑白的。每一個像素值將取0或1中的一個值,通常用0表示黑,用1表示白?;叶葓D像:灰度圖像是包含灰度級的圖像。與二值圖像不同,灰度圖像的像素并不是只有0、1兩個量化級數(shù),而是具有多個量化級數(shù),如64級、256級等。當(dāng)像素灰度級用8bit表示時,圖像的灰度級就是,每個像素的取值就是256中灰度中的一種,即每個像素的灰度值為0~255中的一個。通常,用0表示黑,用255表示白,從到亮度逐漸增加。灰度圖像只有亮度信息而沒有色彩信息。通常所說的黑白圖像,其實包含了黑白之間的所有灰度色調(diào)。彩色圖像:圖像中R代表紅色,G代表綠色,B代表藍色。RGB色彩模式是用RGB模型為圖像中的每一個像素的RGB分量分配一個0~255范圍內(nèi)的強度值。白色的都為255;黑色的都為0;這類圖像不適用單獨的調(diào)色板,每一個像素的顏色有存儲在相應(yīng)位置上的紅,綠,藍顏色共同決定。圖像數(shù)字化:把連續(xù)的圖像用一組數(shù)字來表示,便于計算機分析處理。圖像增強:對圖像的某些特征進行強調(diào)或尖銳化而不增加圖像的相關(guān)數(shù)據(jù)。圖像壓縮:在滿足一定的圖像質(zhì)量要求下對圖像進行編碼,可以壓縮表示圖像的數(shù)據(jù)。圖像分析:詳細研究并描述一幅圖像不同部分的特征和相互關(guān)系。圖像恢復(fù):把模糊或褪色的圖像盡可能的復(fù)原。2.2圖像增強圖像增強是指按特定的需要突出一幅圖像中的某些信息,同時消弱或去除某些不需要的信息的處理方法。其主要有兩個目的:一是增強有用信息,抑制無用信息,從而改善圖像的視覺效果;二是有利于人工和機器分析。2直接灰度調(diào)整(1)增強對比度增強對比度實際是增強原圖的各部分的反差。實際中經(jīng)常是通過增強原圖中某兩個灰度值之間的動態(tài)范圍來實現(xiàn)的。MATLAB圖像處理工具箱中用函數(shù)進行灰度線性增強。其語法格式為:I1=imadjust(I,[lowhigh],[bottomtop],gamma)對圖像使用灰度線性增強,使原圖因顏色灰暗不能體現(xiàn)細節(jié)的地方能夠清晰的體現(xiàn)出來。圖1亮度調(diào)節(jié)前后圖像的顯示效果比較(2)圖像求反對圖像求反是將圖像的灰度值反轉(zhuǎn),就是使原圖像的黑變白,使白變黑。具體的變換就是圖像中每個像素的灰度值根據(jù)變換曲線進行映射。(3)灰度切分灰度切分的目的與增強對比度比較相似,即將某個灰度值范圍變得比較突出;所不同的是,灰度切分將所要突出的是灰度范圍變換成較高的灰度值,而將其余的灰度值變換成較低的灰度值。2直方圖處理為改變圖像整體偏暗,或整體偏亮,或者灰度層次不豐富的情況,可將圖像的直方圖通過一定的函數(shù)處理為均衡的直方圖,使直方圖不再偏于低端,或者不再偏于高端,而是變成比較均勻的分布,而這種技術(shù)就叫做直方圖均衡化。直方圖是對圖像中每一灰度值出現(xiàn)頻率的統(tǒng)計,可也描述為:(3-1)上式中,是圖像f(x,y)的第k級灰度值,是中具有灰度值的像素的個數(shù),n是圖像中像素的總數(shù)。給出了對出現(xiàn)頻率的一個估計,所以一幅圖像的直方圖基本上可以描述圖像的概貌。直方圖反應(yīng)的是一幅圖像的灰度值的概率統(tǒng)計特征,常用的方法有直方圖均衡化技術(shù)和直方圖規(guī)定化技術(shù)。直方圖均衡化其基本思想是把原圖的直方圖變換成均勻分布的形式,這樣增強了像素灰度值的動態(tài)范圍,從而達到了增強圖像整體對比度的效果。MATLAB圖像處理工具箱提供了用于直方圖均衡化的函數(shù)histeq,其語法格式為:I2=histeq(I,n)[I2,T]=histeq(I,…..)式中,表示輸出圖像的灰度級數(shù)目,是一個可選參數(shù),默認值為64;[J,T]=histeq(I,….)表示返回將圖像I的灰度直方圖變換成圖像J的直方圖變換T。圖2灰度調(diào)整后的圖像與直方圖(2)直方圖規(guī)定化直方圖均衡化的優(yōu)點是能自動增強整個圖像的對比度,但其具體的增強效果不容易控制,處理的結(jié)果總是得到全局均衡化的直方圖。而在實際生活中,為了得到某種特定的形狀,有時需要將直方圖進行某種變換,從而有選擇地增強某個灰度值范圍的對比度。2.2.3圖像濾波圖像的空間文理信息可以形象的反映出圖像的大小、位置、和形狀等特征,利用線性濾波技術(shù)可以對圖像的某些紋理信息進行一定程度的增強,而去除其他的特征。線性濾波是一種鄰域操作,其結(jié)果由濾波器系數(shù)與濾波窗口掃描區(qū)域的相應(yīng)像素值的乘積之和給出。濾波主要有兩種:(1)線性濾波,它屬于空余濾波平滑技術(shù),主要采用鄰域平均法,用于去除圖像通過掃描得到的噪聲顆粒。鄰域平均法的主要思想是用幾個像素灰度的平均值來代替某個像素。(2)中值濾波是一種常用的非線性平滑濾波器,其濾波原理是,中值濾波器的輸出像素值是有鄰域像素的中間值決定的,其濾波后產(chǎn)生的圖像模糊較少,適合于消除圖像的孤立噪聲點。MATLAB圖像處理工具箱提供了用于實現(xiàn)中值濾波的函數(shù)medifilt2,其語法格式為:J=medifilt2(I1,[m,n])其中,為指定濾波器窗口的大小,默認值為3*3,返回圖像I1經(jīng)濾波后的圖像J。圖3加入椒鹽噪聲后圖像的均值濾波和中值濾波圖4加入高斯噪聲后圖像的均值濾波和中值濾波2.3MATLAB圖像處理數(shù)字圖像處理技術(shù)發(fā)展迅速,在實際上生活中起到了很大的作用,而MATLAB對數(shù)字圖像的處理很是方便,用相應(yīng)的函數(shù)便可實現(xiàn)。2MATLAB中的圖像文件格式(1)PCX格式:可處理1、4、8、16、24位等圖像數(shù)據(jù)。(2)BMP格式:有1、4、8、24為非壓縮圖像,8位RLE圖像。(3)DHF格式:有8、24位光柵圖像數(shù)據(jù)集。(4)JPEG格式。是一種稱為聯(lián)合圖像專家組的圖像壓縮格式。(5)TIFF格式。處理1、4、8、24為非壓縮圖像,1、4、8、24為packbit壓縮圖像,1位CCITT壓縮圖像。(6)XWD格式。包括1、8位Zpixmaps,XYBitmaps,1位XYPixmaps。(7)PNG格式。2圖像類型(1)索引圖像(2)灰度圖像(3)RGB圖像(4)二進制圖像2.3.3圖像的幾何操作在對數(shù)字圖像進行操作時,在某些時候只需要對圖像的某一部分進行相應(yīng)的操作。而圖像的幾何操作主要包括3種。(1)圖像的旋轉(zhuǎn)imrorate函數(shù)可以通過一種特定的插補方法來改變顯示圖像,其語法格式為:B=imrorate(A,angle,method)其中,A是圖像的數(shù)據(jù)矩陣,angle是圖像的旋轉(zhuǎn)角度,method可以是nearest、bicubic或bilinear。Nearest(近鄰插補運算):輸入像素的賦值為當(dāng)前點的像素點。Bicubic(雙立方插補運算):輸入像素的賦值為4*4矩陣所包含有效點的加權(quán)平均值。Bilinear(雙線性插補運算):輸入像素的賦值為2*2矩陣所包含有效點的加權(quán)平均值。圖5旋轉(zhuǎn)圖圖像的剪切imcrop函數(shù)可以實現(xiàn)對圖像的剪切操作。該操作剪切的是圖像中的一個矩陣子圖,用戶可以通過參數(shù)指定這個矩形四個頂點的坐標(biāo),也可以交互的用鼠標(biāo)選取這個操作。其語法格式為:X1=imcrop(X,map):對索引圖像進行交互式的剪切。I1=imcrop(I):對灰度圖像進行交互式的剪切。X2=imcrop(X,map,[xminyminwidthheight]):對索引圖像進行非交互式剪切。圖6交互與非交互圖像對比圖調(diào)整圖像的大小函數(shù)可以通過一種特定的插補方法來調(diào)整圖像的大小,其語法格式為:B=imresize(A,m,methed):用methed指定的插補方法返回大小等于A的m倍的圖像B。B=imresize(A,[mrowsncols],methed)用指定的插補方法返回大小為mrows*ncols的圖像。參數(shù)method有三種:nearest、bilinear和bicubic。圖7縮小圖2.3.4圖像類型的轉(zhuǎn)換有時對圖像進行圖像類型轉(zhuǎn)換以方便某些處理,提供了三種基本類型的圖像轉(zhuǎn)換。RGB圖像轉(zhuǎn)換為灰度圖像的函數(shù)rgb2gray(),其語法格式為:I=rgb2gray(RGB)前者表示將輸入的RGB圖像轉(zhuǎn)換為灰度圖I.圖8RGB圖像轉(zhuǎn)換為灰度圖后的圖RGB圖像轉(zhuǎn)換為索引圖像的函數(shù)rgb2ind(),其語法格式為:[X,map]=rgb2ind(RGB):直接將圖像轉(zhuǎn)換為具有顏色圖map的矩陣X(3)轉(zhuǎn)換為二值圖像的函數(shù)im2bw()這一函數(shù)通過閾值化方法將索引、灰度和圖像轉(zhuǎn)化為二值圖像。其語法格式主要:BW=im2bw(I,level):灰灰度圖像I轉(zhuǎn)換為二值圖像BW=im2bw(RGB,level):將RGB圖像轉(zhuǎn)換為二值圖像圖9將灰度圖像和RGB圖像轉(zhuǎn)換為二值圖像后的圖(3)索引圖像轉(zhuǎn)換為灰度圖像的函數(shù)ind2grap,其語法格式為:I=ind2grap(X,map)將具有顏色圖map的索引圖像X轉(zhuǎn)換為轉(zhuǎn)換為灰度圖像I,X可以是雙精度型或unit8型,I是雙精度型.2.4MATLAB的二值圖像操作二值圖像的處理過程相對簡單,而數(shù)學(xué)形態(tài)學(xué)的處理主要是二值圖像。2.4.1態(tài)學(xué)簡介數(shù)學(xué)形態(tài)學(xué)圖像處理的基本思想是利用結(jié)構(gòu)元素來收集圖像的信息。當(dāng)該結(jié)構(gòu)元素在圖像中不斷移動時,便可以考察圖像各個部分之間的相互關(guān)系,從而了解圖像各個部分的結(jié)果特征。數(shù)學(xué)形態(tài)學(xué)的基本運算有腐蝕、膨脹、開啟和閉合。設(shè)為二維歐幾里德空間,A為圖像矩陣,B為結(jié)構(gòu)元素矩陣,是歐式空間中的一點。數(shù)學(xué)形態(tài)學(xué)運算是用B對A進行操作。而實際上,結(jié)構(gòu)元素本身也是一種圖像矩陣。幾種圖像操作的定義:平移:定義為圖像A被b平移后的結(jié)果,表示為,其中,中所有的元素是A中對應(yīng)元素平移到以b點為原點的坐標(biāo)系內(nèi)的結(jié)果。反射:定義為圖像A經(jīng)圖像原點反射的結(jié)果,表示為平移和反射著兩個操作,可以定義數(shù)學(xué)形態(tài)學(xué)中的兩個基本操作,即膨脹(Dilation)和腐蝕(Erosion),其數(shù)學(xué)表達式如下:膨脹運算的數(shù)字表達式:(3-2)腐蝕運算的數(shù)字表達式:(3-3)開運算:A對B的開,即A被B進行開運算的結(jié)果定義為:(3-4)即A先被B腐蝕,再被B膨脹的結(jié)果。閉運算:對的閉運算定義為:(3-5)即A先被B膨脹,后再被B腐蝕的結(jié),通常,開運算用來刪除圖像中的小分支,可以使圖像縮小;閉運算用來填補圖像中的空穴,可以使圖像放大;而腐蝕和膨脹運算具有平移不變形,對圖像A的腐蝕和膨脹的運算結(jié)果只取決于A與B的結(jié)構(gòu),而與A的位置無關(guān)。2.4.2二值數(shù)學(xué)形態(tài)學(xué)的運算函數(shù)dilate函數(shù)實現(xiàn)二值圖像的膨脹運算,其語法格式為:BW=dilate(BW1,SE,….,N)返回圖像BW1經(jīng)過結(jié)構(gòu)元素SE膨脹N次后的圖像,這里SE為結(jié)構(gòu)元素。圖10二值圖像與腐蝕圖像Imerode函數(shù)實現(xiàn)二值圖像的腐蝕運算,其語法格式為:IM1=Imerode(IM,SE)返回灰度、二值圖像和壓縮二值圖像IM進行腐蝕的圖像。圖11灰度圖像與腐蝕圖像2.5圖像變換圖像變換在圖像處理和圖像分析中占有重要地位。圖像變換就是將圖像轉(zhuǎn)換到變換域,如頻率域,進行圖像處理和圖像分析。這給圖像數(shù)據(jù)壓縮、特征提取、圖像去噪等帶來了很大的方便,從而使后面的處理運算變得簡單。在數(shù)字圖像處理中,輸入圖像和輸出圖像通常都是二維的,一般表示成二維數(shù)字矩陣,可以直接叫二維傅里葉變換、二維DFT、二維FFT。2.5.1快速傅立葉變換離散傅立葉變換所需要的乘法和加法的操作次數(shù)N是2的冪的時候,其計算效率高,使用起來簡單方便。其算法思想是:先對原圖進行轉(zhuǎn)置,按行對轉(zhuǎn)置后的圖像矩陣作一維FFT,將此變換所得的中間矩陣在轉(zhuǎn)置,在按行對轉(zhuǎn)置后的中間矩陣作一維FFT,最后得到的就是二維FFT。MATLAB圖像處理工具箱提供了以下處理圖像的快速傅立葉變換的函數(shù);Fft2用來計算二維快速傅立葉變換,其語法格式為:F=fft2(f)F=fft2(f,m,n)其中,F(xiàn)=fft2(f)返回圖像f的二維變換矩陣,F(xiàn)與f的大小一致。F=fft2(f,m,n)截取或補充0元素,使圖像的大小為m*n,然后對其進行二維fft,的大小沒有改變。計算fft2所需要的時間與[m,n]=size(f)有關(guān),如果m和n為2的冪,則計算速度最快。圖12快速傅立葉變換后的圖2.5.2離散余弦變換離散余弦變換(DCT)是圖像壓縮處理中應(yīng)用較多的一種變換。它利用傅里葉變換的對稱性,采用圖像邊界折疊操作將圖像變換成為偶函數(shù)形式,然后對圖像進行二維傅里葉變換,變換后的結(jié)果將僅包含余弦項。MATLAB圖像處理工具箱提供了兩種用于圖像處理的DCT變換函數(shù);dct2使用一個基于的算法來提高輸入輸出速度,特別適合于比較大的輸入矩陣,其語法格式為:B=dct2(A)B=dct2(A,[m,n])B=dct2(A,m,n)其中,B=dct2(A)用于計算圖像的二維DCT,變換前后圖像的大小一樣;B=dct2(A,[m,n])通過補0或截取元素,使得A成為m*n大小的矩陣,變換結(jié)果B與A的大小也是一樣的。idct2是dct2的反變換,其語法格式與dct2相同。2.6小結(jié)本章主要介紹了數(shù)字圖像處理的主要內(nèi)容,主要有基本概念、圖像增強、MATLAB圖像處理、MATLAB的二值圖像操作、圖像變換。3.圖像分析——邊緣檢測在某些情況下,為了辨別和分析圖像,需要對圖像進行分離提取的操作,在此基礎(chǔ)上可進一步進行圖像的識別與分析。3.1邊緣檢測簡介邊緣檢測是圖像處理和計算機視覺中的基本問題,邊緣是指其周圍像素灰度變化不連續(xù)的那些像素的集合,邊緣廣泛從在于物體與背景之間、物體與物體之間,因此它是圖像分割所依賴的重要特征。邊緣檢測的目的是標(biāo)識數(shù)字圖像中亮度變化明顯的點。圖像邊緣有方向和幅值兩個特征,通常沿邊緣的走向灰度變換平緩,垂直于邊緣走向的像素灰度變換劇烈。根據(jù)灰度變換的特點,常見的邊緣分為:凸緣型、階躍型、房頂型。凸緣型:其邊緣的灰度值上升與下降都比較緩慢。階躍型:其邊緣處于圖像中兩個具有不同灰度值的相鄰區(qū)域之間。房頂型:其主要對應(yīng)細線條的灰度值變換區(qū)域。3.2邊緣檢測方法由于圖像的邊緣是以灰度變化出現(xiàn)的,因此,可以通過計算圖像灰度的不連續(xù)性來增強圖像和進行圖像檢測邊緣。邊緣檢測的方法主要有以下4種。(1)空域微風(fēng)算子,即傳統(tǒng)的邊緣檢測方法。圖像的邊緣是灰度變化最劇烈的地方,其對應(yīng)的連續(xù)情況就是函數(shù)梯度較大的地方,所以研究圖像的邊緣的一種方法就是求導(dǎo)算子。對圖像中的各個像素點進行一階或二階微分來確定邊緣像素點。一階微分圖像的閾值處對應(yīng)著圖像的邊緣點;二階微分圖像的過零點對應(yīng)著圖像的邊緣點。(2)擬合曲面(3)小坡多尺度邊緣檢測隨著圖像邊緣檢測技術(shù)的提高,小破分析得到迅速房展并開始用于邊緣檢測。作為研究非平穩(wěn)信號的一種有利工具,小波分析在邊緣檢測方面起到了很大的作用。(4)基于數(shù)學(xué)形態(tài)學(xué)的邊緣檢測數(shù)學(xué)形態(tài)學(xué)是一種對二值圖像進行操作的一種非線性數(shù)學(xué)方法,其運算是物體形狀集合與結(jié)構(gòu)元素之間的相互作用,對邊緣方向不敏感,在圖像處理中得到了廣泛的應(yīng)用。同時在數(shù)字圖像處理方面還具有簡單性和嚴謹性,能很好的描述圖像的形態(tài)特征。因此,將數(shù)學(xué)形態(tài)學(xué)用于邊緣檢測,還可以濾除噪聲,能保留圖像中原有的細節(jié)信息,是邊緣檢測技術(shù)的一個重大突破。3.3常見的一階邊緣檢測算子梯度算子可以增強圖像邊緣信息,這對圖像邊緣檢測起到了重要作用。梯度對應(yīng)的是一階導(dǎo)數(shù),梯度算子是一階導(dǎo)數(shù)算子。對一個圖像f(x,y)函數(shù),它在位置(x,y)處的梯度可定為梯度算子:G[f(x,y)]=(3-6)梯度算子是圖像處理中最常用的一階微分算法,是(3-11)中f(x,y)表示圖像的灰度值,圖像梯度最重要的性質(zhì)是梯度方向,是在圖像灰度最大變化率上,它恰是可以反映出圖像邊緣上的灰度變化。其定義如下:(3-7)以上兩式中偏導(dǎo)數(shù)需要對每個像素位置計算,而實際上數(shù)字圖像中求導(dǎo)數(shù)是可以用一階差分代替一階微分。=f(i,j+1)-f(i,j)(3-8)=f(i,j)-f(i+1,j)求梯度時對于平方和運算及開方運算,可以用兩個分量的絕對值表示為:G(i,j)(3-9)上式中,j對應(yīng)于x軸方向,i對應(yīng)于y軸方向。f(x,y)表示處理前的點的灰度值,G(x,y)表示處理后的點的灰度值。求梯度幅值時對于平方和及開放運算,可以用兩個分量的絕對值之和來表示。3Roberts算子Roberts邊緣算子又稱為梯度交叉算子,其思想是利用局部差分算子尋找邊緣的算子。梯度幅值計算近似方法如表1所示(i,j)(i,j+1)(i+1,j)(i+1,j+1)表1Roberts算子梯度幅值計算示意圖(i,j)為當(dāng)前像素的位置,其計算公式如下:G(i,j)=(3-10)它是由兩個2*2模板組成。用卷積模板表示如下:G(i,j)=(3-11)式中,Gx=;Gy=;標(biāo)注.的是當(dāng)前像素的位置。3.3.2Sobel算子Sobel算子邊緣檢測的效果不好很好。Sobel算子梯度幅值計算如表2所示。(i,j)為當(dāng)前的位置點,梯度幅值計算公式如下:表2Sobel算子中各個點的像素點的關(guān)系圖(i-1,j-1)(i-1,j)(i-1,j+1)(i,j-1)(i,j)(i,j+1)(i+1,j-1)(i+1,j)(i+1,j+1)=+(3-12)將其進行簡化,表2中的坐標(biāo)對應(yīng)記為如表3所示的符號。表3梯度幅值計算示意圖因此式(3-12)則可以簡單記為:(3-13)式中c=2。用卷積模板來實現(xiàn):(3-14)式中,;。Sx是水平模板,對水平邊緣響應(yīng)最大;Sy是垂直模板,對垂直邊緣響應(yīng)最大。圖像中的每個點都用這兩個模板做卷積,兩個模板卷積的最大值作為該店的輸出值。其運算結(jié)果是一副邊緣幅度圖像。這一算子把重點放在接近于模板中心的像素點。因此Sobel算子是邊緣檢測中最常用的算子之一。Sobe梯度算子是先做加成權(quán)平均,在求微分,最后求梯度,即用式(3-12)、式(3-13)和式(3-14)來實現(xiàn)的。3.3.3Prewitt算子Prewitt算子用卷積模板來描述:(3-15)式中,前者為水平模板,后者為垂直模板。圖像中的每個點用這兩個模板進行卷積,取最大值作為輸出值,最終產(chǎn)生一副邊緣幅度圖像。3Kirsch算子Kirsch算子使用8個模板來確定梯度的幅值和方向,故又稱為方向算子,通過一組模板分別計算不同方向上的拆分值,取其中最大的值作為邊緣強度,而將與之對應(yīng)的方向作為邊緣的方向。表43*3子圖像示意圖(3-16)式中(3-17)式(3-17)中的下標(biāo)超過7就用8去除并取余數(shù)。3.4常用的二階邊緣檢測算子3Laplacian算子Laplacian算子是不依賴于邊緣方向的二階微分算子,是常用的二階導(dǎo)數(shù)算子。對一個連續(xù)函數(shù)f(x,y),它在位置(x,y)上的Laplacian表式式為:(3-18)對于數(shù)字圖像來說,計算函數(shù)的拉普拉斯值也可以借助各種模板來實現(xiàn)。拉普拉斯模板的基本要求是對應(yīng)中心像素的系數(shù)應(yīng)該是正的,而對應(yīng)于中心像素鄰近像素的系數(shù)應(yīng)該是負的,且它們的和應(yīng)該是零。其可以簡單表示為:(3-19)或者(3-20)也就是說,拉普拉斯算子常用兩種模板來進行檢測,其模板分別見圖(a)和圖(b).模板(a)模板(b).拉普拉斯算子是一個標(biāo)量而不是向量,具有線性特性和旋轉(zhuǎn)不變,即各向同性的性質(zhì),常常被用在圖像處理的過程中。由于拉帕拉斯算子是一種二階導(dǎo)數(shù)算子,可在邊緣處產(chǎn)生一個零交叉。因此,經(jīng)過拉普拉斯算子濾波過的圖像對噪聲相當(dāng)敏感,也可產(chǎn)生雙像素寬的邊緣,且不能提供邊緣方向信息,拉普拉斯算子主要用于已知邊緣像素后確定該像素是在圖像的暗區(qū)或明區(qū)一邊。3LOG(Laplacian-Gauss)算子當(dāng)使用一階導(dǎo)數(shù)的邊緣檢測算子時,如果所求的一階導(dǎo)數(shù)高于某一閾值,則確定該點為邊緣點,這樣便會導(dǎo)致檢測的邊緣的太多。一種更好的辦法就是求梯度局部最大值對應(yīng)的點,并認為他們是邊緣點。對其去除一階導(dǎo)數(shù)中的非局部最大值,可以檢測到較為精確的邊緣點。一階導(dǎo)數(shù)的局部最大值對應(yīng)著二階導(dǎo)數(shù)的零交叉點,通過找圖像增強的二階導(dǎo)數(shù)的零交叉點就可以確定比較精確的邊緣點。3Canny算子Canny算子檢測邊緣的3個準(zhǔn)則:信噪比準(zhǔn)則信噪比越大,提取的邊緣質(zhì)量越高。信噪比SNR的定義為:(3-21)式中,G(x)代表邊緣函數(shù);h(x)代表寬度為的濾波器的脈沖響應(yīng);代表高斯噪聲的均方差。定位精度準(zhǔn)則邊緣定為精度L定義為:(3-22)式中,和分別表示和的導(dǎo)數(shù),越大表明定為精度越高。(3)單邊緣相應(yīng)準(zhǔn)則(3-23)式中,為的二階導(dǎo)數(shù)。將3個準(zhǔn)則相結(jié)合可以獲得最優(yōu)的檢測算子。圖13邊緣檢測的各種算法圖例3.5小結(jié)本章主要概述了邊緣檢測,介紹了邊緣檢測的方法。主要的有一階邊緣檢測算子和二階邊緣檢測算子。4.總結(jié)本文應(yīng)用了一些函數(shù)對數(shù)字圖像進行了一些操作,相應(yīng)的也獲得了一定的處理結(jié)果。尤其對圖像進行各種算子的邊緣檢測將得到不同的圖像。在對數(shù)字圖像進行處理的過程中,并不是每一次處理都獲得預(yù)期的效果,主要是對各個函數(shù)的功能和各種算子的算法掌握掌握不夠,對一幅圖像由模糊到清晰的處理過程不熟悉,同時,加之時間較緊的情況下,沒有足夠的時間去研究如何清晰的獲得一幅圖像的具體步驟,從而導(dǎo)致最終的圖像效果不是很好。使得最終的圖像與預(yù)期的結(jié)果相差較大。希望能夠通過再學(xué)習(xí),對圖像處理的過程有一個比較完整的了解,能對邊緣檢測的各種算子有進一步的研究,使處理后的圖像越來越接近預(yù)期的圖像。參考文獻[1]龔聲蓉,劉純平,王強數(shù)字圖像處理與分析,北京:清華大學(xué)出版社,2006[2]赫文化MATLAB圖形圖像處理應(yīng)用教程,北京:中國水利水電出版社,2004[3]陳揚,陳榮娟,郭穎輝MATLAB6.x圖形編輯與圖像處理,西安:西安電子科技大學(xué),2002[4]劉慧穎MATLABR2007基礎(chǔ)教程,北京:清華大學(xué)出版社,2008[5]常巍,謝光軍,黃朝峰MATLABR2007基礎(chǔ)與提高,北京:電子工業(yè)大學(xué)出版社[6]劉井元,李玉良,張傳楷《基于MATLAB的數(shù)字圖像邊緣檢測技術(shù)》,[中國科技論文在線]附錄附錄1.文件夾pictur4的程序及運行結(jié)果程序:I=imread('5.jpg');%讀入圖像figure,imshow(I),title('原圖');I1=imresize(I,[200,255],'nearest');%圖像縮小figure,imshow(I1),title('縮小圖');I2=imrotate(I1,40,'nearest');%圖像旋轉(zhuǎn)figure,imshow(I2),title('40°旋轉(zhuǎn)圖');figure;I3=imcrop(I1);%圖像剪切I4=imcrop(I1,[10080,50,60]);subplot(1,2,1),imshow(I3),title('交互式剪切圖');%交互式剪切subplot(1,2,2),imshow(I4),title('非交互式剪切圖');%非交互式剪切H=rgb2gray(I1);%將RGB圖像轉(zhuǎn)化了灰度圖像figure,imshow(H),title('灰度圖');I5=imadjust(H,[],[0.40.8]);%灰度圖像亮度調(diào)整figure,imshow(I5),title('亮度調(diào)整圖');subplot(1,2,1),imshow(H),title('灰度圖');subplot(1,2,2),imshow(I5),title('亮度調(diào)整圖');figure;J=histeq(H);%均衡化subplot(2,2,1),imshow(H),title('灰度圖');subplot(2,2,2),imshow(J),title('亮度均衡圖');subplot(2,2,3),imhist(H),title('灰度直方圖');subplot(2,2,4),imhist(J),title('亮度均衡直方圖');figure;I6=imnoise(H,'salt&pepper',0.04);%加入椒鹽噪聲subplot(1,2,1),imshow(H),title('灰度圖');subplot(1,2,2),imshow(I6),title('加椒鹽噪聲后的圖');figure;I7=imnoise(H,'gaussian',0.04);%加入高斯噪聲subplot(1,2,1),imshow(I6),title('加椒鹽噪聲后的圖');subplot(1,2,2),imshow(I7),title('加高斯噪聲后的圖');figure;h=ones(3,3)/9;%產(chǎn)生濾波模板B=conv2(double(I6),h);%椒鹽噪聲圖的均值濾波K=medfilt2(I6);%椒鹽噪聲圖的中指濾波B1=conv2(double(I7),h);%高斯噪聲圖的均值濾波K1=medfilt2(I7);%高斯噪聲圖的中指濾波subplot(2,2,1),imshow(B,[]),title('加椒鹽噪聲均值濾波后的圖');subplot(2,2,2),imshow(K),title('加椒鹽噪聲中指濾波后的圖');subplot(2,2,3),imshow(B1,[]),title('加高斯噪聲均值濾波后的圖');subplot(2,2,4),imshow(K1),title('加高斯噪聲中指濾波后的圖');figure;BW1=edge(H,'sobel');%用"sobel"進行邊緣檢測BW2=edge(H,'roberts');%用“roberts”進行邊緣檢測BW3=edge(H,'prewitt');%用“prewitt”進行邊緣檢測BW4=edge(H,'log');%用“l(fā)og”進行邊緣檢測BW5=edge(H,'canny');%用“canny”進行邊緣檢測h=fspecial('gaussian',5);BW6=edge(H,'canny');subplot(2,3,1),imshow(BW1),title('sobleedgecheck');subplot(2,3,2),imshow(BW2),title('robertsedgecheck');subplot(2,3,3),imshow(BW3),title('prewittedgecheck');subplot(2,3,4),imshow(BW4),title('logedgecheck');subplot(2,3,5),imshow(BW5),title('cannyedgecheck');subplot(2,3,6),imshow(BW6),title('gaussian&cannyedgecheck');I=imread('5.jpg');%讀入圖像figure,imshow(I),title('原圖');I1=imresize(I,[200,255],'nearest');%圖像縮小figure,imshow(I1),title('縮小圖');I2=imrotate(I1,40,'nearest');%圖像旋轉(zhuǎn)figure,imshow(I2),title('40°旋轉(zhuǎn)圖');figure;I3=imcrop(I1);%圖像剪切I4=imcrop(I1,[10080,50,60]);subplot(1,2,1),imshow(I3),title('交互式剪切圖');%交互式剪切subplot(1,2,2),imshow(I4),title('非交互式剪切圖');%非交互式剪切H=rgb2gray(I1);%將RGB圖像轉(zhuǎn)化了灰度圖像figure,imshow(H),title('灰度圖');I5=imadjust(H,[],[0.40.8]);%灰度圖像亮度調(diào)整figure,imshow(I5),title('亮度調(diào)整圖');subplot(1,2,1),imshow(H),title('灰度圖');subplot(1,2,2),imshow(I5),title('亮度調(diào)整圖');figure;J=histeq(H);%均衡化subplot(2,2,1),imshow(H),title('灰度圖');subplot(2,2,2),imshow(J),title('亮度均衡圖');subplot(2,2,3),imhist(H),title('灰度直方圖');subplot(2,2,4),imhist(J),title('亮度均衡直方圖');figure;I6=imnoise(H,'salt&pepper',0.04);%加入椒鹽噪聲subplot(1,2,1),imshow(H),title('灰度圖');subplot(1,2,2),imshow(I6),title('加椒鹽噪聲后的圖');figure;I7=imnoise(H,'gaussian',0.04);%加入高斯噪聲subplot(1,2,1),imshow(I6),title('加椒鹽噪聲后的圖');subplot(1,2,2),imshow(I7),title('加高斯噪聲后的圖');figure;h=ones(3,3)/9;%產(chǎn)生濾波模板B=conv2(double(I6),h);%椒鹽噪聲圖的均值濾波K=medfilt2(I6);%椒鹽噪聲圖

溫馨提示

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

評論

0/150

提交評論