matlab 形态学闭运算,数学形态学之二值形态学(腐蚀、膨胀、开闭运算)基本原理...

数学形态学(Mathematical Morphology)——二值形态学算法

1、基本概念函数

结构元素(Structure Element):spa

设有两幅图象B,A。若A是被处理的对象,而B是用来处理A的,则称B为结构元素,又被形象地称作刷子。结构元素一般都是一些比较小的图象。3d

腐蚀(Erosion):对象

X用S腐蚀的结果是全部使S平移x后仍在X中的x的集合。换句话说,用S来腐蚀X获得的集合是S彻底包括在X中时S的原点位置的集合,用公式表示为:

blog

2273ea92d0d21343fa2292dc19c22700.png

膨胀(Dilation):数学

膨胀能够看作是腐蚀的对偶运算,其定义是:把结构元素B平移a后获得Ba,若Ba击中X,咱们记下这个a点。全部知足上述条件的a点组成的集合称作X被B膨胀的结果。

io

8a13c3950602801c6eb02495e1d6283c.png

开运算(Opening Operation):原理

先腐蚀后膨胀称为开运算,即:程序

3d39657b9562271dc8f2e1eb60617577.png

闭运算(Closing Operation):

先膨胀后腐蚀称为闭运算,即:

7e09e71c0fcba0d68a32f1fc994d2aa1.png

2、基本原理

腐蚀

以下图所示,X表示原始图像,B表示结构元素,B对X 腐蚀的示意图以下:

matlab 形态学闭运算,数学形态学之二值形态学(腐蚀、膨胀、开闭运算)基本原理..._第1张图片

对于任意一个在阴影部分的点a,Ba 包含于X,因此X被B腐蚀的结果就是那个阴影部分。阴影部分在X的范围以内,且比X小,就象X被剥掉了一层似的,这就是为何叫腐蚀的缘由。腐蚀在数学形态学运算中的做用是消除物体边界点。

B对X 腐蚀的效果图以下图所示:

matlab 形态学闭运算,数学形态学之二值形态学(腐蚀、膨胀、开闭运算)基本原理..._第2张图片

matlab 形态学闭运算,数学形态学之二值形态学(腐蚀、膨胀、开闭运算)基本原理..._第3张图片

膨胀

以下图所示,X表示原始图像,B表示结构元素,B对X 膨胀的示意图以下:

matlab 形态学闭运算,数学形态学之二值形态学(腐蚀、膨胀、开闭运算)基本原理..._第4张图片

图中X是被处理的对象,B是结构元素,对于任意一个在阴影部分的点a,Ba击中X,因此X被B膨胀的结果就是那个阴影部分。阴影部分包括X的全部范围,就象X膨胀了一圈似的,这就是为何叫膨胀的缘由。

B对X膨胀的效果图下图所示:

matlab 形态学闭运算,数学形态学之二值形态学(腐蚀、膨胀、开闭运算)基本原理..._第5张图片

matlab 形态学闭运算,数学形态学之二值形态学(腐蚀、膨胀、开闭运算)基本原理..._第6张图片

开运算

开运算的效果图以下图所示:

matlab 形态学闭运算,数学形态学之二值形态学(腐蚀、膨胀、开闭运算)基本原理..._第7张图片

咱们能够获得关于开运算的几点结论:

(1)开运算可以除去孤立的小点,毛刺和小桥,而总的位置和形状不便。

(2)开运算是一个基于几何运算的滤波器。

(3)结构元素大小的不一样将致使滤波效果的不一样。

(4)不一样的结构元素的选择致使了不一样的分割,即提取出不一样的特征。

闭运算

闭运算的效果图以下图所示:

matlab 形态学闭运算,数学形态学之二值形态学(腐蚀、膨胀、开闭运算)基本原理..._第8张图片

咱们也能够获得关于闭运算的几点结论:

(1)闭运算可以填平小湖(即小孔),弥合小裂缝,而总的位置和形状不变。

(2)闭运算是经过填充图像的凹角来滤波图像的。

(3)结构元素大小的不一样将致使滤波效果的不一样。

(4)不一样结构元素的选择致使了不一样的分割。

MATLAB程序:

结构元素:

%strel函数的功能是运用各类形状和大小构造结构元素

se1=strel('disk',5);%这里是建立一个半径为5的平坦型圆盘结构元素

腐蚀:

A2=imerode(A1,se1);

膨胀:

B=[0 1 0

1 1 1

0 1 0];

A2=imdilate(A1,B);%图像A1被结构元素B膨胀

开运算:

se=strel('square',5');%方型结构元素

fo=imopen(f,se);%直接开运算

闭运算:

fc=imclose(f,se);%直接闭运算

下面是算法实现的程序代码:

I1=imread('tire.tif'); %读灰度图tire.tif

I2=imnoise(I1,'salt & pepper'); %在图像上加入椒盐噪声

figure,imshow(I2) %显示加椒盐噪声后的灰度图像

I3=im2bw(I2); %把加椒盐噪声后的灰度图像二值化

figure,imshow(I3) %显示二值化后的图像

I4=bwmorph(I3,'open'); %对二值噪声图像进行二值形态学开运算

figure,imshow(I4) %显示开运算后的图像

I5=bwmorph(I4,'close'); %对上述图像进行形态学闭运算

figure,imshow(I5) %显示最终处理后的图像

你可能感兴趣的:(matlab,形态学闭运算)