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

下載本文檔

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

文檔簡(jiǎn)介

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

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

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論