版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
沈陽理工大學(xué)數(shù)字圖像處理課程設(shè)計緒論1.1研究目的及意義圖像分割就是把圖像分成若干個特定的、具有獨(dú)特性質(zhì)的區(qū)域并提出感興趣目標(biāo)的技術(shù)和過程,其中的獨(dú)特性區(qū)域可以是圖像的顏色、灰度、紋理、輪廓等,而目標(biāo)可以對應(yīng)某一塊所需要處理單位區(qū)域,也可是對應(yīng)的多個處理區(qū)域。近年來,隨著各科學(xué)新理論和新方法的提出,人們也提出了一些特定理論、方法和工具相結(jié)合的分割記住,其中基于形態(tài)學(xué)得分割算法是目前使用較為廣泛的算法之一。數(shù)字圖像分割在數(shù)學(xué)圖像的處理和計算機(jī)視覺領(lǐng)域中是一個備受關(guān)的研究分支在目標(biāo)分割和提取的過程中可以運(yùn)用大量的數(shù)字處理方法,結(jié)合它在計算機(jī)上所產(chǎn)生的視覺,模式識別等領(lǐng)域中的運(yùn)用,吸引了一大群研究者的關(guān)注。數(shù)學(xué)圖像分割技術(shù)所帶來的社會意義,加上研究者的研究,使得數(shù)學(xué)圖像分割技術(shù)在深入的研究中不斷的完善。將會推動一系列的科學(xué)分之發(fā)展,比如,模式識別,計算機(jī)視覺,人工智能等。在最近的20年中圖像分割得到了廣泛的關(guān)注和發(fā)展,國內(nèi)外的很多研究人士提出了許多的方法,在各個不同的領(lǐng)域中都取得了響應(yīng)的成果。但是在對于一種能過普遍應(yīng)用于各種復(fù)雜情況和準(zhǔn)確性很高的分割檢測算法,還存在大量的提升空間。目前的方法和理論還有許多不完善的地方,這就需要不斷的探索不斷的改進(jìn)和發(fā)展。圖像有許多的復(fù)雜性和多義性,大部分的分割的過程無法依靠計算機(jī)單獨(dú)完成,但是手工分割的工作量大的驚人,而且對于地位非常困難,所以,有些人提出了人工河計算機(jī)交互自動接合定位的方法,結(jié)合各自的優(yōu)勢,來實(shí)現(xiàn)對目標(biāo)輪廓的快速定位。相信這些交互式方法的應(yīng)用,必將推動圖像目標(biāo)分割與提取這一既具有廣闊的應(yīng)用前景又具有重要的學(xué)術(shù)價值的課題的進(jìn)一步研究,也必將成為一個更為獨(dú)立和活躍的研究領(lǐng)域。1.2國內(nèi)外現(xiàn)狀據(jù)數(shù)字圖像處理技術(shù)的發(fā)展來看,實(shí)時性在實(shí)際應(yīng)用中運(yùn)用非常廣泛。實(shí)時圖像處理系統(tǒng)的主要難點(diǎn)在于如何在有限的時間里完成大批量的數(shù)據(jù)處理。因?yàn)橐獙D像進(jìn)行處理,為了實(shí)現(xiàn)實(shí)時圖像處理快速,高效的處理,在系統(tǒng)中圖像處理的速度要達(dá)到一定的速度,然而圖像處理的速度是由執(zhí)行短發(fā)的時間,視頻輸入輸出延遲以及外部數(shù)據(jù)存儲器與DSP的數(shù)據(jù)交換效率來決定的。從而產(chǎn)生了許多種圖像分割算法。比如閾值分割算法,基于區(qū)域分割算法,以及基于邊緣的圖像分割。分水嶺(watershed)算法法是一種已經(jīng)發(fā)展起來的數(shù)學(xué)形態(tài)圖像分割方法。該方法之所以能引起人們的重視,第一是因?yàn)樗挠嬎闼俣缺容^快,第二是因?yàn)槲锢磔喞€的封閉性,第三是因?yàn)樗亩ㄎ环謴S精確。但是分水嶺算法在微弱邊緣處理也擁有很好的響應(yīng)。分水嶺算法最初是由Digabel和Lantuejoul引入圖像處理領(lǐng)域,用于分析簡單的二值圖像。,Beucher,Vincent等人往深處研究,得到更通用的模型,建立了分水嶺算法的理論,大量的用于灰度圖像的分割。它的思想雖然簡單,但是設(shè)計方法比較困難,早期因?yàn)橛嬎銠C(jī)的落后導(dǎo)致該方法計算負(fù)擔(dān)過重,所消耗的時間較長。因此,采用分水嶺算法進(jìn)行圖像分割時,會產(chǎn)生過度的分割現(xiàn)象和消耗的時間較長。應(yīng)用到圖像分割中,分水嶺變換是指將源圖像轉(zhuǎn)換成一個標(biāo)記圖像,其中所有屬于同一集水盆的點(diǎn)均被賦予同一個標(biāo)記,并用一個特殊的標(biāo)記來標(biāo)幾分水嶺上的點(diǎn)。1.3本文研究內(nèi)容本文根據(jù)國內(nèi)外現(xiàn)有的圖像分割方法,和課題設(shè)計要求,研究基于分水嶺圖像分割方法,梯度圖像獲取,所使用的算子。并介紹了利用分水嶺算法對圖像進(jìn)行分割。2圖像分割算法綜述2.1圖像分割的概述圖像分割在圖像處理中時一項關(guān)鍵的技術(shù),在20世紀(jì)70年代開始一直受到人們的高度重視,迄今為止已經(jīng)提出了千百種分割算法,都因?yàn)闊o法通用的分割理論,現(xiàn)在所提出的是針對具體問題的分割方法,并沒有找到一種適合所有圖像的通用分割算法。此外,需要制定出適用分割算法的標(biāo)準(zhǔn),給圖像分割技術(shù)帶來許多實(shí)際問題。最近幾年又涌現(xiàn)出了許多新思路、新方法或改進(jìn)算法,對一些經(jīng)典方法和新出現(xiàn)的方法作了劃分。將圖像分割方法分為閾值分割方法、邊緣檢測方法、區(qū)域提取方法和結(jié)合特定理論工具的分割方法。圖像的分割方法有兩種。一種是邊界方法,一種是區(qū)域方法,兩種方法都存在缺點(diǎn)和優(yōu)點(diǎn),一些學(xué)者試圖把兩者結(jié)合起來進(jìn)行圖像分割,隨著計算機(jī)處理能力的提高,越來越多的方法陸續(xù)的出現(xiàn),如基于彩色紋理圖像分割、紋理圖像分割。教學(xué)工具和實(shí)驗(yàn)手段也的到了很大的更新擴(kuò)展,從時域信號到頻域信號處理,使得近來的小波變換也開始在圖像分割中得到應(yīng)用。2.2圖像分割方法介紹2.2.1閾值的分割方法灰度閾值分割法是一種最常用的并行區(qū)域技術(shù),它是圖像分割中應(yīng)用數(shù)量最多一類[2]。閾值分割方法實(shí)際上是輸入圖像到輸出圖像其中,T為閾值,物體的圖像元素背景的圖像可以看出來,閾值的分割算法主要是確定閾值,主要能確定一個合適的閾值就能準(zhǔn)確的把圖像分割開來。確定了閾值以后,把閾值和像素點(diǎn)的灰度值比較在和像素分割可對各像素并行地進(jìn)行,分割所得出的結(jié)果是直接給出圖像的區(qū)域。計算簡單,運(yùn)算效率快,高是閾值分割的主要優(yōu)點(diǎn)。在重視運(yùn)算效率的場合,它得了廣泛的應(yīng)用。閾值有很多種處理技術(shù),有全局閾值,最佳閾值,自適應(yīng)閾值等。不同的問題需要選擇不同的閾值來確定。具體可以通過實(shí)驗(yàn)來去頂。如果給定了一張圖像,分析直方圖的來確定最佳的閾值方法。例如當(dāng)直放圖明顯呈現(xiàn)雙峰情況是,可以選擇兩個峰值的中心點(diǎn)最為最佳的閾值。下圖2.1(a)(b)分別為全局閾值和自適應(yīng)閾值分割結(jié)果。(a)全局閾值(b)自適應(yīng)閾值圖2.1全局閥值與自適應(yīng)閥值2.2.2基于區(qū)域分割方法區(qū)域分割方法有兩種,一種是區(qū)域生長,一種是區(qū)域分裂合并。把具有相似性質(zhì)的像素集合起來構(gòu)成區(qū)域,這就是區(qū)域生長。詳細(xì)的思想是先對每一個所要分割的區(qū)域找到一個種子像素來作為所生長的起始點(diǎn),根據(jù)某種實(shí)現(xiàn)確定的生長或者相似準(zhǔn)則來判定種子像素周圍于種子像素有相同或相似性質(zhì)的像素合并到像素所在的區(qū)域中。得到的新像素后,在把這些像素當(dāng)做新的像素種子,來繼續(xù)上一步的過程。一直執(zhí)行到?jīng)]有符合條件的像素可以被包括進(jìn)來。這樣就長成了一個區(qū)域。區(qū)域生長實(shí)現(xiàn)過程,需要選擇出一組能夠正確代表區(qū)域的種子像素,確定好在生長過程中的相同或者相似性準(zhǔn)則,其中相似或者相同準(zhǔn)則可以使灰度,彩色,紋理,梯度等特性。再指定一個讓生長停止的準(zhǔn)則條件。所選取出來的種子像素可以使單個像素,也可以是包含若干個像素的小區(qū)域。根據(jù)不同的原則來指定不同的生長準(zhǔn)則,使用不同的生長準(zhǔn)則,在生長的過程中會受到生長準(zhǔn)則的影響。區(qū)域生長的主要優(yōu)點(diǎn)是計算簡單,在對較均勻的連通目標(biāo)有很好的分割效果。而缺點(diǎn)是需要人為的去確定種子像素,對噪聲相當(dāng)敏感,可能會導(dǎo)致區(qū)域中出現(xiàn)空洞。此外。它還是一種串行的算法,如果計算的目標(biāo)過于龐大,分割速度就會大大的減慢,因此在設(shè)計算法時,最好能提高它的計算效率。下圖為區(qū)域生長分割的一個結(jié)果。圖2.2區(qū)域生長分割結(jié)果區(qū)域的分裂合并可以說是區(qū)域生長的逆過程:從整個的圖像出發(fā),不斷的分裂圖像來得到各個子區(qū)域,然后把前景區(qū)域合并,來實(shí)現(xiàn)目標(biāo)提取。假設(shè)對一幅圖,前景區(qū)域是由一些互相連通的像素組成的。如果把一副圖像分裂到像素級,那就可以判定出該像素是否就是前景像素。當(dāng)判斷完所有的像素點(diǎn)或子區(qū)域,在把前景區(qū)域或者像素合并就能得到前景目標(biāo)。這種方法在使用中,最常見的是四叉樹分解法,下圖為四叉樹分解效果圖。圖2.3四叉樹分解效果圖2.2.3基于邊緣的圖像分割基于圖像邊緣信息的分割方法是最古老,也是仍然很重要的一類圖像分割方法[6].它主要作用是通過對于邊緣的檢測,檢測灰度級或者結(jié)構(gòu)具有突變的地方,表明一個區(qū)域的終結(jié),也是另一個區(qū)域開始的地方。邊緣檢測的結(jié)果是不能作為圖像分割的結(jié)果。還需要進(jìn)一步的處理,將邊緣點(diǎn)沿著邊界(輪廓)連接起來。最終的目的至少是達(dá)到部分分割,也就是將局部的邊緣組成一個目標(biāo)或部件的邊界。1.基于邊緣的分割方法經(jīng)常遇到的幾個問題:2.圖像噪聲和背景的影響。3.不是邊界的地方出現(xiàn)邊緣點(diǎn)。4.是邊界的地方缺少邊緣點(diǎn)。(a)原始圖片(b)邊緣圖片圖2.4邊緣檢測原始及邊緣圖(c)邊緣伸張后的圖片圖2.4邊緣檢測效果圖2.2.4基于聚類分析的圖像分割方法隨著科學(xué)的不斷發(fā)展,提出了許多對于圖像分割的新理論和新方法,隨著出現(xiàn)了一些特定的理論,方法相結(jié)合的圖像分割方法,而聚類分析就屬于其中一種。聚類法屬于多遠(yuǎn)統(tǒng)計分析,它可在沒有訓(xùn)練樣本的情況下,自己根據(jù)數(shù)據(jù)集內(nèi)在的結(jié)構(gòu),按照數(shù)據(jù)在樣本空間中相似性和相似性測量準(zhǔn)則來對數(shù)據(jù)進(jìn)行自動劃分和歸類,使得同一類內(nèi)的樣本具有相同或者相近的屬性,對于屬性的不同類的樣本屬相差別會很大。K均值聚類是一種基本的聚類方法,既有結(jié)構(gòu)明確,通用性好和分割快速的優(yōu)點(diǎn),但是他也存在優(yōu)化分割陷入局部極小值的問題。1974年Dunn提出了模式形式K均值聚類算法,既模糊C均值聚類算法[8]。Bezdek在1981年證明了模糊C均值的收斂性[9]并討論了模糊C均值類算法與K均值聚類算法的關(guān)系,并進(jìn)一步擴(kuò)展和建立模糊聚類理論。2.2.5基于模糊集理論的分割方法模糊集理論有描述不確定的能力,常用于圖像分割的問題。近年來,涌現(xiàn)出很多模糊分割技術(shù),已經(jīng)廣泛的應(yīng)用到圖像分割當(dāng)中。因?yàn)槟:夹g(shù)在圖像分割中有一個突出的優(yōu)點(diǎn),它能和現(xiàn)有的很多圖像分割方法互相結(jié)合在一起,形成一系列的集成模糊分割技術(shù)。模糊分割技術(shù)有很多類,比如模糊聚類,模糊閾值,模糊邊緣檢測技術(shù)之類的。3分水嶺圖像分割算法分水嶺算法其實(shí)就是對于整體形態(tài)進(jìn)行分割的算法,是對圖像做梯度分割處理。這樣處理的目的是要將圖像分割成不同類型的特殊個體,來分析物體的邊緣灰度變化情況。梯度分割處理可以很好的描述圖像中物體邊緣的灰度變化情況。所以,先將原始圖像進(jìn)行對物體邊緣的檢測來得到梯度圖像,在用分水嶺算法對梯度圖像進(jìn)行分割。在進(jìn)行圖像分析,從而達(dá)到分割圖像的效果和目的。3.1分水嶺算法原理分水嶺算法是一種基于拓?fù)淅碚摰臄?shù)學(xué)形態(tài)學(xué)得分割方法,其基本思想是把圖像看做是測地學(xué)上的拓?fù)涞孛?,圖像中每個一像素灰度值表示該點(diǎn)得海拔高度,每一個局部極小的值及其影響區(qū)域稱為集盆,而集水盆的邊界則形成分水嶺[10]。它可以將圖像分割為互不重疊區(qū)域,得到一個象素寬度且連續(xù)的邊界,其應(yīng)用對象是灰度梯度圖像,梯度圖像可有Canny算子在灰度圖像上得到[11]。Vincent和Soille提出的浸沒模擬分水嶺算法是根據(jù)自然界中水浸沒的規(guī)律,即地形處于低洼的地段先被浸沒。[12]分水嶺算法主要包含了兩個步驟。第一步:將圖像進(jìn)行處理,在將處理的圖像像素灰度值的大小按照升序排列出來;第二步:對排序處的順序進(jìn)行掃描,構(gòu)造出“集水盆地”,然后在不同標(biāo)記的“集水盆地”的邊緣構(gòu)造出“防水提壩”,來對圖像區(qū)域的初始化劃分處理。(如圖3.1.1(a)(b)所示)(a)“集水盆地”的構(gòu)造(b)“提壩”的構(gòu)造圖3.1分水嶺地貌圖3.2分水嶺算法特征分水嶺算法有多種實(shí)現(xiàn)方法,較典型的有基于標(biāo)記分水嶺變換和歐式距離映射法。所謂標(biāo)記分水嶺變換就是從給定圖片的全局極小值點(diǎn)開始,假設(shè)當(dāng)前的值是,其中每個極小值小于或者等于的集水盆會被分配到唯一的標(biāo)記,對于當(dāng)前值是的像素,如果跟它相鄰得區(qū)域中已經(jīng)有了被標(biāo)記過的像素,就分配一個相同的標(biāo)記給它,如果它周圍沒有一個像素被標(biāo)記過。就把這個未標(biāo)記過的像素當(dāng)成一個新的集水盆,并且給它一個新的標(biāo)記。重復(fù)的進(jìn)行標(biāo)記,一直標(biāo)記到圖像中所有的像素都配分配到某一個集水盆(就是屬于某個對象區(qū)域?yàn)橹梗?。?biāo)記分水嶺變換則完成。歐式距離映射法,則是通過對二值圖像的腐蝕,就是計算各個像素的歐式距離映射(EuclideanDistanccMaps.EDM)從而生成EDM圖像,然后用該圖像作為拓?fù)浔砻妫又鴮ζ渌袼氐娜≈祦碜鳛楂@得分割結(jié)果的判斷。EMD圖像從最亮的值開始,知道迭代遞減到1,然后重復(fù)運(yùn)算直到除了邊界線以外所有的像素都被填充為止。傳統(tǒng)的分水嶺算法都是對梯度圖像進(jìn)行無標(biāo)記的分割,這樣會造成過分的分割。本文采用對分割區(qū)域進(jìn)行標(biāo)記,使用標(biāo)記分水嶺算法。3.3梯度圖像獲取3.3.1圖像梯度的實(shí)現(xiàn).圖像邊緣一般都是通過對圖像進(jìn)行梯度運(yùn)算來實(shí)現(xiàn)的。圖3.2是使用Sobel算子所得到的梯度圖像。圖3.2灰度圖梯度圖3.3.2梯度圖像處理方法Sobel算子索貝爾算子(Sobeloperator)是圖像處理中的算子之一,主要用于圖像邊緣檢測。在技術(shù)上面,是一種離散性差分算子,它主要用來運(yùn)行算圖像亮度函數(shù)的梯度近似值。使用該算子對圖像的任和一個點(diǎn)計算,就會產(chǎn)長相對應(yīng)的梯度矢量或者是其法矢量。如果角度的值等于零的話,就代表圖像該處擁有縱向邊緣,左方向會比右方向暗一些。Sobel算子在邊緣檢測中,是一種常用的模版。該算子分為兩種,一種是檢測水平邊沿,一種是檢測垂直平邊沿的。跟“和”相比,該算子對像素為止的影響做出了加權(quán)處理,所以效果會更好。該算子還有一種各向同性Sobel算子,它也分為水平邊沿檢測和垂直平沿檢測兩種。它和普通的Sobel算子相比較,它的為止加權(quán)系數(shù)更加的準(zhǔn)確,不同方向的邊沿檢測時,梯度的幅值一致。Sobel算子的優(yōu)勢在于它是濾波算子形式,用于提取圖像邊緣,利用了快速卷積函數(shù),方法簡單有效,所以得到廣泛應(yīng)用。而它的缺點(diǎn)在于該算子沒有能把圖像的主體和背景嚴(yán)格的劃分出來。就是說該算子沒有對于圖像的灰度進(jìn)行處理,由于該算子沒有嚴(yán)格的模擬人得視覺勝利特征來處理圖像,所以提取出來的圖像輪廓有些時候并不能得到人們的滿意。Canny算子坎尼(Canny)邊緣檢測算子廣泛的應(yīng)用于灰度圖像中。坎尼根據(jù)邊緣檢測的有效性和定位的可靠性,研究出了最優(yōu)秀的邊緣檢測器所需要的特征,推導(dǎo)出了最優(yōu)邊緣檢測器的數(shù)學(xué)表達(dá)式。在不同類型的邊緣中,坎尼的邊緣檢測算子是最好形式是不相同的。在一維邊緣檢測中,由于一階導(dǎo)數(shù)算子的最大值和M-H算子的零交叉是一直的,所以坎尼邊緣檢測跟M-N邊緣檢測幾乎是一樣的。但是在二維檢測中,坎尼算子的方向性質(zhì)使得邊緣檢測的定位性能要比M-H算子好很多,能更好的邊緣強(qiáng)度估計,并且能產(chǎn)生邊緣梯度方向和強(qiáng)度兩個信息,因此后續(xù)更為方便。衡量邊緣檢測性能優(yōu)劣有三個指標(biāo)坎尼首次把三點(diǎn)判據(jù)用數(shù)學(xué)的形式表示出來,在采用最優(yōu)化數(shù)值方法,從而能得到對應(yīng)給定邊緣類型的最佳邊緣檢測模版。在二維圖像中,必須要使用若干個方向的模版分別對圖像作卷積處理,然后取得最有可能的邊緣方向。對于階躍行的邊緣,坎尼推導(dǎo)出的最優(yōu)邊緣檢測器的形狀和高斯函數(shù)的一階導(dǎo)數(shù)相似。利用二維高斯函數(shù)的圓對稱行和可分解性,我們就可以非常容易的來計算高斯函數(shù)在任和一個方向上的方向?qū)?shù)和圖像的卷積。所以,實(shí)際應(yīng)用中可以選擇高斯函數(shù)的一屆導(dǎo)數(shù)來作為階躍形式邊緣的次最優(yōu)檢測算子。3.4標(biāo)記對象分水嶺算法對梯度圖像強(qiáng)度的變化非常敏感,所以在用分水嶺算法得到分割結(jié)果的時候往往會存在過分分割現(xiàn)象,因此通常要分別對前景對象和背景對象進(jìn)行標(biāo)記,來獲得更加完善的效果。獲得前景標(biāo)記的方法有很多種,這些標(biāo)記都必須是前景對象的內(nèi)部鏈接的斑點(diǎn)像素。本文中,將采用形態(tài)學(xué)技術(shù)“基于開的重建”和“基于閉的重建”來清理圖像。將會對于每個對象內(nèi)部創(chuàng)建單位極大值,使用imregionalmax命令來定位。所謂開運(yùn)算,就是先腐蝕后膨脹,它可以把比結(jié)構(gòu)元素小的突刺過濾掉,在切斷細(xì)長的搭接二起到分離作用。閉運(yùn)算是先膨脹后腐蝕,它可以把比結(jié)構(gòu)元素小的缺口或孔填充上,大街較短的間隔來起到連接作用。這兩種算法主要功能是去除比結(jié)構(gòu)元素小的特定圖像細(xì)節(jié),同時來保證不產(chǎn)生全局的幾何失真。4分水嶺算法實(shí)現(xiàn)4.1分水嶺算法實(shí)現(xiàn)流程分水嶺算法在MATLAB上實(shí)現(xiàn)的基本步驟有以下幾步:1.讀入彩色圖像,并轉(zhuǎn)化為灰度圖像。2.運(yùn)用Sobel算子獲得梯度幅值圖像。3.前景標(biāo)記對象和計算。4.計算背景標(biāo)記。5.計算分割函數(shù)的分水嶺變換。圖4.1基于分水嶺算法實(shí)現(xiàn)流程圖4.2程序代碼clc;clearall;closeall;rgb=imread('pinguo.jpg');ifndims(rgb)==3I=rgb2gray(rgb);elseI=rgb;endfigure('units','normalized','position',[0011]);subplot(1,2,1);imshow(rgb);title('原圖');subplot(1,2,2);imshow(I);title('灰度圖');hy=fspecial('sobel');hx=hy';Iy=imfilter(double(I),hy,'replicate');Ix=imfilter(double(I),hx,'replicate');gradmag=sqrt(Ix.^2+Iy.^2);figure('units','normalized','position',[0011]);subplot(1,2,1);imshow(I,[]),title('灰度圖像')subplot(1,2,2);imshow(gradmag,[]),title('梯度幅值圖像')se=strel('disk',20);Io=imopen(I,se);figure('units','normalized','position',[0011]);subplot(1,2,1);imshow(I,[]);title('灰度圖像');subplot(1,2,2);imshow(Io),title('圖像開操作')Ie=imerode(I,se);Iobr=imreconstruct(Ie,I);figure('units','normalized','position',[0011]);subplot(1,2,1);imshow(I,[]);title('灰度圖像');subplot(1,2,2);imshow(Iobr,[]),title('基于開的重建圖像');Ioc=imclose(Io,se);Ic=imclose(I,se);figure('units','normalized','position',[0011]);subplot(2,2,1);imshow(I,[]);title('灰度圖像');subplot(2,2,2);imshow(Io,[]);title('開操作圖像');subplot(2,2,3);imshow(Ic,[]);title('閉操作圖像');subplot(2,2,4);imshow(Ioc,[]),title('開閉操作');Iobrd=imdilate(Iobr,se);Iobrcbr=imreconstruct(imcomplement(Iobrd),imcomplement(Iobr));Iobrcbr=imcomplement(Iobrcbr);figure('units','normalized','position',[0011]);subplot(2,2,1);imshow(I,[]);title('灰度圖像');subplot(2,2,2);imshow(Ioc,[]);title('開閉操作');subplot(2,2,3);imshow(Iobr,[]);title('基于開的重建圖像');subplot(2,2,4);imshow(Iobrcbr,[]),title('基于閉的重建圖像');fgm=imregionalmax(Iobrcbr);figure('units','normalized','position',[0011]);subplot(1,3,1);imshow(I,[]);title('灰度圖像');subplot(1,3,2);imshow(Iobrcbr,[]);title('基于重建的開閉操作');subplot(1,3,3);imshow(fgm,[]);title('局部極大圖像')It1=rgb(:,:,1);It2=rgb(:,:,2);It3=rgb(:,:,3);It1(fgm)=255;It2(fgm)=0;It3(fgm)=0;I2=cat(3,It1,It2,It3);figure('units','normalized','position',[0011]);subplot(2,2,1);imshow(rgb,[]);title('原圖像');subplot(2,2,2);imshow(Iobrcbr,[]);title('基于重建的開閉操作');subplot(2,2,3);imshow(fgm,[]);title('局部極大圖像');subplot(2,2,4);imshow(I2);title('局部極大疊加到原圖像');se2=strel(ones(5,5));fgm2=imclose(fgm,se2);fgm3=imerode(fgm2,se2);figure('units','normalized','position',[0011]);subplot(2,2,1);imshow(Iobrcbr,[]);title('基于重建的開閉操作');subplot(2,2,2);imshow(fgm,[]);title('局部極大圖像');subplot(2,2,3);imshow(fgm2,[]);title('閉操作');subplot(2,2,4);imshow(fgm3,[]);title('腐蝕操作');fgm4=bwareaopen(fgm3,20);It1=rgb(:,:,1);It2=rgb(:,:,2);It3=rgb(:,:,3);It1(fgm4)=255;It2(fgm4)=0;It3(fgm4)=0;I3=cat(3,It1,It2,It3);figure('units','normalized','position',[0011]);subplot(2,2,1);imshow(I2,[]);title('局部極大疊加到原圖像');subplot(2,2,2);imshow(fgm3,[]);title('閉腐蝕操作');subplot(2,2,3);imshow(fgm4,[]);title('去除小斑點(diǎn)操作');subplot(2,2,4);imshow(I3,[]);title('修改局部極大疊加到原圖像');bw=im2bw(Iobrcbr,graythresh(Iobrcbr));figure('units','normalized','position',[0011]);subplot(1,2,1);imshow(Iobrcbr,[]);title('基于重建的開閉操作');subplot(1,2,2);imshow(bw,[]);title('閾值分割');D=bwdist(bw);DL=watershed(D);bgm=DL==0;figure('units','normalized','position',[0011]);subplot(2,2,1);imshow(Iobrcbr,[]);title('基于重建的開閉操作');subplot(2,2,2);imshow(bw,[]);title('閾值分割');subplot(2,2,3);imshow(label2rgb(DL),[]);title('分水嶺變換示意圖');subplot(2,2,4);imshow(bgm,[]);title('分水嶺變換脊線圖');gradmag2=imimposemin(gradmag,bgm|fgm4);figure('units','normalized','position',[0011]);subplot(2,2,1);imshow(bgm,[]);title('分水嶺變換脊線圖');subplot(2,2,2);imshow(fgm4,[]);title('前景標(biāo)記');subplot(2,2,3);imshow(gradmag,[]);title('梯度幅值圖像');subplot(2,2,4);imshow(gradmag2,[]);title('修改梯度幅值圖像');5仿真結(jié)果及分析第一步:讀入圖片,將圖片轉(zhuǎn)化為灰度圖像。clc;clearall;closeall;rgb=imread('pinguo.jpg');ifndims(rgb)==3I=rgb2gray(rgb);elseI=rgb;endfigure('units','normalized','position',[0011]);subplot(1,2,1);imshow(rgb);title('原圖');subplot(1,2,2);imshow(I);title('灰度圖');(a)原圖(b)灰度圖圖5.1原圖圖的灰度處理第二步:做梯度幅值圖像。使用Sobel邊緣算子對圖像進(jìn)行水平和垂直方向的濾波,然后求取模值,sobel算子濾波后的圖像在邊界處會顯示比較大的值,在沒有邊界處的值會很小hy=fspecial('sobel');hx=hy';Iy=imfilter(double(I),hy,'replicate');Ix=imfilter(double(I),hx,'replicate');gradmag=sqrt(Ix.^2+Iy.^2);figure('units','normalized','position',[0011]);subplot(1,2,1);imshow(I,[]),title('灰度圖像')subplot(1,2,2);imshow(gradmag,[]),title('梯度幅值圖像')圖5.2梯度幅值圖像第三步:前景標(biāo)記對象和計算。如果直接使用梯度模值圖像進(jìn)行分水嶺算法話,得到的結(jié)果通常會存在過度分割的現(xiàn)象。所以本文采用分別對前景對象和背景對象進(jìn)行標(biāo)記,來獲得更好的分割效果。首先使用用imopen對圖像做開操作。se=strel('disk',20);Io=imopen(I,se);figure('units','normalized','position',[0011]);subplot(1,2,1);imshow(I,[]);title('灰度圖像');subplot(1,2,2);imshow(Io),title('圖像開操作')圖5..3圖像的開操作然后對通過腐蝕之后重建來做基于開的重建計算:Ie=imerode(I,se);Iobr=imreconstruct(Ie,I);figure('units','normalized','position',[0011]);subplot(1,2,1);imshow(I,[]);title('灰度圖像');subplot(1,2,2);imshow(Iobr,[]),title('基于開的重建圖像');圖5.4重建圖像開操作后,使用imclose移除較暗的斑點(diǎn)和枝干標(biāo)記。對比常規(guī)的形態(tài)學(xué)閉操作和基于閉的重建操作。Ioc=imclose(Io,se);Ic=imclose(I,se);figure('units','normalized','position',[0011]);subplot(2,2,1);imshow(I,[]);title('灰度圖像');subplot(2,2,2);imshow(Io,[]);title('開操作圖像');subplot(2,2,3);imshow(Ic,[]);title('閉操作圖像');subplot(2,2,4);imshow(Ioc,[]),title('開閉操作');圖5..5普通圖像開閉操作接著使用imdilate,然后使用imreconstruct。先對圖像求補(bǔ),對imreconstruct輸出圖像求補(bǔ)。Iobrd=imdilate(Iobr,se);Iobrcbr=imreconstruct(imcomplement(Iobrd),imcomplement(Iobr));Iobrcbr=imcomplement(Iobrcbr);figure('units','normalized','position',[0011]);subplot(2,2,1);imshow(I,[]);title('灰度圖像');subplot(2,2,2);imshow(Ioc,[]);title('開閉操作');subplot(2,2,3);imshow(Iobr,[]);title('基于開的重建圖像');subplot(2,2,4);imshow(Iobrcbr,[]),title('基于閉的重建圖像');圖5.6基于開閉重建圖像通過比較,基于重建的開閉操作比普通的開閉操作有效。下面計算Iobrcbr的局部極大來得到更好的前景標(biāo)記。fgm=imregionalmax(Iobrcbr);figure('units','normalized','position',[0011]);subplot(1,3,1);imshow(I,[]);title('灰度圖像');subplot(1,3,2);imshow(Iobrcbr,[]);title('基于重建的開閉操作');subplot(1,3,3);imshow(fgm,[]);title('局部極大圖像')圖5.7前景標(biāo)記疊加前景標(biāo)記到原圖上,更容易的理解這個結(jié)果。It1=rgb(:,:,1);It2=rgb(:,:,2);It3=rgb(:,:,3);It1(fgm)=255;It2(fgm)=0;It3(fgm)=0;I2=cat(3,It1,It2,It3);figure('units','normalized','position',[0011]);subplot(2,2,1);imshow(rgb,[]);title('原圖像');subplot(2,2,2);imshow(Iobrcbr,[]);title('基于重建的開閉操作');subplot(2,2,3);imshow(fgm,[]);title('局部極大圖像');subplot(2,2,4);imshow(I2);title('局部極大疊加到原圖像');圖5.8前景標(biāo)記到原圖通過閉操作和腐蝕操作來清理標(biāo)記斑點(diǎn)的邊緣,來解決大多閉塞處和陰影對象沒有被標(biāo)記,對象在結(jié)果中得不到合理的分割和一些對象的前景標(biāo)記會一直到對象的邊緣。se2=strel(ones(5,5));fgm2=imclose(fgm,se2);fgm3=imerode(fgm2,se2);figure('units','normalized','position',[0011]);subplot(2,2,1);imshow(Iobrcbr,[]);title('基于重建的開閉操作');subplot(2,2,2);imshow(fgm,[]);title('局部極大圖像');subplot(2,2,3);imshow(fgm2,[]);title('閉操作');subplot(2,2,4);imshow(fgm3,[]);title('腐蝕操作');圖5.9閉操作和腐蝕操作使用bwareaopen,來移除少于特定像素個數(shù)的斑點(diǎn)。BW2=bwareaopen(BW,P)從二值圖像中移除所以少于P像素值的連通塊,得到另外的二值圖像BW2。fgm4=bwareaopen(fgm3,20);It1=rgb(:,:,1);It2=rgb(:,:,2);It3=rgb(:,:,3);It1(fgm4)=255;It2(fgm4)=0;It3(fgm4)=0;I3=cat(3,It1,It2,It3);figure('units','normalized','position',[0011]);subplot(2,2,1);imshow(I2,[]);title('局部極大疊加到原圖像');subplot(2,2,2);imshow(fgm3,[]);title('閉腐蝕操作');subplot(2,2,3);imshow(fgm4,[]);title('去除小斑點(diǎn)操作');subplot(2,2,4);imshow(I3,[]);title('修改局部極大疊加到原圖像')圖5.10移出斑點(diǎn)第四步:計算背景標(biāo)記首先,在清理后的圖像Iobrcbr中,暗像素屬于背景,所以可以從閾值操作開始。bw=im2bw(Iobrcbr,graythresh(Iobrcbr));figure('units','normalized','position',[0011]);subplot(1,2,1);imshow(Iobrcbr,[]);title('基于重建的開閉操作');subplot(1,2,2);imshow(bw,[]);title('閾值分割');圖5.11閾值分割背景像素在黑色區(qū)域,在理想情形下,不需要要求背景標(biāo)記太接近于要分割的對象邊緣。一般計算“骨架影響范圍”來“細(xì)化”背景,或者SKIZ,bw的前景。這樣能通過計算bw的距離變換的分水嶺變換來實(shí)現(xiàn),然后尋找結(jié)果的分水嶺脊線(DL==0)。D=bwdist(BW)計算二值圖像BW的歐幾里得矩陣。對BW的每一個像素,距離變換指定像素和最近的BW非零像素的距離。bwdist默認(rèn)使用歐幾里得距離公式。BW可以由任意維數(shù),D與BW有同樣的大小。D=bwdist(bw);DL=watershed(D);bgm=DL==0;figure('units','normalized','position',[0011]);subplot(2,2,1);imshow(Iobrcbr,[]);title('基于重建的開閉操作');subplot(2,2,2);imshow(bw,[]);title('閾值分割');subplot(2,2,3);imshow(label2rgb(DL),[]);title('分水嶺變換示意圖');subplot(2,2,4);imshow(bgm,[]);title('分水嶺變換脊線圖');圖5.12分水嶺變化第五步:分水嶺變換的分割函數(shù)計算可以用imimposemin函數(shù)來修改圖像,讓它在特定的要求位置有局部極小。這一步中是用imimposemin來修改梯度幅值圖像,使得在前景和后景標(biāo)記像素有局部極小。gradmag2=imimposemin(gradmag,bgm|fgm4);figure('units','normalized','position',[0011]);subplot(2,2,1);imshow(bgm,[]);title('分水嶺變換脊線圖');subplot(2,2,2);imshow(fgm4,[]);title('前景標(biāo)記');subplot(2,2,3);imshow(gradmag,[]);title('梯度幅值圖像');subplot(2,2,4);imshow(gradmag2,[]);title('修改梯度幅值圖像');圖5.13修改梯度幅值圖像結(jié)論本文提出了分水嶺圖像分割算法對圖像進(jìn)行分割的方法、梯度分割的方法以及區(qū)域合并的方法。先對圖像進(jìn)行灰度圖像的轉(zhuǎn)化,在進(jìn)行梯度分割,構(gòu)造出區(qū)域連接圖和最小生成樹,然后對他們整合。并作出了實(shí)驗(yàn)結(jié)果。在圖像的處理上,圖像分割一直是至關(guān)重要的技術(shù)。隨著科技的進(jìn)步,以及人們對圖像分割的探索,使得圖像分割技能越來越完善,處理圖像的方法越來越多。達(dá)到處理圖像的目標(biāo)越來越精確。但是這還是圖像處理上的一個重要難題。需要我們不停地去探索。來完善這一技術(shù)。讓圖像分割更好的能在各個領(lǐng)域上運(yùn)用。參考文獻(xiàn)[1]陳婷婷,采用模糊形態(tài)學(xué)和分水嶺算法的圖像分割研究[D],西南大學(xué),2008,94-96[2]MilanSonka,VadavHhvac,RogerBoyle£.ImageProcessing,Amdy-sis,andMachineVision[M].人民郵電出版社。2003,45-46[3]宋健中?;谶吘増D像分割,《視頻圖像處理》,2004,16-18[4]J.Bezdek.Pattemrecognitionwithfuzzyobjectivefunctionalgorithms[M].Plenum,NewYork,1981.[5]J.Bezdek.Aconvergencetheorem.forthefuzzyISODATAclusteringalgorithm[j].IEEEPAMI,1980,1(2):1-8[6]CONZALEZRC;WOODSREDigitalimageprocessing[M].2ndedNewYork:PrenticeHall,2002[7]CANNY.AComputationalApproachtoEdgeDetection[J].IEEETransactionsonPatternAnalysisandMachineIntelligence,1986,8(6):679-698[8]VNCENTL,SOLLEP.Watershedindigitalspace:anefficientalgorithmbasedonimmersionsimulation[J].IEEETransactionsonPatternAnalysisandMachineIntelligence1991,(13):583-589[9]唐金尤,范彥斌,姚錫凡.基于分水嶺算法的彩色圖像分割.佛山科學(xué)技術(shù)學(xué)院學(xué)報(自然科學(xué)版),2006.第24卷第1期,2-3目錄目錄第一章總論 1一、項目概述 1二、可行性研究報告編制依據(jù)和范圍 2三、項目主要經(jīng)濟(jì)技術(shù)指標(biāo) 3四、******國家森林公園概況 3第二章項目背景及必要性 8一、項目背景 8二、項目建設(shè)的必要性與可行性 10第三章項目選址分析 13一、項目選址 13二、項目城市概況 13三、經(jīng)濟(jì)發(fā)展概況 14四、公共設(shè)施依托條件及施工條件
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年工程地質(zhì)三維建模的行業(yè)標(biāo)準(zhǔn)
- 2026年地質(zhì)三維建模在災(zāi)害預(yù)警中的應(yīng)用
- 2026上半年貴州事業(yè)單位聯(lián)考正安縣招聘65人筆試備考試題及答案解析
- 2026年購房者行為模式的變化分析
- 2026年自清潔建筑材料的創(chuàng)新與應(yīng)用案例
- 2025年海南省行政管理崗筆試及答案
- 2025年孝南人事考試及答案
- 2026山東濰坊市公立三甲醫(yī)院病房護(hù)士招聘16人考試備考題庫及答案解析
- 2025年裸考教資筆試題目及答案
- 2025年招聘筆試往年真題及答案
- 施工總平面布置圖范本
- 嬰幼兒輔食添加及食譜制作
- 安全生產(chǎn)標(biāo)準(zhǔn)化對企業(yè)的影響安全生產(chǎn)
- 關(guān)于若干歷史問題的決議(1945年)
- 畢業(yè)論文8000字【6篇】
- 隨訪管理系統(tǒng)功能參數(shù)
- SH/T 0362-1996抗氨汽輪機(jī)油
- GB/T 23280-2009開式壓力機(jī)精度
- GB/T 17213.4-2015工業(yè)過程控制閥第4部分:檢驗(yàn)和例行試驗(yàn)
- FZ/T 73009-2021山羊絨針織品
- GB∕T 5900.2-2022 機(jī)床 主軸端部與卡盤連接尺寸 第2部分:凸輪鎖緊型
評論
0/150
提交評論