概述
数学形态学(Mathematical Morphology)——二值形态学
一、基本概念
结构元素(Structure Element):
设有两幅图象B,A。若A是被处理的对象,而B是用来处理A的,则称B为结构元素,又被形象地称做刷子。结构元素通常都是一些比较小的图象。
腐蚀(Erosion):
X用S腐蚀的结果是所有使S平移x后仍在X中的x的集合。换句话说,用S来腐蚀X得到的集合是S完全包括在X中时S的原点位置的集合,用公式表示为:
膨胀(Dilation):
膨胀可以看做是腐蚀的对偶运算,其定义是:把结构元素B平移a后得到Ba,若Ba击中X,我们记下这个a点。所有满足上述条件的a点组成的集合称做X被B膨胀的结果。
开运算(Opening Operation):
先腐蚀后膨胀称为开运算,即:
闭运算(Closing Operation):
先膨胀后腐蚀称为闭运算,即:
二、基本原理
腐蚀
如下图所示,X表示原始图像,B表示结构元素,B对X 腐蚀的示意图如下:
对于任意一个在阴影部分的点a,Ba 包含于X,所以X被B腐蚀的结果就是那个阴影部分。阴影部分在X的范围之内,且比X小,就象X被剥掉了一层似的,这就是为什么叫腐蚀的原因。腐蚀在数学形态学运算中的作用是消除物体边界点。
B对X 腐蚀的效果图如下图所示:
膨胀
如下图所示,X表示原始图像,B表示结构元素,B对X 膨胀的示意图如下:
图中X是被处理的对象,B是结构元素,对于任意一个在阴影部分的点a,Ba击中X,所以X被B膨胀的结果就是那个阴影部分。阴影部分包括X的所有范围,就象X膨胀了一圈似的,这就是为什么叫膨胀的原因。
B对X膨胀的效果图下图所示:
开运算
开运算的效果图如下图所示:
我们可以得到关于开运算的几点结论:
(1)开运算能够除去孤立的小点,毛刺和小桥,而总的位置和形状不便。
(2)开运算是一个基于几何运算的滤波器。
(3)结构元素大小的不同将导致滤波效果的不同。
(4)不同的结构元素的选择导致了不同的分割,即提取出不同的特征。
闭运算
闭运算的效果图如下图所示:
我们也可以得到关于闭运算的几点结论:
(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) %显示最终处理后的图像
最后
以上就是犹豫画板为你收集整理的数学形态学之二值形态学(腐蚀、膨胀、开闭运算)基本原理的全部内容,希望文章能够帮你解决数学形态学之二值形态学(腐蚀、膨胀、开闭运算)基本原理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复