




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第6章形態學圖像處理(第9章)MorphologicalImageProcessing利用數學形態學進行圖像處理
主要內容
6.1概述
數學形態學
基本符號和術語
6.2二值形態學
腐蝕、膨脹、開、閉
6.3
形態學運算應用
提取邊界、骨架、區域填充、提取連通分量、
去噪
6.4Matlab形態學運算
6.1概述6.1.1數學形態學數學形態學(MathematicalMorphology)誕生于1964年,是由法國巴黎礦業學院博士生賽拉(J.Serra)和導師馬瑟榮,在從事鐵礦核的定量巖石學分析及預測其開采價值的研究中提出“擊中/擊不中變換”,并在理論層面上第一次引入了形態學的表達式,建立了顆粒分析方法。他們的工作奠定了這門學科的理論基礎,如擊中/擊不中變換、開閉運算、布爾模型及紋理分析器的原型等。數學形態學的基本思想是用具有一定形態的結構元素去量度和提取圖像中的對應形狀以達到對圖像分析和識別的目的。
數學形態學的數學基礎和所用語言是集合論,因此它具有完備的數學基礎,這為形態學用于圖像分析和處理、形態濾波器的特性分析和系統設計奠定了堅實的基礎。數學形態學的應用可以簡化圖像數據,保持它們基本的形狀特性,并除去不相干的結構。數學形態學的算法具有天然的并行實現的結構,實現了形態學分析和處理算法的并行,大大提高了圖像分析和處理的速度。
數學形態學是由一組形態學的代數運算子組成的,它的基本運算有4個:膨脹(或擴張)、腐蝕(或侵蝕)、開啟和閉合,它們在二值圖像和灰度圖像中各有特點。基于這些基本運算還可推導和組合成各種數學形態學實用算法,用它們可以進行圖像形狀和結構的分析及處理,包括圖像分割、特征抽取、邊界檢測、圖像濾波、圖像增強和恢復等。
數學形態學方法利用一個稱作結構元素的“探針”收集圖像的信息,當探針在圖像中不斷移動時,便可考察圖像各個部分之間的相互關系,從而了解圖像的結構特征。數學形態學基于探測的思想,與人的FOA(FocusOfAttention)的視覺特點有類似之處。作為探針的結構元素,可直接攜帶知識(形態、大小、甚至加入灰度和色度信息)來探測、研究圖像的結構特點。
數學形態學的基本思想及方法適用于與圖像處理有關的各個方面,如基于擊中/擊不中變換的目標識別,基于腐蝕和開運算的骨架抽取及圖像編碼壓縮,基于測地距離的圖像重建,基于形態學濾波器的顆粒分析等。迄今為止,還沒有一種方法能像數學形態學那樣既有堅實的理論基礎,簡潔、樸素、統一的基本思想,又有如此廣泛的實用價值。有人稱數學形態學在理論上是嚴謹的,在基本觀念上卻是簡單和優美的。
在計算機文字識別,計算機顯微圖像分析(如定量金相分析,顆粒分析),醫學圖像處理(例如細胞檢測、心臟的運動過程研究、脊椎骨癌圖像自動數量描述),圖像編碼壓縮,工業檢測(如食品檢驗和印刷電路自動檢測),材料科學,機器人視覺,汽車運動情況監測等方面都取得了非常成功的應用。另外,數學形態學在指紋檢測、經濟地理等領域也有良好的應用前景。6.1.2基本符號和術語
1.元素和集合在數字圖像處理的數學形態學運算中,把一幅圖像稱為一個集合。對于二值圖像而言,習慣上認為取值為1的點對應于景物中心,用陰影表示,而取值為0的點構成背景,用白色表示,這類圖像的集合是直接表示的。考慮所有值為1的點的集合為A,則A與圖像是一一對應的。對于一幅圖像A,如果點a在A的區域以內,那么就說a是A的元素,記為a∈A,否則,記作a∈A,如圖6-1(a)所示。圖6-1元素與集合間的關系B集合2、交集、并集、補集、差集
3.擊中(Hit)與擊不中(Miss)
設有兩幅圖像A和B,如果A∩B≠,那么稱B擊中A,記為B↑A,其中是空集合的符號;否則,如果A∩B=,那么稱B擊不中A,如圖6-3所示。圖6-3擊中與擊不中(a)B擊中A;(b)B擊不中A
4.平移與反射
設A是一幅數字圖像,b是一個點,那么定義A被b平移后的結果為A+b={a+b|a∈A},即取出A中的每個點a的坐標值,將其與點b的坐標值相加,得到一個新的點的坐標值a+b,所有這些新點所構成的圖像就是A被b平移的結果,記為A+b,如圖9-1所示。反射(映射):?A
被處理的圖像稱為目標圖像,一般用大寫英文字母表示。為了確定目標圖像的結構,必須逐個考察圖像各部分之間的關系,并且進行檢驗,最后得到一個各部分之間關系的集合。在考察目標圖像各部分之間的關系時,需要設計一種收集信息的“探針”,稱為“結構元素”。“結構元素”一般用大寫英文字母表示,例如用S表示。在圖像中不斷移動結構元素,就可以考察圖像之間各部分的關系。一般,結構元素的尺寸要明顯小于目標圖像的尺寸。5.目標和結構元素邏輯運算邏輯運算示例6.2二值形態學
二值形態學中的運算對象是集合。設A為圖像集合,S為結構元素,數學形態學運算是用S對A進行操作。以下用陰影代表值為1的區域,白色代表值為0的區域,運算是對值為1的區域進行的。二值形態學中兩個最基本的運算——腐蝕與膨脹,如圖6-5所示。圖6-5腐蝕與膨脹示意圖
6.2.1腐蝕(Erosion)腐蝕是最基本的一種數學形態學運算。對一個給定的目標圖像X和一個結構元素S,想象一下將S在圖像上移動,記為(S)x。在每一個當前位置x,S+x只有三種可能的狀態(見圖6-6):(1)S+xX;(2)S+xXC;(3)S+x∩X與S+x∩XC均不為空圖6-6S+x的三種可能的狀態
第一種情形說明S+x與X相關最大,第二種情形說明S+x與X不相關,而第三種情形說明S+x與X只是部分相關。因而滿足式(6-1)的點x的全體構成結構元素與圖像最大相關點集,這個點集稱為S對X的腐蝕(簡稱腐蝕,有時也稱X用S腐蝕),記為XS。
腐蝕也可以用集合的方式定義,即式(6-2)表明,X用S腐蝕的結果是所有使S平移x后仍在X中的x的集合。換句話說,用S來腐蝕X得到的集合是S完全包括在X中時S的原點位置的集合。上式也可以幫助我們借助相關概念來理解腐蝕操作。(6-2)腐蝕在數學形態學運算中的作用是消除物體邊界點。如果結構元素取3×3的像素塊,腐蝕將使物體的邊界沿周邊減少一個像素。腐蝕可以把小于結構元素的物體(毛刺、小凸起)去除,這樣選取不同大小的結構元素,就可以在原圖像中去掉不同大小的物體。如果兩個物體之間有細小的連通,那么當結構元素足夠大時,通過腐蝕運算可以將兩個物體分開。腐蝕
BA模板的原點在結構元素內部,腐蝕具有收縮圖像的作用。AB
例6-1腐蝕運算圖解。圖6-7給出腐蝕運算的一個簡單示例。其中,圖6-7(a)中的陰影部分為集合X,圖6-7(b)中的陰影部分為結構元素S,而圖(c)中黑色部分給出了XS的結果。由圖可見,腐蝕將圖像(區域)收縮小了。圖6-7腐蝕運算示例
圖6-7腐蝕運算過程膨脹6.2.2膨脹(Dilation)腐蝕可以看作是將圖像X中每一與結構元素S全等的子集S+x收縮為點x。反之,也可以將X中的每一個點x擴大為S+x,這就是膨脹運算,記為X
S。若用集合語言,它的定義為
膨脹示例腐蝕示例膨脹過程S?腐蝕與膨脹示例Matlab實現腐蝕與膨脹運算
BW=imread('text.tif');SE1=ones(2,2);SE2=ones(5,5);BW1=imdilate(BW,SE1);BW2=imdilate(BW,SE2);figure,subplot(221),subimage(BW),title('Original');subplot(222);subimage(BW1);title('Dialate2-2');subplot(223);subimage(BW2);title('Dialate5-5');
se1=ones(2,2);se2=ones(5,5);I1=imerode(BW1,se1);I2=imerode(BW2,se2);figure,subplot(221);subimage(I),title('Original')subplot(222),subimage(I1),title('Eroded2-2')subplot(223),subimage(I2),title('Eroded5-5')6.2.3開運算和閉運算開操作一般使對象的輪廓變得光滑,斷開狹窄的間斷和消除細小的突出物。閉操作同樣使得輪廓光滑,它通常消除狹窄的間斷和長細的鴻溝,消除小的空洞,并填充輪廓線中的斷裂。1.基本概念
如果結構元素為一個圓盤,那么,膨脹可填充圖像中的小孔(比結構元素小的孔洞)及圖像邊緣處的小凹陷部分,而腐蝕可以消除圖像邊緣小的成分,并將圖像縮小,從而使其補集擴大。但是,膨脹和腐蝕并不互為逆運算,因此它們可以級連結合使用。在腐蝕和膨脹兩個基本運算的基礎上,可以構造出形態學運算族,它由膨脹和腐蝕兩個運算的復合與集合操作(并、交、補等)組合成的所有運算構成。例如,可先對圖像進行腐蝕然后膨脹其結果,或先對圖像進行膨脹然后腐蝕其結果(這里使用同一個結構元素)。前一種運算稱為開運算(或開啟),后一種運算稱為閉運算(閉合)。開運算和閉運算是形態學運算族中兩個最為重要的組合運算。(6-7)(6-8)(6-9)由式(6-7)和式(6-8)可知,X○S可視為對腐蝕圖像XS用膨脹來進行恢復,而X●S可看作是對膨脹圖像XS用腐蝕來進行恢復不過這一恢復不是信息無損的,即它們通常不等于原始圖像X。由開運算的定義式,可以推得對圖像X及結構元素S,用符號X○S表示S對圖像X作開運算,用符號X●S表示S對圖像X作閉運算,它們的定義為開操作示例方向向外的角變得圓滑了,而方向內角沒有變化。圖像縮小閉操作示例方向向內的角變得圓滑了,而方向向外的角沒有變化圖像放大開閉運算示例開閉運算示例圖6-12開、閉運算示例(a)原圖像;(b)結構元素S;(c)結構元素S腐蝕圖像X;(d)結構元素S腐蝕X的結果;(e)對腐蝕的結構再膨脹;(f)再膨脹(開運算)的結果X○S;(g)結構元素S膨脹X;(h)結構元素S膨脹X的結果XS;(i)對膨脹的結果再腐蝕;(j)再腐蝕的結果(閉運算)X●S開閉運算示例
2.開閉運算的代數性質由于開、閉運算是在腐蝕和膨脹運算的基礎上定義的,根據腐蝕和膨脹運算的代數性質,我們不難得到下面的性質。 1)對偶性(XC○S)C=X●S,(XC●S)C=X○S 2)擴展性(收縮性)X○SXX●S即開運算恒使原圖像縮小,而閉運算恒使原圖像擴大
3)單調性如果XY,則X●SY●S,X○SY○S
如果YZ且Z●Y=Z,那么X●YX●Z
根椐這一性質可以知道,結構元素的擴大只有在保證擴大后的結構元素對原結構元素開運算不變的條件下方能保持單調性。
4)平移不變性(X+h)●S=(X●S)+h,(X+h)○S=(X○S)+hX●(S+h)=X●S,X○(S+h)=X○S5)等冪性(X●S)●S=X●S,(X○S)○S=X○S
開、閉運算的等冪性意味著一次濾波就能把所有特定結構元素的噪聲濾除干凈,作重復的運算不會再有效果。這是一個與經典方法(例如中值濾波、線性卷積)不同的性質。
Matlab實現開與閉運算I=imread('nodules1.tif');bw=~im2bw(I,graythresh(I));se=strel('disk',5);bw2=imopen(bw,se);figure;subplot(221);subimage(I);title('Original');subplot(222);subimage(bw),title('Thresholdedimage')subplot(223);subimage(bw2),title('Afteropening')
I=imread('pearlite.tif');bw=~im2bw(I,graythresh(I));figure,subplot(221);subimage(I),title('Original')subplot(222);subimage(bw),title('Step1:threshold')se=strel('disk',6);bw2=imclose(bw,se);bw3=imopen(bw2,se);subplot(223);subimage(bw2),title('Step2:closing')subplot(224);subimage(bw3),title('Step3:opening')形態學算法(P412)邊界提取:集合A的邊界記為它通過先由B對A進行腐蝕,然后用A減去腐蝕得到:
邊界提取示例區域填充將所有非邊界點(背景)標記為0,則以將1賦給p開始,使用下列算法填充整個區域。如果,算法迭代結束。P點稱為種子點。區域填充區域填充示例
像素間的聯系
一、
8-鄰域
p的周圍8個近鄰像素全體稱為p的8-鄰域,記為N8(p);二、連通性判斷條件:像素是否接觸、灰度值是否滿足某個特定的相似準則連通圖像子集S中的像素p和q,如果存在一條從p到q的通路,稱p在S中與q相連通。連通分量的提取令Y表示一個包含于集合A中的連通分量,并假設Y中的1個點是已知的。下列迭代生成Y的所有元素:
X0=p,B是一個適當的結構元素。2.迭代直到結束。并令Y=Xk連通分量示例連通分量包裝檢測示例骨架Chapter6MorphologicalImageProcessingChapter6MorphologicalImageProcessingChapter6MorphologicalImageProcessingChapter6MorphologicalImageProcessing灰度圖像的膨脹與腐蝕灰度圖像開閉操作去掉外角去掉內角灰度圖像開閉操作示例形態學平滑骨架抽取把一個平面區域簡化成圖(Graph)是一種重要的結構形狀表示法。利用細化技術得到區域的細化結構是常用的方法。因此,尋找二值圖像的細化結構是圖像處理的一個基本問題。在圖像識別或數據壓縮時,經常要用到這樣的細化結構,例如,在識別字符之前,往往要先對字符作細化處理,求出字符的細化結構。骨架便是這樣的一種細化結構,它是目標的重要拓撲描述,具有非常廣泛的應用。圖6-18骨架抽取示例(a)一幅二值圖像;(b)用3×3的結構元素S得到的骨架;(c)用5×5的結構元素得到的骨架;(d)用7×7的結構元素得到的骨架
細化
利用前面所介紹的形態學知識,下面給出一種實用的對二值區域進行形態學細化的一種算法。如前所述,一個圖像的“骨架”,是指圖像中央的骨骼部分,是描述圖像幾何及拓撲性質的重要特征之一。求一幅圖像骨架的過程就是對圖像進行“細化”的過程。在文字識別、地質構造識別、工業零件形狀識別或圖像理解中,先對被處理的圖像進行細化有助于突出形狀特點和減少冗余信息量。在細化一幅圖像X時應滿足兩個條件:
在細化的過程中,X應該有規律地縮小;
在X逐步縮小的過程中,應當使X的連通性質保持不變。BW1=imread('circles.tif');imshow(BW1)BW2=bwmorph(BW1,'remove');BW3=bwmorph(BW1,'skel',Inf);figure,imshow(BW2)figure,imshow(BW3)Matlab提取骨架
Setapixelto0ifits4-connectedneighborsareall1's,thusleavingonlyboundarypixelsInf,removepixelsontheboundariesofobjectswithoutallowingobjectstobreakapartloadimdemossteel;figure,subplot(331),subimage(steel),title('Original');bw_70=steel>70;subplot(332),subimage(bw_70),title('Thres=70');[r,c]=find(bw_70==0);bw_210=steel>210;subplot(333),subimage(bw_210);title('Thres=210');bw_clean=bwselect(~bw_210,c,r,8);subplot(334),subimage(bw_clean);title('Clean');bw_skel=bwmorph(bw_clean,'skel',6);subplot(335),subimage(bw_skel);title('Skel');bw_pruned=bwmorph(bw_skel,'spur',8);subplot(336),subimage(bw_pruned);title('Spur');grain_boundaries=~bw_pruned;subplot(337),subimage(grain_boundaries);title('grain_boundaries');[labeled,N]=bwlabel(grain_boundaries,4);colored=label2rgb(labeled);subplot(338),subimage(colored);title('Colored');6.4Matlab形態學運算imerode:ErodeimageSyntaxIM2=imerode(IM,SE)IM2=imerode(IM,NHOOD)IM2=imerode(...,PACKOPT,M)IM2=imerode(...,SHAPE)DescriptionIM2=imerode(IM,SE)erodesthegrayscale,binary,orpackedbinaryimageIM,returningtheerodedimageIM2.TheargumentSEisastructuringelementobjectorarrayofstructuringelementobjectsreturnedbythestrelfunction.originalBW=imread('circles.png');se5=strel('disk',5);se9=strel('disk',9);se11=strel('disk',11);erodedBW5=imerode(originalBW,se5);erodedBW9=imerode(originalBW,se9);erodedBW11=imerode(originalBW,se11);subplot(221),imshow(originalBW),title('Originalimage');subplot(222),imshow(erodedBW5),title('dilatedimage5');subplot(223),imshow(erodedBW9),title('dilatedimage9');subplot(224),imshow(erodedBW11),title('dilatedimage11');Howabouttheresultifthestructureoperatorsizeincreasesto21,25?DiscussionTheeffectoferosion:RemovesmallobjectincludingnoisesExtractthecenterofroundobjectCalculatenumberofobjectbw=imread('text.png');se=strel('line',3,5);bw2=imdilate(bw,se);subplot(121),imshow(bw),title('Original')Subplot(122),imshow(bw2),title('Dilatedimageusing3x5')Dilateagrayscaleimagewitharollingballstructuringelement.I=imread('cameraman.tif');se=strel('ball',5,5);I2=imdilate(I,se);imshow(I),title('Original')figure,imshow(I2),title('Dilated')ExamplesRemovethesmallerobjectsinanimage.ReadtheimageintotheMATLABworkspaceanddisplayit.I=imread('snowflakes.png');imshow(I)Createadisk-shapedstructuringelementwitharadiusof5pixels.se=strel('disk',5);Removesnowflakeshavingaradiuslessthan5pixelsbyopeningitwiththedisk-shapedstructuringelementcreatedinstep2.I_opened=imopen(I,se);figure,imshow(I_opened,[])MorphologicallycloseimageSyntaxIM2=imclose(IM,SE)IM2=imclose(IM,NHOOD)DescriptionIM2=imclose(IM,SE)performsmorphologicalclosingonthegrayscaleorbinaryimageIM,returningtheclosedimage,IM2.Thestructuringelement,SE,mustbeasinglestructuringelementobject,asopposedtoanarrayofobjects.Themorphologicalcloseoperationisadilationfollowedbyanerosion,usingthesamestructuringelementforbothoperations.ConclusionofMorphology
(1)ErosionThedilationoperationus
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 出租衣櫥改造合同樣本
- led政府合同樣本
- 三輪車修理轉讓合同樣本
- 醫院居間合同標準文本
- 北京抵押車合同樣本
- 農場收購設備合同樣本
- 包工施工合同樣本
- 保修延長期合同樣本
- 產業投資協議合同樣本
- 勞動合同標準文本銀行
- 2024年山東交通技師學院招聘筆試真題
- 北京市豐臺區2022-2023學年高二下學期期中考試地理試題(含答案)
- 電信運營商客戶流失管理手冊
- 2025年-安徽省建筑安全員-C證考試(專職安全員)題庫附答案
- 老年患者營養護理
- 綠色金融產品創新與風險管理-全面剖析
- 電纜火災事故專項應急預案
- 山西省朔州市懷仁縣2025屆小學六年級第二學期小升初數學試卷含解析
- 東北三省三校2025屆高三下學期第二次聯合模擬考試物理試題及答案
- 2025年安徽物理中考模擬練習卷(含答案)
- 2025年山東省濟南市萊蕪區中考一模地理試卷(原卷版+解析版)
評論
0/150
提交評論