一. 数学形态学概述
数学形态学是分析几何形状和结构的数学方法,它建立在几何代数的基础上,使用集合论方法定量描述目标几何结构的学科,具有完备的数学基础。(注意:以下介绍二值图像,取深1、浅0。)
基本思想:用具有一定形态的结构元素去度量和提取图像中的对应形状以达到对图像分析和识别的目的
结构元定义:设有两幅图像B,A。若A是被处理对象,B用来处理A则称B为结构元SE(Structure Element)。结构元可定义为研究一幅图像中感兴趣特性所用的小集合或子图像,通常都是一些比较小的图像。
结构元在每个像素位置上与二值图像对应的区域进行特定的逻辑运算,逻辑运算的结果为输出图像的对应像素值。形态学运算的效果取决于结构元的大小、内容以及逻辑运算的性质
结构元素类似于卷积中的卷积核。但是在卷积中,默认原点在卷积核的中心位置,在SE中不一定在中心位置,可以自己定义,所以数学形态学的操作具有方向性
二. 腐蚀和膨胀
1. 腐蚀(Erosion)——使图像缩小
作为中的集合A用B来腐蚀写作A,表示B移动后完全包含在A中时,B的原点位置的集合
腐蚀步骤:
- SE核可以用一个二值矩阵表示,还需要定义一个原点,标识核的核心。
- 对腐蚀操作,SE核的原心遍历原图像的每一个像素点,然后取当前SE中所有1的位置所覆盖下原图中对应的像素中的最小值,用这个最小值替换当前像素值。由于二值图像最小值就是0,所以如果有0存在,就用0代替原点
- 只有SE位于前景物体边缘时,它覆盖的区域才会同时出现0和1两种不同的像素值,这时把当前像素替换成0。因此服饰看起来的效果就是让前景物体缩小了一圈,是的边界向内收敛。对于前景物体中一些细小的连接处,这些连接处可能会断开。
- 腐蚀操作会缩小前景区域,去除前景噪点,断开前景细线连接,使前景区域向内收缩
2. 膨胀(Dilation)——使图像扩大
A用B,即B的反射进行平移与A的交集不能为空
膨胀步骤:
- SE核用一个二值矩阵表示,定义一个原点,表示核的核心
- SE核的原点遍历原图像的每一个像素点,然后取当前SE中所有1的位置覆盖下原图中对应的像素的最大值,用这个最大值代替当前像素值。由于二值图像最大值就是1,所以如果有1的存在,就用1替换原点
- 只有SE位于前景物体边缘时,它覆盖的区域内才会同时出现0和1两种不同的像素值,这时把当前像素替换成1.因此膨胀看起来的效果就是让前景物体膨胀了一圈,使得边界向外扩散。对于前景物体中一些细小的断裂处,这些断裂的地方可能会被连接起来。
- 膨胀操作使前景边界向外扩展,会增大前景区域。也可能会连接不同前景区域,填补前景中的空洞,去除噪点。
3. 对偶性
腐蚀和膨胀的不足:改变了原目标物的大小
膨胀与腐蚀彼此间关于集合求补运算和反射运算是对偶的,即:
和
可见,B对A的腐蚀是对的膨胀的补。当结构元关于其原点对称时,,因此,可以使用B膨胀图像背景,然后对结构求补,即可得到B对A的腐蚀
三. 开操作和闭操作
1. 开操作
B对A进行开操作就是先用B对A腐蚀,然后用B对结果进行膨胀,表示为。
,
即B在A的边界内移动时,B中的点所能达到的A的边界内的最远点。所以,开操作又可以表示为:
作用:
- 使轮廓平滑,抑制物体边界的小离散点和尖峰,在研究物体的形态分布时常用
- 用来消除小物体、在纤细点处分离物体
- A的两个主要部分之间的连接被去掉了。连接的宽度小于结构元素的直径;也就是结构元素不能完全包含于集合A的这一部分。由于同样的原因A的最右边的部分也被切除了
- 平滑较大物体的边界的同时并不明显改变其面积
2. 闭操作
B对A进行闭操作就是先用B对A膨胀,然后用B对结果进行腐蚀,表示为。
,
即B在A的边界内移动时,B中的点所能达到的A的边界内的最远点。所以,开操作又可以表示为:
作用:
- 用来填充物体内细小空洞、连接邻近物体
- 平滑其边界的同时并不明显改变其面积