影象形態學運算--腐蝕與膨脹
形態學運算基本概念:
假設存在影象X和影象Y
概念 |
含義 |
元素 |
設點a在影象X中,則a為X的一個元素,記為a∈X |
Y包含於X |
Y中所有的元素都屬於X,記為Y⊂X |
Y擊中X |
存在一個點既是Y的元素,又是X的元素,記為Y↑X |
Y不擊中X |
存在一個點既是Y的元素,又是X的元素,記為Y∩X=Ф |
補集 |
有一幅影像X,X以外的點構成的集合 |
結構元素 |
若用Y處理X,則Y為X的結構元素(Structure Element) |
對稱集 |
對影象中的座標全部取反(x, y)à(-x, -y) |
平移 |
對影象中的座標(x, y)à(x+x0, y+y0) |
腐蝕和膨脹操作:
原始影象:
腐蝕:將灰度值小(暗)的區域增強擴充套件,去除亮的噪點。消除邊界點,邊界向內收縮。用以消除細小無意義的
對Z中的集合A和B,B對A進行腐蝕的整個過程如下:
⑴ 用結構元素B,掃描影象A的每一個畫素
⑵ 用結構元素與其覆蓋的二值影象做“與”操作
⑶ 如果都為1,結果影象的該畫素為1。否則為0
程式碼:
a=imread('A.jpg');%讀取影象A.JPG
b=strel('disk',4);%新建一個結構元素
a2=imerode(a,b);%imerode(a,b) a被b腐蝕
imshow(a2) %顯示影象膨脹運算結果a2
執行結果:
膨脹:將灰度值大(亮)的區域增強擴充套件,連線相似顏色或者強大的區域。新增邊界要素。
結構元素B可以看作一個卷積模板,區別在於膨脹是以集合運算為基礎的,卷積是以算術運算為基礎的,但兩者的處理過程是相似的。
⑴ 用結構元素B,掃描影象A的每一個畫素
⑵ 用結構元素與其覆蓋的二值影象做“與”操作
⑶ 如果都為0,結果影象的該畫素為0。否則為1
程式碼:
a=imread('A.jpg');%讀取當前資料夾下名為A.jpg的影象
b=[0 1 0;1 1 1;0 1 0];%定義結構元素
a2=imdilate(a,b);%imdilate(a,b)
imshow(a2)%顯示影象膨脹運算結果a2
執行結果: