基于MATLAB的數(shù)字圖像分割的研究與實現(xiàn)_第1頁
基于MATLAB的數(shù)字圖像分割的研究與實現(xiàn)_第2頁
基于MATLAB的數(shù)字圖像分割的研究與實現(xiàn)_第3頁
基于MATLAB的數(shù)字圖像分割的研究與實現(xiàn)_第4頁
基于MATLAB的數(shù)字圖像分割的研究與實現(xiàn)_第5頁
已閱讀5頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本科畢業(yè)論文(設計)

題目:基于MATLAB的數(shù)字圖像分割的研究與實現(xiàn)學院:計算機與信息工程學院學生:學號:專業(yè):年級:完成日期:2012年04月指導教師:基于MATLAB的數(shù)字圖像分割的研究與實現(xiàn)摘要:視覺和聽覺是我們認識和感知外部世界的主要途徑,而視覺又是其中最重要的,因此要想更細致、全面地把握這些圖像信息就需要對其進行必要的處理。在數(shù)字圖像處理的研究和應用中很多時候我們只對圖像的某些部分和特征感興趣,此時就需要利用圖像分割技術將所需的目標與圖片的其他部分區(qū)分開,以供我們對圖像進一步研究和分析。圖像分割即通過一些必要的算法把圖像中有意義的部分或特征提取出來,將圖像分為若干有意義的區(qū)域,使得這些區(qū)域?qū)獔D像中的不同目標,進而能夠?qū)λ信d趣的區(qū)域進行研究?;趫D像分割技術在圖像處理之中的重要性,本研究在此對圖像分割的一些經(jīng)典算法進行了學習和對比,并通過MATLAB對其進行了實驗,通過不同的算法對不同的圖片進行處理,分析其優(yōu)缺點,以便在進行圖像分割時可以根據(jù)圖片的特征選擇合適的算法。關鍵字:數(shù)字圖像;分割;MATLABTheResearchandImplementationofDigitalImageSegmentationBasedontheMATLABAbstract:Visionandauditoryarethemainwayswhichweusetounderstandandperceivetheworldoutside,whilevisionisthemostimportant.Therefore,it'srequiretoprocesstheimagedatatograspthemmorepainstakingandcompletely.Indigitalimageprocessingofresearchandapplicationweareonlyinterestedtosomepartsoftheimageandcharacteristicinmanytimes,thenyouneedtousetheimagesegmentationtechnologytoseparatethegoalandthepictureforotherpartsforourfurtherresearchandanalysisoftheimage.Imagesegmentationisdividingtheimageintosomesignificantareasthroughsomenecessaryalgorithms,thenmaketheseareascorrespondingtodifferentgoalsandwecandosomeresearchabouttheareasweareinterestedto.Basedontheimportanceofimagesegmentationtechnologyinimageprocessing,Icomparedseveralclassicalalgorithmsofimagesegmentation.Inthemeanwhile,IusedtheMATLABtodosomeresearchandtoprocessthevariousimageswithdifferentalgorithmssothatit'sconvinenttofindtheadvantagesofthesealgorithms.Then,Icanbaseonthecharacteristicsoftheimagestochoosethesuitablealgorithmswhentomakesomedigitalimagesegmentation.Keywords:DigitalImage;Segmentation;MATLAB目錄TOC\o"1-3"\h\u28211緒論 1301091.1圖像分割的研究背景 1225291.2圖像分割的基本原理 179622圖像處理與MATLAB 253742.1MATLAB處理的圖像格式與類型 284772.2MATLAB的界面 3200772.3MATLAB圖像的基本操作 5318732.3.1圖像文件信息的查詢 55532.3.2圖像文件的讀取 5275712.3.4圖像文件的寫入 52582.3.5MATLAB圖像工具箱中的圖像顯示函數(shù) 6181793閾值化分割 7123263.1雙峰法 772953.1.1數(shù)學推導 752753.1.2雙峰法圖像分割示例 760113.2自動選擇法 995163.2.1自動選擇法推導過程 9290173.2.2迭代法圖像分割 10175413.2.3最大類間方差法圖像分割 1075784區(qū)域化分割 11280334.1區(qū)域生長分割算法 11131884.1.1區(qū)域生長法簡介 11109484.1.2區(qū)域生長法的MATLAB程序與分割操作 12271004.2分裂合并分割算法 14317434.2.1分裂合并分割算法簡介 14239404.2.2分裂合并法的MATLAB程序與分割操作 1578385圖像分割算法的評價 1673515.1圖像分割算法評價概述 16212955.2圖像分割算法評價方法和要求 16236465.3本文算法分析與評價 17229716總結 2231450參考文獻 2324583致謝 241緒論1.1圖像分割的研究背景在一幅目標圖像下,人們往往只是關注其中的一個或者幾個目標,而這些目標必然會占據(jù)一定的區(qū)域,并且與周圍其他目標或背景在一些特征上會有相應的差別。但是,很多時候這些差別會非常的細微,以至于人眼很難發(fā)覺,這就需要用一定的技術對圖片做一些處理。而計算機圖像處理技術的發(fā)展,很好地解決了這一難題,使得人們可以利用計算機技術來協(xié)助理這些信息,例如指紋識別、車牌識別以及醫(yī)學影像的鑒別操作等方向。圖像分割是圖像識別的基礎,其通過一些必要的算法把圖像中有意義的部分或特征提取出來,將圖像分為若干有意義的區(qū)域,并形成數(shù)字特征,這些區(qū)域?qū)獔D像中的不同目標。這些具有某種特征的單元成為圖像的基元,這種經(jīng)過處理的基元更容易被快速處理。目前,數(shù)以千計的研究文獻和文章提出了許許多多的圖像分割算法,不同種類的圖像、不同的應用要求和應用領域所需要提取出的圖像特征是不相同的,所以并不存在普遍適用的最優(yōu)方法,只能根據(jù)圖像特征選擇與值相適應的方法。1.2圖像分割的基本原理圖像分割是根據(jù)圖像的直方圖和結構特性或者一些具體的應用需求將圖像劃分成兩個或多個互不相交的子區(qū)域的過程,這些子區(qū)域是在特定意義下的具有相同屬性的像素的連通集合。例如,一幅圖像中不同目標物體所占的圖像區(qū)域、背景所占的背景區(qū)域等都屬于這樣的連通集合概念。對圖像分割的定義有多種不同的解釋,人們普遍接受的是通過集合定義的圖像分割。用集合R表示整個圖像區(qū)域,那么對整個圖像的分割可以等價于將集合R分成n個滿足以下準則的區(qū)域:false;true。目前提出的圖像分割方法很多,在此分為三種不同的途徑對其進行分類:以物體的的邊界為對象進行分割;先檢測邊緣像素,再將邊緣像素連接起來形成分割;以區(qū)域為對象進行分割,根據(jù)圖像的灰度、色彩、變換關系或組織結構等方面的特征相似性來劃分圖像的子區(qū)域并將各像素劃分到特定區(qū)域。上述這些方法是互補的,不同的場合使用不同的方法,或者綜合各個方法已達到最佳的分割效果。2圖像處理與MATLAB2.1MATLAB處理的圖像格式與類型圖像格式是指圖像文件常用的存儲格式,下面是幾種MATLAB常用并支持的圖像格式以及數(shù)據(jù)類型,見下表2.1所示。表2.1MATLAB支持的幾種圖像格式及數(shù)據(jù)類型格式數(shù)據(jù)類型說明bmp非壓縮圖像:1bit、4bit、8bit、16bit、24bit、32bit行程長編碼圖像:4bit、8bitcur非壓縮圖形:1bit、4bit、8bitgif1~8bitico非壓縮圖像:1bit、4bit、8bitjpg或jpeg圖像類型位數(shù)壓縮灰度圖像8bit、12bit有損壓縮灰度圖像8bit、12bit、16bit無損壓縮真彩色圖像24bit、36bit有損壓縮和無損壓縮tif或tiff非壓縮圖形:1bit、8bit、24bitpackbits壓縮圖像:1bit、8bit、24bitCCITT壓縮圖像:1bit灰度圖像:16bit索引圖像:16bit真彩色圖像:48bitpng灰度圖像:1bit、2bit、4bit、8bit、16bit索引圖像:8bit、16bit真彩色圖像:24bit、48bit另外,MATLAB支持的圖像類型可分為5種,分別為:二值圖像、灰度圖像、索引圖像、RGB圖像以及多幀圖像陣列。2.2MATLAB的界面1CommandWindow窗口CommandWindow窗口是MATLAB界面中的重要組成部分,利用該窗口可以和MATLAB進行交互操作,即進行數(shù)據(jù)和命令的輸入以及相應的運算。該窗口不僅可以嵌在MATLAB工作界面,而且還可以單擊按鈕使其獨立地浮在界面上。圖2.1是該窗口以及在該窗口進行的一些運算。圖2.1CommandWindow窗口2Workspace窗口Workspace窗口是MATLAB中用于存儲各種變量和結果的存空間,與命令窗口一樣,既可以嵌在MATLAB的中作界面中,又可以獨立的浮動在界面上,如圖2.2所示為浮動的窗口。圖2.2Workspace窗口在使用過程中該窗口顯示工作窗口中所有變量的名稱、取值和變量類型說明,可以對變量進行編輯、觀察、保存和刪除等操作。3CommandHistory窗口CommandHistory窗口主要用來顯示已執(zhí)行命令。MATLAB每次啟動時,該窗口都會記錄啟動時間,并將CommandWindow窗口中的命令記錄下來,窗口如圖2-3圖2.3CommandHistory窗口4CurrentDirectory窗口CurrentDirectory窗口主要顯示當前在什么路徑下進行的工作,包括文件的保存等都是在當前路徑下實現(xiàn)的。用戶可以使用【File】菜單下的【SetPath】命令設置當前路徑,SetPath窗口如圖2.4所示。圖2.4SetPath窗口2.3MATLAB圖像的基本操作2.3.1圖像文件信息的查詢在MATLAB中,可以使用imfinfo函數(shù)來獲取圖像處理工具箱所支持的各類格式圖像信息。該函數(shù)語法格式為:info=imfinfo(filename,fmt)info=imfinfo(filename)info=imfinfo(URL,...)說明:info=imfinfo(filename,fmt)返回一個結構info,它反映了該圖像各個方面的信息,參數(shù)fmt對應于所有圖像處理工具箱所支持的圖像格式,并且可以省略fmt這一參數(shù)。info=imfinfo(URL,...)用于讀取Internet上的圖像信息。2.3.2圖像文件的讀取MATLAB進行數(shù)字圖像處理時,利用imread函數(shù)來完成圖像的讀取,該函數(shù)常用語法格式如下:A=imread(filename,fmt):用于讀取由filename指定的圖像數(shù)據(jù)到數(shù)組A,fmt對應于圖像文件格式。若圖像為灰度圖像,數(shù)組A大小為M×N,若為彩色圖像,則大小為M×N×3;[X,map]=imread(filename,fmt):讀取由filename指定的索引圖像數(shù)據(jù)到數(shù)組X,并將圖像顏色表寫入map中;[...]=imread(URL,...):用于讀取從Internet上超的圖像,URL必須包含協(xié)議的類型,例如http://;[...]=imread(...,'frames',idx)(適用于GIF):用于讀取GIF文件中第idx個圖像幀,idx可以取值為'all';[...]=imread(...,ref)(適用于HDF):用于讀取包含多幀圖像的HDF格式圖像的第ref幀圖像,默認值為1。2.3.4圖像文件的寫入使用MATLAB進行圖像處理時,根據(jù)需要有時要求我們對處理后的結果圖像進行保存,MATLAB提供了imwrite來提供該操作,常用的格式有以下幾種:imwrite(A,filename,fmt):用于將圖像A寫入到名為filename、格式為fmt的圖像文件中;imwrite(X,map,filename,fmt):用于將索引圖像以及與之相關的顏色映射map寫入到名為filename、格式為fmt的圖像文件中;imwrite(...,filename):用于將圖像寫入達到filename的文件中,文件格式由文件名的拓展名決定,擴展名為MATLAB所支持的格式。2.3.5MATLAB圖像工具箱中的圖像顯示函數(shù)MATLAB工具箱中提供了imshow和imview兩個函數(shù)來進行圖像的顯示。1imshow函數(shù)調(diào)用該函數(shù)來顯示一幅數(shù)字圖像時,將自動設置圖像的窗口、圖像的坐標軸和圖像屬性,imshow函數(shù)常用的語法格式為:imshow(I,n):利用n個灰度等級來顯示一幅灰度圖像I,n忽略時,24位顯示系統(tǒng)默認為256,其他顯示系統(tǒng)默認為64;imshow(I,[lowhight]):顯示灰度圖像I并指定I的數(shù)據(jù)圍。I的數(shù)據(jù)中小于或等于low的像素值被設為黑色,大于等于high的像素值被設為白色;imshow(BW):用于顯示二進制圖像BW,圖像中像素值為0的用黑色表示,像素值為1的用白色表示;imshow(X,map):用于顯示顏色映射表map的圖像X;imshow(RGB):用于顯示真彩色圖像RGB;imshow(x,y,A,...):利用二維向量x、y建立一個空間坐標系統(tǒng);imshowfilename:用于顯示存儲在圖形文件中文件名為filename的圖像文件。2imview函數(shù)Imview是一個在圖像閱覽器中顯示圖像的函數(shù)。圖像閱覽器可以在窗口中顯示一幅數(shù)字圖像并提供圖像的大小信息、像素值的圍、光標所指像素的坐標和像素值的信息等。其語法格式如下:imview(I):顯示灰度圖像I;imview(RGB):顯示真彩色圖像RGB;imview(X,map):顯示圖像像素映射表為map的索引圖像X;imview(I,range):顯示灰度圖像I,參數(shù)range是一個二維向量[lowhigh],用于控制顯示圖像有黑到白的區(qū)域;imview(filename):用于顯示指定文件夾下圖像名為filename的圖像文件;imviewcloseall:用于關閉所有的圖像瀏覽器。3閾值化分割閾值分割的基本原理為:利用一定的方法,設定不同的閾值,把圖像的像素點分到若干不同的區(qū)域中。閾值分割是一種比較簡單有效的圖像分割方法,該方法利用一個或多個閾值將圖像像素分為不同的灰度級分,將屬于同一灰度級的像素劃分為相同的區(qū)域。根據(jù)求閾值的不同,可以分為雙峰法、迭代法以及最大類間方差法。3.1雙峰法雙峰法即人工選擇法,通過人眼對圖像直方圖的觀察,選出合適的閾值。3.1.1數(shù)學推導假定圖像由具有不同灰度級的目標背景組成,圖像的灰度分布曲線可以近似地認為有兩個正態(tài)分布函數(shù)和疊加而成,則圖像會出現(xiàn)具有雙峰的分布特性的直方圖,該特性可以用圖3.1表示。圖3.1具有雙峰分布的直方圖如圖3-1,選擇雙峰直方圖的波谷處,設其灰度級為P,則可以將圖像分為兩部分,即可以表示為:其中,P為分割閾值,結果圖像的灰度級取。若為多個閾值,則:3.1.2雙峰法圖像分割示例利用雙峰法進行圖像分割,首先要查看圖像直方圖的分布情況,即在MATLAB中執(zhí)行下述程序,來觀察所需分割圖像的直方圖:clearallI=imread('細菌.jpg');figure(1);imshow(I);title('原始圖像');figure(2);imhist(I);title('直方圖');axis([025502000]);執(zhí)行結果如圖3.2所示。圖3.2原圖與直方圖觀察上述直方圖可以選擇閾值為30,執(zhí)行下述分割程序:th=30;J=im2bw(I,th/255);figure(3);imshow(J);title('分割結果');分割結果如下圖3.3所示。圖3.3雙峰法分割結果3.2自動選擇法自動選擇法通常根據(jù)圖像直方圖所呈現(xiàn)出的特性來分析圖像灰度值的分布情況。3.2.1自動選擇法推導過程1迭代法雙峰發(fā)對于目標區(qū)域和背景區(qū)域像素的分布區(qū)域有明顯區(qū)別是容易使用,對于不明顯的圖像閾值選擇需要進行改進,而迭代法正式基于這種要求產(chǎn)生的。迭代法可以利用一定的算法原理來完成閾值的自動選取操作,并能根據(jù)所選取的閾值進行分割操作,其具體實施步驟如下:選擇一個初始閾值P,可利用圖像像素的最大灰度和最小灰度來選擇;利用選擇的閾值P對圖像進行分割分為大于P和小于P兩部分;計算兩個區(qū)域的灰度均值;計算新閾值。2最大類間方差法最大類間方差法的計算方法為:根據(jù)灰度級,確定閾值T,就可以把一幅數(shù)字圖像的像素點分為兩個類中,其中圖像灰度的最小值、最大值分別表示為則可以把圖像表示為:圖像總的像素為:,則各灰度出現(xiàn)的概率為,假設兩個區(qū)域分別為A,B,則區(qū)域A出現(xiàn)的概率為:,均值為:則區(qū)域B出現(xiàn)的概率為:均值為:圖像的均值為:兩個區(qū)域的方差為:最大類間方差法是把兩類的類間方差作為閾值的選擇標準,使得類間方差最大的T則為最佳閾值。3.2.2迭代法圖像分割使用MATLAB利用迭代法進行圖像分割操作時,根據(jù)之前原理的描述,需要編寫以下程序代碼:clearallI=imread('細菌.jpg');tmin=min(I(:));tmax=max(I(:));th=(tmin+tmax)/2;ok=true;whileok g1=I>=th;g2=I<th;u1=mean(I(g1));u2=mean(I(g2));thnew=(u1+u2)/2;ok=abs(th-thnew)>=1;th=thnew;endth=floor(th);J=im2bw(I,th/255);subplot(1,2,1);imshow(I);title('原始圖像');subplot(1,2,2);str=['迭代分割閾值:閾值Th=',num2str(th)];imshow(J);title(str);將以上程序輸入MATLAB命令窗口,得到如下圖3.4的分割結果。圖3.4迭代法分割結果3.2.3最大類間方差法圖像分割MATLAB的庫函數(shù)中直接提供了最大類間方差法的閾值分割grayhresh函數(shù),語法格式為:level=graythesh(I)使用MATLAB進行圖像分割時,需要的程序如下:clearallI=imread('細菌.jpg')th=graythresh(I);J=im2bw(I,th);th=255*th;subplot(1,2,1);imshow(I);title('原始圖像');subplot(1,2,2);str=['最大類間方差法分割結果:TH=',num2str(th)];imshow(J);title(str);程序執(zhí)行后的分割結果如下圖3.5所示。圖3.5最大類間方差法圖像分割結果4區(qū)域化分割4.1區(qū)域生長分割算法4.1.1區(qū)域生長法簡介區(qū)域生長是從圖片的一個像素出發(fā),即選取一個種子像素,比較與之相鄰的像素之間的相似性,將與種子像素在灰度、邊緣、紋理等特征具有相似屬性的像素歸并到同一個區(qū)域,然后再將這些像素點作為新的種子像素繼續(xù)上述歸并過程,直到查找不到滿足條件的像素為止,從而完成對一幅圖片的分割操作。區(qū)域生長算法具體描述如下:選取圖像目標區(qū)域一點作為種子像素點;以為中心,與的鄰域像素進行比較,如果滿足選定的生長準則,則將與合并;再將歸并的像素點作為新的種子像素點,繼續(xù)步驟(2)的操作;當滿足區(qū)域生長的停止條件時,結束操作,完成分割算法。其中,生長準則是評價種子像素與其鄰域像素點的相似程度的判斷準則;根據(jù)設定不同的閾值來確定停止條件,停止條件的選擇對分割結果的精確度有至關緊要的作用,在利用區(qū)域生長法進行圖像的分割時,要根據(jù)具體的圖像特征來選擇合適的生長停止條件。利用圖形形象的表示區(qū)域生長法原理如下4.1所示。a)原始圖像和種子點b)閾值T=1c)閾值T=2圖4.1區(qū)域生長4.1.2區(qū)域生長法的MATLAB程序與分割操作1MATLAB程序(1)先編寫區(qū)域生長法的算法程序,并保存在MATLAB的m文件中,程序如下:functionYout=regiongrow(I,seed,th_mean)[M,N]=size(I);L=size(seed);Yout=zeros(M,N);fori=1:LYout(seed(i,1),seed(i,2))=1;endfori=1:Lsum(i)=I(seed(i,1),seed(i,2));endseed_mean=mean(sum);ok=true;s_star=1;s_end=L;whileokok=false;fori=s_star:s_endx=seed(i,1);y=seed(i,2);ifx>2&&(x+1)<M&&y>2&&(y+1)<Nforu=-1:1forv=-1:1ifYout(x+u,y+v)==0&abs(I(x+u,y+v)-seed_mean)<=th_meanYout(x+u,y+v)=1;ok=true;seed=[seed;[x+u,y+v]];endendendendends_star=s_end+1;L=size(seed);s_end=L;end(2)對上述m文件保存為regiongrow.m格式,編寫區(qū)域生長的主程序并調(diào)用上述regiongrow算法:clearallI=imread('細菌.jpg');figure(1);imshow(I);title('原始圖像');I=double(I);[y1,x1]=getpts;x1=round(x1);y1=round(y1);seed=[x1,y1];th_mean=40;Yout=regiongrow(I,seed,th_mean);figure(2);imshow(Yout);title('區(qū)域生長分割');2分割結果圖執(zhí)行程序時,首先在figure1窗口選擇需要的種子點選擇,在此選擇中間的大個細菌作為示例,其中選擇不同的閾值th_mean會得到不同的分割結果,當th_mean=40時分割結果如圖4.2所示。圖4.2區(qū)域生長法分割效果(th_mean=40)當th_mean=70時,得到的分割結果如圖4.3所示。圖4.3區(qū)域生長法分割效果(th_mean=70)由圖4.2和圖4.3可以發(fā)現(xiàn),當選擇th_mean=70時,分割效果已經(jīng)很好,當選擇更大的th_mean時,會歸并更多的像素,即有可能將背景像素歸到目標區(qū)域中,進而影響分割準確性,所以,要根據(jù)圖片特點選擇合適的th_mean值。4.2分裂合并分割算法4.2.1分裂合并分割算法簡介分裂合并分割算法的原理是根據(jù)圖像數(shù)據(jù)的四叉樹的層次結構來將圖像劃分成幾個不相交的區(qū)域,然后從這個結構中的任何一個區(qū)域開始,依照一定的準則來分裂、合并這些區(qū)域。當一個區(qū)域中的數(shù)據(jù)特征不滿足這一準則時,則對這一區(qū)域繼續(xù)進行分裂操作,直至相鄰的區(qū)域之間滿足一定的特征時,分裂結束,進行合并。分裂合并分割算法中經(jīng)常使用的方法就是四叉樹分解法,令R表示整個圖像區(qū)域,如果,則將圖像分成四個區(qū)域,如果有任何一個區(qū)域依然有,怎講這個繼續(xù)分割為四個區(qū)域,以此類推直到為單個像素。四叉樹分解法可以用下圖4.4的示意圖表示。a)圖像分割示意圖b)四叉樹表示圖4.4四叉樹分解示意圖如圖4.5所示,假設圖中灰色區(qū)域為我們所需要的目標區(qū)域,白色為背景區(qū)域。對整個圖像,令表示該區(qū)域中所有像素均具有相同的灰度值。所以根據(jù)以上條件先將圖(a)分割成四個區(qū)域,此時右上角的區(qū)域滿足,所以不再進行分割,而其他區(qū)域繼續(xù)進行分割操作,直至分割的每個子區(qū)域均滿足條件,則分裂停止,進行合并。(a)原圖像(b)分裂過程1(c)分裂過程2(d)分裂過程3圖4.5區(qū)域分裂與合并分割法圖解根據(jù)四叉樹分解示意圖,MATLAB中提供了三種函數(shù)來實現(xiàn)這一規(guī)則。具體操作步驟是,首先將圖像分成四個小區(qū)域,然后根據(jù)一定的準則判斷各個區(qū)域是否具有特定的相似性,不滿足則進行進一步的分裂,直至分裂的每一小塊都達到一定的相似準則,再對各個區(qū)域進行合并。qtdecomp函數(shù)用于對圖像進行四叉樹分解;qtgeblk函數(shù)用于經(jīng)過四叉樹分解后的各個區(qū)域的圖像信息;qtsetblk函數(shù)用于設定分解區(qū)域的灰度值。4.2.2分裂合并法的MATLAB程序與分割操作對數(shù)字圖像進行分裂合并分割的MATLAB程序為:clearallI=imread('細菌.jpg');S=qtdecomp(I,.2);blocks=repmat(uint8(0),size(S));fordim=[5122561286432168421];numblocks=length(find(S==dim));if(numblocks>0)values=repmat(uint8(1),[dimdimnumblocks]);values(2:dim,2:dim,:)=0;blocks=qtsetblk(blocks,S,dim,values);endendblocks(end,1:end)=1;blocks(1:end,end)=1;figure(1);subplot(1,2,1);imshow(I);title('原始圖像');subplot(1,2,2);imshow(blocks,[]);title('分解圖像');對細菌圖像進行分割后的結果圖為圖4.6所示。圖4.6細菌圖像的四叉樹分解5圖像分割算法的評價5.1圖像分割算法評價概述盡管已經(jīng)有了很多種分割算法,而且該技術也在不斷地發(fā)展中,但是迄今為止仍然還沒有一種通用的分割算法,絕大部分分割算法通常有一定的使用圍。而對于某個具體實際圖像,為了得到滿意的分割結果,通常會面臨一個如何選擇合適的分割算法的問題,特別是對分割算法不是很了解的情況下,這時就需要參考分割算法的一些性能指標來進行選擇。這就是分割算法中的評價問題。盡管很多文獻與著作在分割算法的評價方面已有了較深入的研究,但是迄今為止還沒有一個通用的客觀評價標準,在這個方面就需要我們做出進一步的努力。在做圖像處理時要求我們根據(jù)不同的要求選擇合適的分割算法,因此對不同分割算法作一個比較客觀的評價是必需的。5.2圖像分割算法評價方法和要求圖像分割算法的評價可以有一下這些情況:(1)性能刻劃。即同一分割算法在不同的圖像情況下,分割的性能比較。(2)性能比較。比較不同的分割算法在對同一個圖像進行分割時,分割性能的比較。對分割評價算法的一般要求包括:評價算法的通用性、評價算法的復雜性、可靠性,是否需要參考圖和是否需要人工參考等。一般通過分析和實驗兩種方式對分割算法進行客觀評價。所以一個客觀的評價方法可分為分析與實驗方法兩類。1分析法分析法對圖像的原理和性能進行直接分析。該算法的原則是指所采用的分析方法和理論,經(jīng)常采用先進的理論方法將得到更精確的結果。雖然分析方法能避免某些因素,但缺乏分割結果的支持,具有較大的局限性,通過分析分割結果的實際評價分割算法具有實際意義。分析方法通常提供輔助信息,它很少單獨使用。2實驗評價方法實驗法是比較不同算法的分割結果,對分割結果圖像進行評價的。在實際應用也是經(jīng)常使用中這種評價方法。實驗方法是對測試圖像分割結果進行評估,實驗方法所提出的評價方法,一般可分為優(yōu)化方法和偏差的方法。優(yōu)化方法是基于一般人的一些視覺圖像特征為依據(jù)來評估分割效果;偏差的方法通常需要提供一個理想的分割圖像作為比較標準,根據(jù)計算實和理想分割圖像分割效果的差異,但可供比較的形象往往難以統(tǒng)一樣本。5.3本文算法分析與評價本文中介紹了兩種不同的分割算法,分別為閾值化分割和區(qū)域化分割,其中閾值分割算法又有三種不同的求閾值方法分別為雙峰法、迭代法和最大類間法;區(qū)域化分割又包括區(qū)域生長法和分裂合并法。其中各自的適用圍如下:(1)雙峰閾值算法適合直方圖呈現(xiàn)明顯雙峰特性的圖像,在進行圖像分割之前先進行一步對圖像的求直方圖操作,根據(jù)直方圖所體現(xiàn)的特性找出谷點即為所需要的閾值,在直接給閾值th賦值為該谷點的值利用函數(shù)im2bw進行分割。但是,很多時候圖像的直方圖并不能體現(xiàn)出明顯的雙峰特性,這時候找到的谷點值就不能很好地把目標圖像分割出來,會把大量的目標像素歸為背景或者把大量的背景元素歸為目標,這樣則會是分割的準確性下降,進而影響對圖像下一步的處理操作。例如對lena圖像進行雙峰法的閾值分割過程與結果如下:先對其進行求直方圖操作,結果如下圖5.1所示。圖5.1lena圖像的直方圖lena的直方圖特點如上,如果利用雙峰法進行分割則需要確定閾值,若選擇閾值th=60,進行分割結果如圖5.2所示。 圖5.2閾值th=60分割結果圖5.3閾值th=90分割結果若選擇閾值th=90,進行分割的結果如上圖5.3所示。由圖5.2與圖5.3可以看出,圖5-3顯示的當th=90時的分割效果就比th=60時的分割效果要好,但是兩個不同閾值的效果都沒有達到理想的分割結果,即未能把目標圖像很好地分割出來??梢缘贸鼋Y論:如果圖像的直方圖沒有呈現(xiàn)明顯的雙峰特性,那么利用雙峰法進行的分割結果就不準確,即雙峰法適合對一些背景簡單、直方圖具有雙峰特性的圖像來進行分割。有些時候,圖像直方圖呈現(xiàn)一定的雙峰特性,但是并不能直觀、準確的觀察出圖像的閾值特點,這就需要利用一定的算法實現(xiàn)自動選取閾值,迭代法就是在這個方面對雙峰法的改進,該方法可以完成閾值的自動選取。例如對之前l(fā)ena圖像進行分割,如果使用迭代法分割結果如下5.4所示。 圖5.4迭代法對lena圖像進行分割再對cameraman圖像的分割示例:首先,求出該圖像的直方圖,結果為圖5.5所示。圖5.5cameraman的直方圖特性如利用雙峰法選擇閾值th=60,進行的分割結果如圖5.6所示圖5.6對cameraman選擇閾值為60進行分割結果而利用迭代法進行的分割結果如圖5.7所示。 圖5.7迭代法分割結果比較圖5.6與圖5.7能發(fā)現(xiàn)迭代法分割的效果就比雙峰法分割效果要更準確,例如,迭代法就把圖片的下半部分很好的分割了出來??梢缘贸鼋Y論:對于那些具有一定的雙峰特性但又不是能明確觀察出閾值的圖像就要求我們利用迭代法來進行分割,即迭代法是對雙峰法的改進。MATLAB中提供了一種最大類間方差閾值分割的閾值函數(shù)graythresh,用法為:th=graythresh(I),I可以使uint8、uint16或者是double型的圖像。該分割算法能根據(jù)不同的圖像調(diào)用graythresh函數(shù)來獲得最佳閾值,選擇lena圖像進行示,結果如圖5.8所示。圖5.8最大類間方差法圖像分割對于一些不存在雙峰特性的圖像也能進行比較理想的分割效果,例如下圖5.9所示圖像。圖5.9原圖像與直方圖觀察上圖的直方圖并不體現(xiàn)雙峰特性,利用該方法進行分割結果如下圖5.10所示。圖5.10原始圖像與分割結果以上三種都能針對特定的圖像進行目標分割,但是很多時候我們只需要對目標圖像的一部分進行研究,那么就只要求我們將所需的部分分割出來,根據(jù)這一要求生成了區(qū)域生長算法,利用這種算法能根據(jù)需要自主地選擇種子像素點,從而分割出需要的部分。例如下圖5.11的示例。圖5.11區(qū)域生長法分割示例如上圖的示例所示,該分割方法可以根據(jù)圖像特點在m文件里設定graythresh函數(shù)的不同閾值,選取特定的種子像素點利用區(qū)域生長法找到它周圍相近或者說像素差值在一定閾值的像素點,歸并為一個區(qū)域,然后顯示出來。區(qū)域生長過程是從一組生長點開始,通過不斷地接納新像素最后得到整個目標區(qū)域。而分裂合并法是在開始時將圖像分割成一系列任意不相交的區(qū)域,直到最后所分得的每個區(qū)域的像素都滿足一定的灰度值則分裂停止,進行合并。該方法能對所有圖片進行分割,但是對那些目標區(qū)域灰度值較相近的并且與背景

溫馨提示

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

評論

0/150

提交評論