腐蝕膨脹算法詳細(xì)解釋_第1頁(yè)
腐蝕膨脹算法詳細(xì)解釋_第2頁(yè)
腐蝕膨脹算法詳細(xì)解釋_第3頁(yè)
腐蝕膨脹算法詳細(xì)解釋_第4頁(yè)
腐蝕膨脹算法詳細(xì)解釋_第5頁(yè)
已閱讀5頁(yè),還剩3頁(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)介

1、形態(tài)學(xué)運(yùn)算中腐蝕,膨脹,開運(yùn)算和閉運(yùn)算(針對(duì)二值圖而言)6.1腐蝕腐蝕是一種消除邊界點(diǎn),使邊界向內(nèi)部收縮的過(guò)程??梢杂脕?lái)消除小且無(wú)意義的物體。腐蝕的算法:用3x3的結(jié)構(gòu)元素,掃描圖像的每一個(gè)像素用結(jié)構(gòu)元素與其覆蓋的二值圖像做與"操作如果都為1,結(jié)果圖像的該像素為1。否則為0。結(jié)果:使二值圖像減小一圈把結(jié)構(gòu)元素B平移a后得到Ba,若Ba包含于X,我們記下這個(gè)a點(diǎn),所有滿足上述條件的a點(diǎn)組成的集合稱做X被B腐蝕(Erosion)的結(jié)果。用公式表示為:E(X)=a|BaX=X©B,如圖6.8所示。圖6.8腐蝕的示意圖圖6.8中X是被處理的對(duì)象,B是結(jié)構(gòu)元素。不難知道,對(duì)于任意一個(gè)

2、在陰影部分的點(diǎn)a,Ba包含于X,所以X被B腐蝕的結(jié)果就是那個(gè)陰影部分。陰影部分在X的范圍之內(nèi),且比X小,就象X被剝掉了一層似的,這就是為什么叫腐蝕的原因。值得注意的是,上面的B是對(duì)稱的,即B的對(duì)稱集Bv=B,所以X被B腐蝕的結(jié)果和X被Bv腐蝕的結(jié)果是一樣的。如果B不是對(duì)稱的,讓我們看看圖6.9,就會(huì)發(fā)現(xiàn)X被B腐蝕的結(jié)果和X被Bv腐蝕的結(jié)果不同。圖6.9結(jié)構(gòu)元素非對(duì)稱時(shí),腐蝕的結(jié)果不同圖6.8和圖6.9都是示意圖,讓我們來(lái)看看實(shí)際上是怎樣進(jìn)行腐蝕運(yùn)算的。在圖6.10中,左邊是被處理的圖象X(二值圖象,我們針對(duì)的是黑點(diǎn)),中間是結(jié)構(gòu)元素B,那個(gè)標(biāo)有origin的點(diǎn)是中心點(diǎn),即當(dāng)前處理元素的位置,我

3、們?cè)诮榻B模板操作時(shí)也有過(guò)類似的概念。腐蝕的方法是,拿B的中心點(diǎn)和X上的點(diǎn)一個(gè)一個(gè)地對(duì)比,如果B上的所有點(diǎn)都在X的范圍內(nèi),則該點(diǎn)保留,否則將該點(diǎn)去掉;右邊是腐蝕后的結(jié)果??梢钥闯觯栽谠瓉?lái)X的范圍內(nèi),且比X包含的點(diǎn)要少,就象X被腐蝕掉了一層。圖6.10腐蝕運(yùn)算圖6.11為原圖,圖6.12為腐蝕后的結(jié)果圖,能夠很明顯地看出腐蝕的效果。HiJ'mphoenix.Gladtomeetu.圖6.11原圖HiJmphoenix,Gladtomeetu.圖6.12腐蝕后的結(jié)果圖下面的這段程序,實(shí)現(xiàn)了上述的腐蝕運(yùn)算,針對(duì)的都是黑色點(diǎn)。參數(shù)中有一個(gè)BOOL變量,為真時(shí),表示在水平方向進(jìn)行腐蝕運(yùn)算,即結(jié)

4、構(gòu)元素B為ILI;否則在垂直方向上丁1進(jìn)行腐蝕運(yùn)算,即結(jié)構(gòu)元素B為U.。6.2膨脹膨脹是將與物體接觸的所有背景點(diǎn)合并到該物體中,使邊界向外部擴(kuò)張的過(guò)程??梢杂脕?lái)填補(bǔ)物體中的空洞。膨脹的算法:用3x3的結(jié)構(gòu)元素,掃描圖像的每一個(gè)像素用結(jié)構(gòu)元素與其覆蓋的二值圖像做或"操作如果都為0,結(jié)果圖像的該像素為0。否則為1結(jié)果:使二值圖像擴(kuò)大一圈膨脹(dilation)可以看做是腐蝕的對(duì)偶運(yùn)算,其定義是:把結(jié)構(gòu)元素B平移a后得到Ba,若Ba擊中X,我們記下這個(gè)a點(diǎn)。所有滿足上述條件的a點(diǎn)組成的集合稱做X被B膨脹的結(jié)果。用公式表示為:D(X)=a|BaTX=X+B,如圖6.13所示。圖6.13中X是

5、被處理的對(duì)象,B是結(jié)構(gòu)元素,不難知道,對(duì)于任意一個(gè)在陰影部分的點(diǎn)a,Ba擊中X,所以X被B膨脹的結(jié)果就是那個(gè)陰影部分。陰影部分包括X的所有范圍,就象X膨脹了一圈似的,這就是為什么叫膨脹的原因。同樣,如果B不是對(duì)稱的,X被B膨脹的結(jié)果和X被Bv膨脹的結(jié)果不同。讓我們來(lái)看看實(shí)際上是怎樣進(jìn)行膨脹運(yùn)算的。在圖6.14中,左邊是被處理的圖象X(二值圖象,我們針對(duì)的是黑點(diǎn)),中間是結(jié)構(gòu)元素Bo膨脹的方法是,拿B的中心點(diǎn)和X上的點(diǎn)及X周圍的點(diǎn)一個(gè)一個(gè)地對(duì),如果B上有一個(gè)點(diǎn)落在X的范圍內(nèi),則該點(diǎn)就為黑;右邊是膨脹后的結(jié)果??梢钥闯?,它包括X的所有范圍,就象X膨脹了一圈似的。圖6.13膨脹的示意圖圖6.14膨脹

6、運(yùn)算圖6.15為圖6.11膨脹后的結(jié)果圖,能夠很明顯的看出膨脹的效果。HiJ'mphoenix.Gladtomeetu.圖6.15圖6.11膨脹后的結(jié)果圖下面的這段程序,實(shí)現(xiàn)了上述的膨脹運(yùn)算,針對(duì)的都是黑色點(diǎn)。參數(shù)中有一個(gè)BOOL變量,為真時(shí),表示在水平方向進(jìn)行膨脹運(yùn)算,即結(jié)構(gòu)元素B為1上I否則在垂直方1向上進(jìn)行膨脹運(yùn)算,即結(jié)構(gòu)元素B為U6.3開運(yùn)算先腐蝕后膨脹的過(guò)程稱為開運(yùn)算。用來(lái)消除小物體、在纖細(xì)點(diǎn)處分離物體、平滑較大物體的邊界的同時(shí)并不明顯改變其面積。先腐蝕后膨脹稱為開(open),即OPEN(X)=D(E(X)。讓我們來(lái)看一個(gè)開運(yùn)算的例子(見圖6.16):圖6.16開運(yùn)算在圖1

7、6上面的兩幅圖中,左邊是被處理的圖象X(二值圖象,我們針對(duì)的是黑點(diǎn)),右邊是結(jié)構(gòu)元素B,下面的兩幅圖中左邊是腐蝕后的結(jié)果;右邊是在此基礎(chǔ)上膨脹的結(jié)果??梢钥吹?,原圖經(jīng)過(guò)開運(yùn)算后,一些孤立的小點(diǎn)被去掉了。一般來(lái)說(shuō),開運(yùn)算能夠去除孤立的小點(diǎn),毛刺和小橋(即連通兩塊區(qū)域的小點(diǎn)),而總的位置和形狀不變。這就是開運(yùn)算的作用。要注意的是,如果B是非對(duì)稱的,進(jìn)行開運(yùn)算時(shí)要用B的對(duì)稱集Bv膨脹,否則,開運(yùn)算的結(jié)果和原圖相比要發(fā)生平移。圖6.17和圖6.18能夠說(shuō)明這個(gè)問(wèn)題。圖6.17用B膨脹后,結(jié)果向左平移了圖6.18用Bv膨脹后位置不變可以看到,圖6.17是用B膨脹的,可以看到,OPEN(X)向左平移了。圖

8、18是用Bv膨脹的,總的位置和形狀不變。圖6.19為圖6.11經(jīng)過(guò)開運(yùn)算后的結(jié)果。phoenixGladtomeetu<圖6.19圖6.11經(jīng)過(guò)開運(yùn)算后的結(jié)果開運(yùn)算的源程序可以很容易的根據(jù)上面的腐蝕,膨脹程序得到,這里就不給出了。6.4閉運(yùn)算先膨脹后腐蝕稱為閉(close),即CLOSE(X)=E(D(X)讓我們來(lái)看一個(gè)閉運(yùn)算的例子(見圖6.20):圖6.20閉運(yùn)算在圖6.20上面的兩幅圖中,左邊是被處理的圖象X(二值圖象,我們針對(duì)的是黑點(diǎn)),右邊是結(jié)構(gòu)元素B,下面的兩幅圖中左邊是膨脹后的結(jié)果,右邊是在此基礎(chǔ)上腐蝕的結(jié)果可以看到,原圖經(jīng)過(guò)閉運(yùn)算后,斷裂的地方被彌合了。一般來(lái)說(shuō),閉運(yùn)算能夠

9、填平小湖(即小孔),彌合小裂縫,而總的位置和形狀不變。這就是閉運(yùn)算的作用。同樣要注意的是,如果B是非對(duì)稱的,進(jìn)行閉運(yùn)算時(shí)要用B的對(duì)稱集Bv膨脹,否則,閉運(yùn)算的結(jié)果和原圖相比要發(fā)生平移。Hi,Pmphoenix,Gladtomeetu.圖6.21圖.611經(jīng)過(guò)閉運(yùn)算后的結(jié)果閉運(yùn)算的源程序可以很容易的根據(jù)上面的膨脹,腐蝕程序得到,這里就不給出了。你大概已經(jīng)猜到了,開和閉也是對(duì)偶運(yùn)算,的確如此。用公式表示為(OPEN(X)c=CLOSE(Xc),或者(CLOSE(X)c=OPEN(Xc)。即X開運(yùn)算的補(bǔ)集等于X的補(bǔ)集的閉運(yùn)算,或者X閉運(yùn)算的補(bǔ)集等于X的補(bǔ)集的開運(yùn)算。這句話可以這樣來(lái)理解:在兩個(gè)小島之

10、間有一座小橋,我們把島和橋看做是處理對(duì)象X,則X的補(bǔ)集為大海。如果漲潮時(shí)將小橋和島的外圍淹沒(méi)(相當(dāng)于用尺寸比橋?qū)挻蟮慕Y(jié)構(gòu)元素對(duì)X進(jìn)行開運(yùn)算),那么兩個(gè)島的分隔,相當(dāng)于小橋兩邊海域的連通(對(duì)Xc做閉運(yùn)算)。6.5細(xì)化運(yùn)算細(xì)化(thinning)算法有很多,我們?cè)谶@里介紹的是一種簡(jiǎn)單而且效果很好的算法,用它就能夠?qū)崿F(xiàn)從文本抽取骨架的功能。我們的對(duì)象是白紙黑字的文本,但在程序中為了處理的方便,還是采用256級(jí)灰度圖,不過(guò)只用到了調(diào)色板中0和255兩項(xiàng)。所謂細(xì)化,就是從原來(lái)的圖中去掉一些點(diǎn),但仍要保持原來(lái)的形狀。實(shí)際上,是保持原圖的骨架。所謂骨架,可以理解為圖象的中軸,例如一個(gè)長(zhǎng)方形的骨架是它的長(zhǎng)方向

11、上的中軸線;正方形的骨架是它的中心點(diǎn);圓的骨架是它的圓心,直線的骨架是它自身,孤立點(diǎn)的骨架也圖6.22根據(jù)某點(diǎn)的八個(gè)相鄰點(diǎn)的情況來(lái)判斷該點(diǎn)是否能刪除圖6.23經(jīng)過(guò)細(xì)化后,我們預(yù)期的結(jié)果是一條水平直線,且位于該黑色矩形的中心。實(shí)際的結(jié)果確實(shí)是一條水平直線,但不是位于黑色矩形的中心,而是最下面的一條邊。為什么會(huì)這樣,我們來(lái)分析一下:在從上到下,從左到右的掃描過(guò)程中,我們遇到的第一個(gè)黑點(diǎn)就是黑色矩形的左上角點(diǎn),經(jīng)查表,該點(diǎn)可以刪。下一個(gè)點(diǎn)是它右邊的點(diǎn),經(jīng)查表,該點(diǎn)也可以刪,如此下去,整個(gè)一行被刪了。每一行都是同樣的情況,所以都被刪除了。到了最后一行時(shí),黑色矩形已經(jīng)變成了一條直線,最左邊的黑點(diǎn)不能刪,因?yàn)樗侵本€的端點(diǎn),它右邊的點(diǎn)也不能刪,因?yàn)槿绻麆h除,直線就斷了,如此下去,直到最右邊的點(diǎn),也不能刪,因?yàn)樗侵本€的右端點(diǎn)。所以最下面的一條邊保住了,但這并不是我們希望的結(jié)果。解決的辦法是

溫馨提示

  • 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)論