形態學膨脹初步


“A被B膨脹是所有結構元素原點位置組成的集合,其中映射並平移后的B至少與A的某些部分重疊”[Conzalez]

(1)、設圖像數據為a:

形態學膨脹初步

a為一幅二值圖像,1對應圖像中心的亮區域。

結構元素為b:

形態學膨脹初步

執行膨脹:imdilate(a,b),結果為:

形態學膨脹初步

(方框區域對應原圖像數據)

(2)、過程分解:

先用結構元素b掃過a的第一行

形態學膨脹初步
(方框為圖像數據第一行)

再第二行:

形態學膨脹初步

再是第三行:

形態學膨脹初步

將結構元素對三行的平移結果重疊在一起,得:

形態學膨脹初步

此即最終結果。

(3)以上,結構元素是對稱的,原點默認在中心,即b(2,2),對非對稱結構元素,如:

k=

形態學膨脹初步
原點按floor((size(k)+1)/2)進行計算,即紅色背景標識的k(2,4)。

設圖像數據為a:

形態學膨脹初步

執行膨脹運算:imdilate(a,k),得:

形態學膨脹初步

也做一次過程分解:
①用結構元素掃第一行:

形態學膨脹初步

(紅色背景標識的結構元素的原點位置,橙色背景為對a(5,6)的平移結果,方框標識對a(5,7)的平移結果)

②對第二行:

形態學膨脹初步

結構同上。只是下移了一行。

③將①、②步中的結果疊加,便是膨脹的最后結果。

(4)一些說明:

//對膨脹的理解見最后 

結構元素:
a=
     1     1     1     1     1
     1     1     1     1     1
     1     1     1     1     1
     1     1     1     1     1
     1     1     1     1     1
“可分解為一個值為1的5元素行矩陣和一個值為1的5元素列矩陣”指
a可分解為以下兩個矩陣的膨脹:
形態學膨脹初步

而非
形態學膨脹初步

實際上,
形態學膨脹初步

(注:為便於表示,一般只寫出結構元素中的1值)    
再有一例:
se=strel('diamond',3)產生結構元素:
se=
     0     0     0     1     0     0     0
     0     0     1     1     1     0     0
     0     1     1     1     1     1     0
     1     1     1     1     1     1     1
     0     1     1     1     1     1     0
     0     0     1     1     1     0     0
     0     0     0     1     0     0     0
它可分解為3個結構元素的膨脹:
decomp(1)=
     0     1     0
     1     1     1
     0     1     0
decomp(2)
     0     1     0
     1     0     1
     0     1     0
decomp(3)
     0     1     0
     1     0     1
     0     1     0
但:
形態學膨脹初步

而是:
形態學膨脹初步


(即:將各分解的結構元素進行維數擴展,再膨脹,才能還原到最先得到的結構元素)

 

 

結構元素B的鏡像在圖像f中平移,要保證平移后的B與f至少有一個像素相交(即“至少重疊一個1值像素”)。之

前的理解有誤,不是將結構元素按其中心(原點)在圖像1值元素中平移!——這是准確的說法,但對於對稱的結構元素,膨脹操作的確可看成是平移。而且膨脹的結果(圖像)與結構元素有着類似的形狀(要膨脹很多次后才能體現出來),如下例:
原圖:

形態學膨脹初步


>>g=im2bw(f);
>> se=strel([0 1 0;1 1 1;0 1 0]);
>> t=imdilate(g,se);
>> for k=1:5 h=imdilate(h,se); end
>> figure,imshow(h)
得膨脹5次后的結果:
形態學膨脹初步

膨脹10次的結果為:
形態學膨脹初步


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM