1. 程式人生 > >影象形態學運算--腐蝕與膨脹

影象形態學運算--腐蝕與膨脹

形態學運算基本概念:

假設存在影象X和影象Y

概念

含義

元素               

    設點a在影象X中,則a為X的一個元素,記為a

Y包含於X

    Y中所有的元素都屬於X,記為YX

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) ab腐蝕

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)

影象ab為結構元素,做膨脹運算

imshow(a2)%顯示影象膨脹運算結果a2

執行結果: