形态学处理--腐蚀膨胀及开闭运算(二值图像)

腐蚀膨胀既可以对二值图像,也可以针对灰度图像。本文主要介绍针对二值图像的腐蚀膨胀

二值图像的腐蚀膨胀

对二值图像中的目标图形进行形态学分析时一种重要处理方式,而形态学处理中最基本的是腐蚀和膨胀。腐蚀和膨胀是两个互为对偶的运算。

一、腐蚀

算法步骤
1. 扫描原图,找到像素值为1的点
2. 将选择好的***结构元素***原点移动到该点,且保证结构元素不会出图像边界
3. 判断该结构元素所覆盖范围内的像素值是否全为1,如果是该点的像素值仍为1不处理,如果至少有一个像素值不为0,
   则该点的像素值被腐蚀为0
4. 遍历原图中其他的像素值为1的点,重复以上操作

所谓结构元素是指某种确定形状的基本结构元素,如圆形、矩形等。腐蚀处理主要是利用结构元素对原图像进行探测,找出图像中可以放下该结构元素的区域。

例子

设原图像为F
在这里插入图片描述
选择三角形的结构元素S
在这里插入图片描述
最终腐蚀得到的图像为E
在这里插入图片描述
对原图中像素值为1的点进行遍历分析可以看出,只有F(1,2),F(2,2)这两个点在三角形结构元素范围内像素值全为1,因此未遭到腐蚀像素值得到保留。而其他像素值为1点不满足结构元素范围内全为1的条件,像素值被腐蚀为0。

作用

1、去除目标区域周围的小颗粒噪声
2、消除目标物之间细小的粘连,同时目标物的边界向内收缩

二、膨胀

算法步骤
1. 扫描原图,找到像素值为0的点
2. 将选择好的***结构元素***原点移动到该点,且保证结构元素不会出图像边界
3. 判断该结构元素所覆盖范围内的像素值是否至少存在一个像素值为1的点,如果存在该点的像素值膨胀为1,
   如果结构元素所覆盖范围内像素值全为0,则该点不进行膨胀处理保持不变
5. 遍历原图中其他的像素值为0的点,重复以上操作
例子

设原图像为F
在这里插入图片描述
选择三角形的结构元素S
在这里插入图片描述
最终膨胀得到的图像为D
在这里插入图片描述
对原图中像素值为0的点分析可以看出,只有F(1,1),F(1,2),F(1,3)这三个点可以进行遍历操作,因为其他像素值为0的点无法完全包容结构元素。且这三个点在结构元素范围内都至少有一个像素值为1的点,因此像素值得到膨胀变为1。

作用

1、填补目标区域中的小空洞
2、合并目标物周围的背景点,是目标边界向外部扩张

二值图像的开闭运算

虽然腐蚀处理可以将粘连的目标物分离,但目标物的面积也同样缩小了。同样膨胀处理可以将断开的目标物进行连接,但也增大了目标物的面积。为解决这个问题,因此提出了开闭运算。

开运算

使用同一个结构元素,对图像进行先腐蚀后膨胀处理的运算称为开运算。

开运算通常用来消除小噪声点或小对象物,消除物体边界粘连的纤细点达到分离物体边界的作用。
其主要作用与腐蚀运算相似,但是可以保持物体面积大小基本不变。

闭运算

使用同一个结构元素,对图像进行先膨胀后腐蚀处理的运算称为闭运算。

闭运算通常用来填充目标内细小空洞,连接断开的邻近目标。主要作用与膨胀运算相似,也可以保持物体面积大小基本不变。

参考文献《数字图像处理基础》

你可能感兴趣的:(数字图像处理)