第十章-圖像分割課件_第1頁
第十章-圖像分割課件_第2頁
第十章-圖像分割課件_第3頁
第十章-圖像分割課件_第4頁
第十章-圖像分割課件_第5頁
已閱讀5頁,還剩101頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第十章圖像分割第十章圖像分割1異常圖像的分割是圖像處理中最困難的任務之一。精確的分割決定著計算分析過程的成敗。因此,應該對提高穩(wěn)定分割的可能性予以特別關注。異常圖像的分割是圖像處理中最困難的任務之一。精確的分割決定著2圖像分割算法主要基于圖像亮度值的兩個基本特性:1不連續(xù)性(圖像的邊緣)2相似性(預先定義準則將圖像分割為相似區(qū)域:門限處理、區(qū)域生長、區(qū)域分離和聚合)圖像分割算法主要基于圖像亮度值的兩個基本特性:310.1間斷檢測10.2邊緣連接和邊界檢測10.3閾值處理10.4基于區(qū)域的分割10.5使用分水嶺變換的分割10.1間斷檢測410.1間斷檢測數(shù)字圖像中有三種基本類型的灰度級間斷:點,線和邊緣。10.1.1點檢測模板進行檢測-1-1-1|R|>T-18-1-1-1-110.1間斷檢測數(shù)字圖像中有三種基本類型的灰度級間斷:點,線5點檢測

f=imread('pointdetect.tif');imshow(f);w=[-1-1-1;-18-1;-1-1-1];g=abs(imfilter(double(f),w));T=max(g(:));g=g>=T;figure,imshow(g);點檢測

f=imread('pointdetect.tif'610.1.2線檢測模板-1-1-1-1-12-12-12-1-1222-12-1-12-1-12-1-1-1-12-1-1-12-1-1-12水平+45度垂直-45度10.1.2線檢測模板7f=imread('linedetect.tif');imshow(f);w=[2-1-1;-12-1;-1-12];g=imfilter(double(f),w);figure,imshow(g,[])gtop=g(1:120,1:120);gtop=pixeldup(gtop,4);figure,imshow(gtop,[]);f=imread('linedetect.tif');8gbot=g(end-119:end,end-119:end);gbot=pixeldup(gbot,4);figure,imshow(gbot,[]);g=abs(g);figure,imshow(g,[]);T=max(g(:));g=g>=T;figure,imshow(g);gbot=g(end-119:end,end-119:end910.1.3邊緣檢測邊緣檢測對于灰度級間斷的檢測是最為普遍的檢測方法。利用微分方法求邊緣注意:導數(shù)受噪聲的影響非常之大。Sobel,Prewitt,RobertsLaplacian,LOG10.1.3邊緣檢測邊緣檢測對于灰度級間斷的檢測是最為普遍的10使用edge函數(shù)的邊緣檢測邊緣檢測的基本意圖是使用如下兩個基本準則之一在圖像中找到亮度快速變化的地方1找到亮度的一階導數(shù)在幅度上比指定的閾值大的地方。2找到亮度的二階導數(shù)有零交叉的地方。使用edge函數(shù)的邊緣檢測邊緣檢測的基本意圖是使用如下兩個基11[g,t]=edge(f,’method’,parameters)Method:Sobel/Prewitt/Roberts/LaplacianofaGaussian(LOG)/Zerocrossing/CannyParameter:Thresh,direction:’horizontal’/’vertical’/’both’Sigma:標準差g:2值結果。t:閾值[g,t]=edge(f,’method’,paramete12例:使用Sobel模板提取邊緣f=imread('edgedetect.tif');imshow(f);[gv,t]=edge(f,'sobel','vertical');figure,imshow(gv);t例:使用Sobel模板提取邊緣f=imread('edged13指定一個較高的閾值將弱邊緣去掉gv=edge(f,'sobel',0.15,'vertical');figure,imshow(gv);產生水平和垂直邊緣gboth=edge(f,'sobel',0.15,'both');figure,imshow(gboth);指定一個較高的閾值將弱邊緣去掉14函數(shù)edge不能計算+-45度邊緣,如要計算這些邊緣,需要制定模板,并使用函數(shù)imfilterw45=[-2-10;-10-1;012];%w45=[012;-10-1;-2-10];g45=imfilter(double(f),w45,'replicate');T=0.03*max(abs(g45(:)));g45=g45>=T;figure,imshow(g45);函數(shù)edge不能計算+-45度邊緣,如要計算這些邊緣,需要制15Sobel,LoG,Canny邊緣檢測器比較f=imread('edgedetect.tif');imshow(f);[g_sobel_default,ts]=edge(f,'sobel');figure,imshow(g_sobel_default);[g_log_default,tlog]=edge(f,'log');figure,imshow(g_log_default);[g_canny_default,tc]=edge(f,'canny');figure,imshow(g_canny_default);Sobel,LoG,Canny邊緣檢測器比較f=imread16g_sobel_best=edge(f,'sobel',0.05);figure,imshow(g_sobel_best);g_log_best=edge(f,'log',0.003,2.25);figure,imshow(g_log_best);g_canny_best=edge(f,'canny',[0.04,0.10],1.5);figure,imshow(g_canny_best);g_sobel_best=edge(f,'sobel',0.1710.2邊緣連接和邊界檢測在得到的邊緣上的像素點,由于噪聲,不均勻光照的影響而產生的邊緣間斷,使得一組像素很少能完整地描繪一條邊緣。使用邊緣檢測算法后,緊跟著使用連接過程將邊緣像素組合成有意義的邊緣。10.2邊緣連接和邊界檢測在得到的邊緣上的像素點,由于噪聲,1810.2.1局部處理連接邊緣點的最簡單的方法之一:分析圖像中每個點(x,y)的一個小鄰域(3*3,5*5)內像素的特點。該點是一個得到的邊緣點。依據(jù)事先預定的準則,將所有被認為是相似的點連接起來,形成滿足這些準則的像素組成的一條邊緣。10.2.1局部處理連接邊緣點的最簡單的方法之一:19邊緣像素相似性的兩個主要性質:1生成的邊緣像素的梯度算子的響應強度2梯度向量的方向。如果同時滿足這兩個條件,則將邊緣連接起來,在圖像的每個位置重復這樣的操作。邊緣像素相似性的兩個主要性質:1生成的邊緣像素的梯度算子的響2010.2.2通過Hough變換進行整體處理根據(jù)給定圖像上的一個點集,如何找到位于直線上的所有點的子集?利用直線的斜截式公式10.2.2通過Hough變換進行整體處理根據(jù)給定圖像上的一21在參數(shù)空間中,相交的直線表示在xy平面中兩點共線。為了表示垂直的情況,使用直線標準表達在參數(shù)空間中,相交的直線表示在xy平面中兩點共線。22Hough變換將參數(shù)空間細分為了累加器單元。坐標為(i,j)的單元,對應參數(shù)空間坐標相關的方形。最初這些單元置為0。然后對于平面上的每一個非背景點變換到參數(shù)空間。將對應位置的累加器加1。累加器的值意味著xy平面上有多少個點共線。Hough變換將參數(shù)空間細分為了累加器單元23例:Hough變換f=imread('houghtrans.tif');imshow(f);H=hough(f);figure,imshow(H,[]);例:Hough變換f=imread('houghtrans.24給出坐標軸顯示參數(shù)空間[H,theta,rho]=hough(f);figure,imshow(theta,rho,H,[],'notruesize');axison,axisnormal;xlabel('\theta'),ylabel('\rho');給出坐標軸顯示參數(shù)空間[H,theta,rho]=hough25使用Hough變換作線檢測和連接函數(shù)houghpeaks得到Hough變換的峰值點[r,c,hnew]=houghpeaks(h,numpeaks,threshold,nhood)h:Hough變換矩陣numpeaks:指定要尋找的最大峰threshold:閾值以下的認為不是峰nhood:抑制的鄰域大小使用Hough變換作線檢測和連接函數(shù)houghpeaks得到26函數(shù)houghpixels找到圖像中影響到峰值的每一個非零值點的位置。函數(shù)houghlines采用一些策略,將位置相關的像素組合成線段。函數(shù)houghpixels找到圖像中影響到峰值的每一個非零值2710.3閾值處理10.3.1全局閾值處理步驟:1)為T選一個初始估計值2)使用T分割圖像,產生兩組像素G1,G210.3閾值處理10.3.1全局閾值處理283)計算G1和G2范圍內的像素的平均亮度值u1,u2,4)計算新閾值T=(u1+u2)/2;5)重復步驟2-4,直到迭代中的T的差比預先指定的參數(shù)T0小為止。3)計算G1和G2范圍內的像素的平均亮度值u1,u2,29函數(shù)graythresh實現(xiàn)全局閾值,使用Otsu方法T=graythresh(f);f=imread('globalthreshold.tif');imshow(f);T=graythresh(f);g=f<=T*255;figure,imshow(g);函數(shù)graythresh實現(xiàn)全局閾值,使用Otsu方法T=g3010.3.2局部閾值處理針對背景照明不均勻時,全局閾值處理可能無效。針對照明問題作預處理進行補償,同時使用形態(tài)學變換對圖像進行處理。使用局部變化的閾值函數(shù)對圖像進行閾值處理。10.3.2局部閾值處理針對背景照明不均勻時,全局閾值處理可3110.4基于區(qū)域的分割分割的目的是把圖象分成區(qū)域。區(qū)域內部像素具有相似性10.4.1基礎公式用R表示整個圖象區(qū)域,將R分成n個子區(qū)域,滿足:10.4基于區(qū)域的分割分割的目的是把圖象分成區(qū)域。區(qū)域內部像32第十章-圖像分割課件3310.4.2區(qū)域生長預先定義生長的準則,將像素或子區(qū)域合成較大的區(qū)域。由一個或多個開始點組成的集合的選擇通常要基于問題的性質。當沒有先驗信息可用時,一種處理方法是在每個像素上計算同一組屬性,在生長過程中,這些屬性將像素分配到不同區(qū)域。10.4.2區(qū)域生長預先定義生長的準則,將像素或子區(qū)域合成較34相似性準則的選擇不但依賴于所考慮的問題,而且依賴于可用的圖象數(shù)據(jù)類型。但圖象為單色圖像時,圖像分析應該用一組基于灰度級和空間性質的描述符來執(zhí)行。若在區(qū)域生長中沒有使用連通信息,則會產生錯誤結果。相似性準則的選擇不但依賴于所考慮的問題,而且依賴于可用的圖象35區(qū)域生長的另一個問題是停止規(guī)則的表達。一般來說,當不再有像素滿足該區(qū)域所包含的準則時,生長區(qū)域就會停止。函數(shù)regiongrow實現(xiàn)區(qū)域生長。[g,NR,SI,TI]=regiongrow(f,S,T)S,T:是一個數(shù)組(與f大小相同)或一個標量。g:分割后的圖象NR:不同區(qū)域的數(shù)目,SI:一幅包含有種子點的圖像,TI:一幅包含在進行連通性處理之前通過閾值測試的像素的圖象。區(qū)域生長的另一個問題是停止規(guī)則的表達。一般來說,當不再有像素36例:區(qū)域生長對焊接孔隙檢測的應用f=imread('regiongrowimage.tif');imshow(f);imhist(f);[g,NR,SI,TI]=regiongrow(f,255,65);figure,imshow(g);figure,imshow(SI);figure,imshow(TI);例:區(qū)域生長對焊接孔隙檢測的應用f=imread('regi3710.5使用分水嶺變換的分割在地理學中,分水嶺是指一個山脊,在該山脊兩邊的區(qū)域中有著不同流向的水系。分水嶺變換將在圖象中找到匯水盆地和脊線。在求解時,關鍵概念是將初始圖象變換成另一幅圖象,在變換后,匯水盆地就是我們想要識別的對象或區(qū)域。10.5使用分水嶺變換的分割在地理學中,分水嶺是指一個山脊,3810.5.1使用距離變換的分水嶺分割二值圖像的距離變換是一個相對簡單的概念:它是每一個像素到最近非零值像素的距離。D=bwdist(f)值為1的像素的距離變換為010.5.1使用距離變換的分水嶺分割二值圖像的距離變換是一個391100011000000000012300123111.421100040例:距離變換的分水嶺變換分割圖像f=imread('anding.tif');imshow(f);T=graythresh(uint8(f));g=im2bw(f,T);figure,imshow(g);gc=~g;figure,imshow(gc);例:距離變換的分水嶺變換分割圖像f=imread('andi41D=bwdist(gc);figure,imshow(D,[]);L=watershed(-D);w=L==0;figure,imshow(w);g2=g&~w;figure,imshow(g2);D=bwdist(gc);4210.5.2使用梯度的分水嶺分割在分水嶺變換之前,通常要使用梯度幅度來與處理圖像。梯度圖象在沿對象的邊緣處有較高的像素值,而在其他地方則有較低的像素值。理想情況下,分水嶺變換會沿著對象邊緣處產生分水嶺脊線。10.5.2使用梯度的分水嶺分割在分水嶺變換之前,通常要使用43例:使用梯度和分水嶺變換分割圖像f=imread('blackbubble.tif');imshow(f);h=fspecial('sobel');fd=double(f);g=sqrt(imfilter(fd,h,'replicate').^2+imfilter(fd,h','replicate').^2);figure,imshow(g,[]);L=watershed(g);wr=L==0;figure,imshow(wr);例:使用梯度和分水嶺變換分割圖像f=imread('blac44%解決過分割,在計算分水嶺變換之前,先平滑梯度圖象。g2=imclose(imopen(g,ones(3,3)),ones(3,3));L2=watershed(g2);wr2=L2==0;f2=f;f2(wr2)=255;figure,imshow(f2);%解決過分割,在計算分水嶺變換之前,先平滑梯度圖象。4510.5.3控制標記符的分水嶺分割由于噪聲和梯度局部的不規(guī)則性導致國分割的產生。解決該問題的一種實際方法是加入一個預處理階段,以將一些先驗知識帶到分割過程中,從而限制所允許的區(qū)域的數(shù)目,避免過分割。10.5.3控制標記符的分水嶺分割由于噪聲和梯度局部的不規(guī)則46用于控制過分割的一種方法基于標記符的概念。標記符是一個屬于一幅圖像的連通分量。我們希望有一個內部標記符集合(處于每個感興趣對象的內部)和一個外部標記符集合(包含在背景中)。這些標記符可以如下的修改梯度圖象。用于控制過分割的一種方法基于標記符的概念。47例:標記符控制的分水嶺分割圖像f=imread('labelwatershed.tif');imshow(f);h=fspecial('sobel');fd=double(f);g=sqrt(imfilter(fd,h,'replicate').^2+imfilter(fd,h','replicate').^2);figure,imshow(g,[]);L=watershed(g);wr=L==0;figure,imshow(wr);例:標記符控制的分水嶺分割圖像f=imread('label48%解決過分割,用imregionalmin計算圖像中大量局部最小區(qū)域的位置rm=imregionalmin(g);figure,imshow(rm);%解決過分割,用imregionalmin計算圖像中大量局部49%發(fā)現(xiàn)顯示的多數(shù)局部最小區(qū)域位置非常淺,表示了與我們的分割問題不相關的細節(jié)。%為了消除這些無關的小區(qū)域,我們采用函數(shù)imextendedmin,該函數(shù)科計算圖像中的%‘低點’集合,即比周圍更深的點的集合(通過某個高度閾值)。im=imextendedmin(f,2);fim=f;fim(im)=175;%在原圖像上以灰色氣泡的形式疊加擴展的局部最小區(qū)域位置。figure,imshow(fim);%發(fā)現(xiàn)顯示的多數(shù)局部最小區(qū)域位置非常淺,表示了與我們的分割問50%下面,我們需要尋找外部標記符或者我們確信屬于背景的像素。在這里我們采用的方法是%用找到的像素去標記背景,這些像素恰好位于內部標記符中間的位置,通過求另一個分水嶺%問題,我們可以做到這一點。Lim=watershed(bwdist(im));em=Lim==0;figure,imshow(em);%下面,我們需要尋找外部標記符或者我們確信屬于背景的像素。在51%利用內部標記符合外部標記符修改梯度圖象。使局部最小區(qū)域僅出現(xiàn)在標記的位置,其他像素%按需要“上推”,一邊刪除其他的局部最小區(qū)域。g2=imimposemin(g,im|em);figure,imshow(g2,[]);L2=watershed(g2);f2=f;f2(L2==0)=255;figure,imshow(f2);%利用內部標記符合外部標記符修改梯度圖象。使局部最小區(qū)域僅出52大作業(yè):1月10號之前,上傳至1/fuhui/homework/微機圖像處理端口:2121命名:姓名+學號包括:程序(源文件:代碼和圖像)+報告要求:實現(xiàn)對圖像的增強變化(空域和頻域),包括平滑,銳化,對比度增強等,實現(xiàn)對圖像的分割(灰度圖和彩色圖)。需要做出界面。報告中闡述實現(xiàn)各項圖像處理功能的方法,以及程序如何操作的說明。大作業(yè):1月10號之前,上傳至ftp://202.204.153第十章圖像分割第十章圖像分割54異常圖像的分割是圖像處理中最困難的任務之一。精確的分割決定著計算分析過程的成敗。因此,應該對提高穩(wěn)定分割的可能性予以特別關注。異常圖像的分割是圖像處理中最困難的任務之一。精確的分割決定著55圖像分割算法主要基于圖像亮度值的兩個基本特性:1不連續(xù)性(圖像的邊緣)2相似性(預先定義準則將圖像分割為相似區(qū)域:門限處理、區(qū)域生長、區(qū)域分離和聚合)圖像分割算法主要基于圖像亮度值的兩個基本特性:5610.1間斷檢測10.2邊緣連接和邊界檢測10.3閾值處理10.4基于區(qū)域的分割10.5使用分水嶺變換的分割10.1間斷檢測5710.1間斷檢測數(shù)字圖像中有三種基本類型的灰度級間斷:點,線和邊緣。10.1.1點檢測模板進行檢測-1-1-1|R|>T-18-1-1-1-110.1間斷檢測數(shù)字圖像中有三種基本類型的灰度級間斷:點,線58點檢測

f=imread('pointdetect.tif');imshow(f);w=[-1-1-1;-18-1;-1-1-1];g=abs(imfilter(double(f),w));T=max(g(:));g=g>=T;figure,imshow(g);點檢測

f=imread('pointdetect.tif'5910.1.2線檢測模板-1-1-1-1-12-12-12-1-1222-12-1-12-1-12-1-1-1-12-1-1-12-1-1-12水平+45度垂直-45度10.1.2線檢測模板60f=imread('linedetect.tif');imshow(f);w=[2-1-1;-12-1;-1-12];g=imfilter(double(f),w);figure,imshow(g,[])gtop=g(1:120,1:120);gtop=pixeldup(gtop,4);figure,imshow(gtop,[]);f=imread('linedetect.tif');61gbot=g(end-119:end,end-119:end);gbot=pixeldup(gbot,4);figure,imshow(gbot,[]);g=abs(g);figure,imshow(g,[]);T=max(g(:));g=g>=T;figure,imshow(g);gbot=g(end-119:end,end-119:end6210.1.3邊緣檢測邊緣檢測對于灰度級間斷的檢測是最為普遍的檢測方法。利用微分方法求邊緣注意:導數(shù)受噪聲的影響非常之大。Sobel,Prewitt,RobertsLaplacian,LOG10.1.3邊緣檢測邊緣檢測對于灰度級間斷的檢測是最為普遍的63使用edge函數(shù)的邊緣檢測邊緣檢測的基本意圖是使用如下兩個基本準則之一在圖像中找到亮度快速變化的地方1找到亮度的一階導數(shù)在幅度上比指定的閾值大的地方。2找到亮度的二階導數(shù)有零交叉的地方。使用edge函數(shù)的邊緣檢測邊緣檢測的基本意圖是使用如下兩個基64[g,t]=edge(f,’method’,parameters)Method:Sobel/Prewitt/Roberts/LaplacianofaGaussian(LOG)/Zerocrossing/CannyParameter:Thresh,direction:’horizontal’/’vertical’/’both’Sigma:標準差g:2值結果。t:閾值[g,t]=edge(f,’method’,paramete65例:使用Sobel模板提取邊緣f=imread('edgedetect.tif');imshow(f);[gv,t]=edge(f,'sobel','vertical');figure,imshow(gv);t例:使用Sobel模板提取邊緣f=imread('edged66指定一個較高的閾值將弱邊緣去掉gv=edge(f,'sobel',0.15,'vertical');figure,imshow(gv);產生水平和垂直邊緣gboth=edge(f,'sobel',0.15,'both');figure,imshow(gboth);指定一個較高的閾值將弱邊緣去掉67函數(shù)edge不能計算+-45度邊緣,如要計算這些邊緣,需要制定模板,并使用函數(shù)imfilterw45=[-2-10;-10-1;012];%w45=[012;-10-1;-2-10];g45=imfilter(double(f),w45,'replicate');T=0.03*max(abs(g45(:)));g45=g45>=T;figure,imshow(g45);函數(shù)edge不能計算+-45度邊緣,如要計算這些邊緣,需要制68Sobel,LoG,Canny邊緣檢測器比較f=imread('edgedetect.tif');imshow(f);[g_sobel_default,ts]=edge(f,'sobel');figure,imshow(g_sobel_default);[g_log_default,tlog]=edge(f,'log');figure,imshow(g_log_default);[g_canny_default,tc]=edge(f,'canny');figure,imshow(g_canny_default);Sobel,LoG,Canny邊緣檢測器比較f=imread69g_sobel_best=edge(f,'sobel',0.05);figure,imshow(g_sobel_best);g_log_best=edge(f,'log',0.003,2.25);figure,imshow(g_log_best);g_canny_best=edge(f,'canny',[0.04,0.10],1.5);figure,imshow(g_canny_best);g_sobel_best=edge(f,'sobel',0.7010.2邊緣連接和邊界檢測在得到的邊緣上的像素點,由于噪聲,不均勻光照的影響而產生的邊緣間斷,使得一組像素很少能完整地描繪一條邊緣。使用邊緣檢測算法后,緊跟著使用連接過程將邊緣像素組合成有意義的邊緣。10.2邊緣連接和邊界檢測在得到的邊緣上的像素點,由于噪聲,7110.2.1局部處理連接邊緣點的最簡單的方法之一:分析圖像中每個點(x,y)的一個小鄰域(3*3,5*5)內像素的特點。該點是一個得到的邊緣點。依據(jù)事先預定的準則,將所有被認為是相似的點連接起來,形成滿足這些準則的像素組成的一條邊緣。10.2.1局部處理連接邊緣點的最簡單的方法之一:72邊緣像素相似性的兩個主要性質:1生成的邊緣像素的梯度算子的響應強度2梯度向量的方向。如果同時滿足這兩個條件,則將邊緣連接起來,在圖像的每個位置重復這樣的操作。邊緣像素相似性的兩個主要性質:1生成的邊緣像素的梯度算子的響7310.2.2通過Hough變換進行整體處理根據(jù)給定圖像上的一個點集,如何找到位于直線上的所有點的子集?利用直線的斜截式公式10.2.2通過Hough變換進行整體處理根據(jù)給定圖像上的一74在參數(shù)空間中,相交的直線表示在xy平面中兩點共線。為了表示垂直的情況,使用直線標準表達在參數(shù)空間中,相交的直線表示在xy平面中兩點共線。75Hough變換將參數(shù)空間細分為了累加器單元。坐標為(i,j)的單元,對應參數(shù)空間坐標相關的方形。最初這些單元置為0。然后對于平面上的每一個非背景點變換到參數(shù)空間。將對應位置的累加器加1。累加器的值意味著xy平面上有多少個點共線。Hough變換將參數(shù)空間細分為了累加器單元76例:Hough變換f=imread('houghtrans.tif');imshow(f);H=hough(f);figure,imshow(H,[]);例:Hough變換f=imread('houghtrans.77給出坐標軸顯示參數(shù)空間[H,theta,rho]=hough(f);figure,imshow(theta,rho,H,[],'notruesize');axison,axisnormal;xlabel('\theta'),ylabel('\rho');給出坐標軸顯示參數(shù)空間[H,theta,rho]=hough78使用Hough變換作線檢測和連接函數(shù)houghpeaks得到Hough變換的峰值點[r,c,hnew]=houghpeaks(h,numpeaks,threshold,nhood)h:Hough變換矩陣numpeaks:指定要尋找的最大峰threshold:閾值以下的認為不是峰nhood:抑制的鄰域大小使用Hough變換作線檢測和連接函數(shù)houghpeaks得到79函數(shù)houghpixels找到圖像中影響到峰值的每一個非零值點的位置。函數(shù)houghlines采用一些策略,將位置相關的像素組合成線段。函數(shù)houghpixels找到圖像中影響到峰值的每一個非零值8010.3閾值處理10.3.1全局閾值處理步驟:1)為T選一個初始估計值2)使用T分割圖像,產生兩組像素G1,G210.3閾值處理10.3.1全局閾值處理813)計算G1和G2范圍內的像素的平均亮度值u1,u2,4)計算新閾值T=(u1+u2)/2;5)重復步驟2-4,直到迭代中的T的差比預先指定的參數(shù)T0小為止。3)計算G1和G2范圍內的像素的平均亮度值u1,u2,82函數(shù)graythresh實現(xiàn)全局閾值,使用Otsu方法T=graythresh(f);f=imread('globalthreshold.tif');imshow(f);T=graythresh(f);g=f<=T*255;figure,imshow(g);函數(shù)graythresh實現(xiàn)全局閾值,使用Otsu方法T=g8310.3.2局部閾值處理針對背景照明不均勻時,全局閾值處理可能無效。針對照明問題作預處理進行補償,同時使用形態(tài)學變換對圖像進行處理。使用局部變化的閾值函數(shù)對圖像進行閾值處理。10.3.2局部閾值處理針對背景照明不均勻時,全局閾值處理可8410.4基于區(qū)域的分割分割的目的是把圖象分成區(qū)域。區(qū)域內部像素具有相似性10.4.1基礎公式用R表示整個圖象區(qū)域,將R分成n個子區(qū)域,滿足:10.4基于區(qū)域的分割分割的目的是把圖象分成區(qū)域。區(qū)域內部像85第十章-圖像分割課件8610.4.2區(qū)域生長預先定義生長的準則,將像素或子區(qū)域合成較大的區(qū)域。由一個或多個開始點組成的集合的選擇通常要基于問題的性質。當沒有先驗信息可用時,一種處理方法是在每個像素上計算同一組屬性,在生長過程中,這些屬性將像素分配到不同區(qū)域。10.4.2區(qū)域生長預先定義生長的準則,將像素或子區(qū)域合成較87相似性準則的選擇不但依賴于所考慮的問題,而且依賴于可用的圖象數(shù)據(jù)類型。但圖象為單色圖像時,圖像分析應該用一組基于灰度級和空間性質的描述符來執(zhí)行。若在區(qū)域生長中沒有使用連通信息,則會產生錯誤結果。相似性準則的選擇不但依賴于所考慮的問題,而且依賴于可用的圖象88區(qū)域生長的另一個問題是停止規(guī)則的表達。一般來說,當不再有像素滿足該區(qū)域所包含的準則時,生長區(qū)域就會停止。函數(shù)regiongrow實現(xiàn)區(qū)域生長。[g,NR,SI,TI]=regiongrow(f,S,T)S,T:是一個數(shù)組(與f大小相同)或一個標量。g:分割后的圖象NR:不同區(qū)域的數(shù)目,SI:一幅包含有種子點的圖像,TI:一幅包含在進行連通性處理之前通過閾值測試的像素的圖象。區(qū)域生長的另一個問題是停止規(guī)則的表達。一般來說,當不再有像素89例:區(qū)域生長對焊接孔隙檢測的應用f=imread('regiongrowimage.tif');imshow(f);imhist(f);[g,NR,SI,TI]=regiongrow(f,255,65);figure,imshow(g);figure,imshow(SI);figure,imshow(TI);例:區(qū)域生長對焊接孔隙檢測的應用f=imread('regi9010.5使用分水嶺變換的分割在地理學中,分水嶺是指一個山脊,在該山脊兩邊的區(qū)域中有著不同流向的水系。分水嶺變換將在圖象中找到匯水盆地和脊線。在求解時,關鍵概念是將初始圖象變換成另一幅圖象,在變換后,匯水盆地就是我們想要識別的對象或區(qū)域。10.5使用分水嶺變換的分割在地理學中,分水嶺是指一個山脊,9110.5.1使用距離變換的分水嶺分割二值圖像的距離變換是一個相對簡單的概念:它是每一個像素到最近非零值像素的距離。D=bwdist(f)值為1的像素的距離變換為010.5.1使用距離變換的分水嶺分割二值圖像的距離變換是一個921100011000000000012300123111.421100093例:距離變換的分水嶺變換分割圖像f=imread('anding.tif');imshow(f);T=graythresh(uint8(f));g=im2bw(f,T);figure,imshow(g);gc=~g;figure,imshow(gc);例:距離變換的分水嶺變換分割圖像f=imread('andi94D=bwdist(gc);figure,imshow(D,[]);L=watershed(-D);w=L==0;figure,imshow(w);g2=g&~w;figure,imshow(g2);D=bwdist(gc);9510.5.2使用梯度的分水嶺分割在分水嶺變換之前,通常要使用梯度幅度來與處理圖像。梯度圖象在沿對象的邊緣處有較高的像素值,而在其他地方則有較低的像素值。理想情況下,分水嶺變換會沿著對象邊緣處產生分水嶺脊線。10.5.2使用梯度的分水嶺分割在分水嶺變換之前,通常要使用96例:使用梯度和分水嶺變換分割圖像f=imread('blackbubble.tif');imshow(f);h=fspecial('sobel');fd=double(f);g=sqrt(imfilter(fd,h,'replicate').^2+imfilter(fd,h','replicate').^2);figure,imshow(g,[]);L=watershed(g);wr=L==0;figure,imshow(wr);例:使用梯度和分水嶺變換分割圖像f=imread('blac97%解決過分割,在計算分水嶺變換之前,先平滑梯度圖象。g2=im

溫馨提示

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

評論

0/150

提交評論