膨脹是將與物體接觸的所有背景點合並到該物體中,使邊界向外部擴張的過程。通過膨脹,可以填充圖像中的小孔及在圖像邊緣處的小凹陷部分。結構元素B對圖像A進行膨脹,記作A
腐蝕和膨脹是對偶操作。腐蝕是一種消除邊界點,使邊界向內部收縮的過程。利用腐蝕操作,可以消除小且無意義的物體。集合A被結構元素B腐蝕,記作AB
這里為了簡化起見,被膨脹和腐蝕圖像我們處理成二值圖像:
matlab 中
膨脹函數 IM2 = imdilate(IM,SE) 對圖像IM進行膨脹,采用的結構元素為SE,SE為函數strel()得到的結構元素
腐蝕函數 IM2 = imerode(IM,SE) 對圖像IM進行腐蝕,其他同上
以膨脹為例代碼如下:
strel結構元素說明:
Examples
--------
se1 = strel('square',11) % 11-by-11 square
se2 = strel('line',10,45) % line, length 10, angle 45 degrees
se3 = strel('disk',15) % disk, radius 15
se4 = strel('ball',15,5) % ball, radius 15, height 5
注意:這里球形結構元素不能用於膨脹操作,腐蝕操作類似,只需要修改imdilate函數為imerode函數
程序執行后輸出如下: