膨脹、腐蝕、開、閉(matlab實現)


膨脹、腐蝕、開、閉運算是數學形態學最基本的變換。

本文主要針對二值圖像的形態學

膨脹:把二值圖像各1像素連接成分的邊界擴大一層(填充邊緣或0像素內部的孔);

B=[0 1 0
      1 1 1
      0 1 0];
A2=imdilate(A1,B);%圖像A1被結構元素B膨脹


腐蝕:把二值圖像各1像素連接成分的邊界點去掉從而縮小一層(可提取骨干信息,去掉毛刺,去掉孤立的0像素); 

%strel函數的功能是運用各種形狀和大小構造結構元素
 se1=strel('disk',5);%這里是創建一個半徑為5的平坦型圓盤結構元素
 A2=imerode(A1,se1);

開:先腐蝕再膨脹,可以去掉目標外的孤立點

%se=strel('square',5');%方型結構元素

se=strel('disk',5');%圓盤型結構元素

imshow(f);%原圖像 

title('開閉運算原始圖像') 

%運行結果如下:

%開運算數學上是先腐蝕后膨脹的結果 %開運算的物理結果為完全刪除了不能包含結構元素的對象區域,平滑 %了對象的輪廓,斷開了狹窄的連接,去掉了細小的突出部分 fo=imopen(f,se);%直接開運算 figure,subplot(221),imshow(fo); title('直接開運算'); 

閉:先膨脹再腐蝕,可以去掉目標內的孔。

 %閉運算在數學上是先膨脹再腐蝕的結果
 %閉運算的物理結果也是會平滑對象的輪廓,但是與開運算不同的是,閉運算
 %一般會將狹窄的缺口連接起來形成細長的彎口,並填充比結構元素小的洞
 fc=imclose(f,se);%直接閉運算
 subplot(222),imshow(fc);
 title('直接閉運算');

以下參考論文:《數學形態學在圖像處理中的應用》

 


免責聲明!

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



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