数学形态学滤波学习
Posted 沧海一升
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数学形态学滤波学习相关的知识,希望对你有一定的参考价值。
一、概述
数学形态学是建立在集合论基础上了一门学科。具体在图像处理领域,它把形态学和数学中的集合论结合起来,描述二值或灰度图像中的形态特征,来达到图形处理的目的。形态学主要是通过结构元素和图像的相互作用对图像进行拓补变换从而获得图像结构信息,通过对结构信息的分析,获取图像更本质的形态。
数学形态学的方法要比空间域或者频率域滤波处理图像的方法有明显的优势。例如,在图像复原处理中,数学形态学滤波器可以利用先验的几何特征信息通过形态学滤波器对图像中的噪声进行有效的滤除,同时,它又能保留图像中的一些细节信息,而且形态学的算法简单,运算速度快,对硬件的要求不高。采用数学形态学在对图像的边缘检测中也表现出了特别好的效果,相比微分运算的边缘检测算法,形态学对噪声的敏感度低,同时,所提取出来的边缘光滑度高。
数学形态学属于图像处理中的非线性滤波方法,通过数学形态学的算法对图像进行处理的步骤如下:
- 提取图像的几何特征,通过所提取的几何特征来找到相应的结构模式。
- 根据步骤1 所找出的结构模式来选择适当的结构元素,它的选取主要针对结构元素的形状以及结构元素的大小等,结构元素选取时应当尽量从简。
- 为了得到具有更显著的物体特征信息的图像,利用步骤2 所选取的结构元素对图像进行相应的形态学变换。
- 通过对步骤3 所处理得到的图像进行各种平滑变换,通过所需要的图像特征适当的进行增加对比度处理,使目标图像变得更加清晰、明了,并且更有利于我们对相应的图像信息进行提取。
二、二值图像形态学
数学形态学将二值图像看成是集合, 并用结构元素进行“探测”。结构元素是一个可以在图像上平移、且尺寸比图像小的集合。
基本的数学形态学运算是将结构元素在图像范围内平移, 同时施加交、并等基本集合运算。数学形态学的实质是通过图像集合与结构元素间的相互作用来提取有意义的图像信息, 不同的结构元素可以提取不同层面的图像信息。
数学形态学算子的性能主要以几何方式进行刻画, 而几何描述的特点更适合视觉信息的处理和分析, 其基本思想如图:
1、数字图像的表示及基本操作
集合可以表示图像中的目标,以二值图像为例,我们可以用一个二维数组的集合来描述它。用(x,y)可以表示一个二维图像中灰度值为1 的点,剩下的灰度值为0,只要能确定像素点的位置,就能表示该二值图像;对于一个灰度图像,我们可以用一个三维数组的集合来描述,其中集合中每个元素为(x,y,z),x,y 表示像素点的位置,而z 表示该灰度点的灰度值;同时,对于彩色图像,可以用一个更高维的数组集合表示,该高维数组分别表示灰度值,位置,颜色特征量。下面,讨论一些集合论的基本概念。
数学形态学最初应用在二值图像当中,可以用作图像的预处理及后续处理中。所谓二值图像是指灰度只有0 和1 两个像素值,而没有过度像素值的图像。像素的灰度值为1 的点的集合叫做“前景”,而取值为0 的点的集合为“背景” 。
还有两个广泛应用于形态学的附加定义, 在集合中定义为如下:
下图说明了这两个定义, (a)是将集合平移到点, (b)是集合对于原点的反射。
2、二值图像膨胀与腐蚀
1)二值图像膨胀
膨胀是指一个给定的集合在二值图像中“加长”或“变粗”的操作。而该目标加长的方式和变粗的程度是由结构元素所决定的。
膨胀的过程与卷积非常相似,结构元素的原点在目标图像上从上到下,从左到右的方式移动。在结构元素移动的过程中,结构元素与目标图像中像素值为1 的点会存在重叠,如果有存在重叠的点,那么结构元素的原点所在位置的像素会被标为1。
假设A 为原二值图像,B为结构元素,膨胀的过程可定义为如下运算:
A被B膨胀是所有位移的集合, 这样和A至少有一个元素是重叠的。根据这种解释, 还可以写为:
膨胀可以通过相对结构元素的所有点遍历输入图像进行平移,然后计算其并集得到:
该方程所定义的膨胀, 历史上叫做明克夫斯基和。可以证明膨胀满足交换律,所以膨胀还可以等效的表示为
膨胀操作的结果实例如下图:
而膨胀运算由于使得图像边缘的像素灰度值增加,造成图像的边缘向外扩张,会使连接较近的前景逼近甚至粘连起来,最终达到所需要的视觉效果。
2)二值图像腐蚀
腐蚀可以看做是膨胀的逆运算,腐蚀通常是“收缩”或“细化”了二值图像中的对象,而收缩的方式和程度也是由结构元素所决定的。
结构元素和膨胀的结构元素选取的原则一样,一般选取比目标要的形状对称的结构元素,结构元素越小,腐蚀运算所需的时间越少。腐蚀操作也是将结构元素从左到右,从上到下遍历整
个图像,检验图像周围的像素是否和结构元素中的点有重合,如果没有重合,则该中心点像素值被标为0。
假设A 为原图像,B 为所选取的结构元素,腐蚀的过程可以定义为如下运算:
腐蚀除了可以用填充形式定义外, 还有一种更重要的表达形式:
一般地, 可以得到下列性质:如果原点在结构元素的内部, 则腐蚀后的图像为输入图像的一个子集, 这就是称作“腐蚀” 的原因;如果原点在结构元素的外部, 那么腐蚀后的图像可能不在输入图像的内部。
腐蚀操作的结果实例如下图:
3)膨胀与腐蚀运算的性质
其中,结合律非常重要,它表明采用一个较大结构元素的形态学运算可以由两个采用较小结构元素和的形态学运算的级联来实现。这在实际应用中对提高算法效率和硬件实现意义极大。
3、二值图像开运算和闭运算
1)二值图像开运算
假设A 为原图像,B 为结构元素,那么结合A 被结构元素B 做开运算,记为:
用结构元素对集合进行开操作就是用对腐蚀, 然后用对结果进行膨胀。为了更好地理解开运算在图像处理中的作用, 讨论下面的等价方程:
表示了先腐蚀后膨胀所描述的开运算。开运算一般可以平滑图像的轮廓,消弱狭窄的部分,去除细小的点和毛刺,总的位置和形状不变。我们可以利用开运算的此特点来去除图像中的噪声。如
如图,X 为原始图像,B 为结构元素,由实验结果可以看出,原图中的两块正方形链接处的点和第二块正方形上面的一个孤立的点被去除掉了,而图像的整体形状和结构并没有发生变化。
2)二值图像闭运算
假设A 为原图像,B 为结构元素,那么结合A 被结构元素B 做闭运算,记为:
闭运算是先膨胀后腐蚀, 也可以利用对偶性, 即沿图像的外边缘填充或滚动结构元素, 闭运算磨光了凸向图像内部的尖角, 即对图像外部滤波。
闭运算与开运算是一对相反的操作,它能填充图像中的狭窄和凹陷的部分,消除小洞,磨光图像中凸起的内部尖角,使图像得到一定程度的平滑。我们同样可以利用此性质对图像进行去噪。
3)二值图像开闭运算的性质
三、灰度图像形态学
1、基本概念
在定义灰度级形态学之前, 先介绍一下与二值形态学平移、子集和并相对应的概念。
下面的图表示了一个信号的移位平移及相应的形态学平移。
极大极小实例如下:
反射的定义是参照集合在平面内相对原点的旋转而提出来的。
2、灰度图像膨胀与腐蚀
1)灰度图像膨胀
用g对f进行灰度膨胀,公式如下:
这一定义对灰度膨胀提供了一种重要的几何描述, 即灰度膨胀可以通过将结构元的原点平移到与信号重合, 然后计算信号上的每一点与结构元对应各点和的最大值得到。
因此,通常对灰度图像进行膨胀处理后,会造成图像中像素值本身较大的部分得到进一步扩张,会得到双重效果:
- 如果所有结构元素的值都为正,则得到的处理图像亮度会高于原始图像的亮度;
- 结构元素的形状和大小以及相关的值会使图像中的细节部分受到一定的影响:减少,或者有可能消失。
2)灰度图像腐蚀
用g对f进行灰度腐蚀,公式如下:
通常对灰度图像进行腐蚀处理后,会使图像中像素值本身较小的部分得到进一步的缩小,会得到双重效果:
- 如果所有结构元素的值都为正,则得到的处理后图像会低于原始图像的亮度;
- 在输入图像中,如果亮的细节的面积小于结构元素的大小,则亮的部分将会削弱。削弱的亮度取决于结构元素的形状和幅值以及亮度区域周围的灰度值。
3)膨胀与腐蚀运算的性质
3、灰度图像开闭运算
通常情况下,开运算一般能够平滑图像的轮廓,去除较小的亮点(相对于结构元素而言),消减图像中狭窄的部分,同时保留图像中灰度值较大的部分。腐蚀操作先将图像中较小的亮的部分去除,使图像变暗,而膨胀操作能够增加图像的亮度并且不再引入由腐蚀所去除的部分。
灰度闭运算的结果基本上与灰度开运算相反,它通常能够去除图像中较小的暗点(相对于结构元素而言),填补狭窄以及凹陷的部分,消除小洞,使图像得到平滑,并且保留图像原有的亮度特征。膨胀操作能够将图像中较小的暗部分去除,使图像变亮,而腐蚀操作能调暗图像,并且不再引入由膨胀所去除的部分。
以上是关于数学形态学滤波学习的主要内容,如果未能解决你的问题,请参考以下文章
形态学滤波:腐蚀与膨胀 开运算,闭运算,形态学梯度,顶帽,黑帽