上海交通大学 医学图像处理
与二值形态学相对应另一种形态学运算是灰度形态学。灰度形态学与二值形态学相比,不仅在图像本身的空间尺寸上有一个变化,而且图像本身的灰度值也会发上变化。
灰度膨胀(Grayscale Dilation)运算
灰度形态学膨胀,在数学上的定义,可以用如下公式表示:
其中,表示原始图像,而表示对原始图像进行膨胀运算的结构化要素,为了与二值化膨胀的运算符号加以区别,我们用表示灰度形态学膨胀运算。
根据公式,对灰度形态学可以简单理解为,对于原始图像F中坐标的灰度值,分别向右移动个单位,再加结构化元素的值,再取其求得的最大值。
为了更加直观地了解灰度膨胀的运算过程,假设有一个一维的灰度分布列表和一个一维的结构化要素,其膨胀运算的过程可以如下图所示:
如上图所示,以 作为原点坐标,根据结构化元素的分布,先将原始图像向左移动一个单位,每个灰度值再减3,记作,空位用*
代替,再将原始图像向右移动一个单位,同样每个灰度值减去3,记作,余位用*
补齐,最后,每一列再求取最大值,得到最后的结果,即是对原始图像以结构化要素进行灰度膨胀后的结果。可以看出,原始图像不仅在灰度值上发生了变化,而且空间尺寸变得更大。
灰度膨胀的另一个例子如下图所示,
一些灰度膨胀运算的结果如下图所示:
灰度膨胀的效果
观察以上灰度膨胀效果图,可以看出灰度膨胀具有如下效果:
灰度膨胀能够使得灰度图像中,被暗区包围的亮区,区域变大,而被亮区包围的暗区,区域变小(可以简单地理解为,黑色中的白色区域面接增大,白色区域中的黑色,面积变得更小)。
由于膨胀运算,灰度图像中一些较小的黑色的点(灰度值小),会被灰度值更大的灰度覆盖(填充)。
灰度膨胀对一些灰度变化更为强烈的区域效果更明显,即灰度变化率更大的区域,灰度膨胀的效果更明显。
灰度腐蚀
灰度腐蚀的运算,在数学上的定义,如下公式所示:
与灰度膨胀类似,灰度腐蚀的运算可以描述为将原始图像的像素点移动个单位,再减去结构化元素在坐标处的值,求取集合中的最小值。灰度腐蚀的显著效果是不仅可以使得图像的尺寸变小,其灰度值也会变小。可以将灰度腐蚀的过程想象成一个雪人受到阳光照射而逐渐溶化的过程。
同样,为了更加深刻地理解灰度腐蚀的基本原理,与灰度膨胀一样,以一个简单的一维数据为例,介绍灰度腐蚀的计算过程,如下图所示:
假定结构化元素中下标为
#
的元素为原点,整个计算过程可以分为以下三个步骤:
(1) ,将原始数据向右移动一个单位,并给每个元素减去(-3),余位用··代替;
(2) ,原始数据移动0个单位,并给每个元素减去0,余位用··代替
(3) ,将原始数据向左移动一个单位,并将每个元素减去(-3),余位用
*
代替;
(4) 依次选取每一列中的最小值(默认
*
最小),得到经腐蚀后的数据。
更多的示例如下所示:
灰度腐蚀的效果图如下所示:
灰度腐蚀的特征
灰度腐蚀的效果,与灰度膨胀来对比,呈现出相反的特征,具体特征如下:
- 原始图像中,被暗色域包围的亮色域的区域大小会收缩,而被亮色域包围的暗色域的区域大小会扩张;
- 图像中一些较小的亮点会消失,而一些小的暗点会变大(可以认为,灰度具有让图像灰度值变小的效果,所以,灰度较大的白色会趋于消失,而灰度较小的黑色的尺寸会趋于增大。)
- 与灰度膨胀一样,灰度腐蚀的效果在图像灰度变化剧烈(图像梯度更大)的区域更明显。
灰度开运算
灰度形态学的腐蚀运算跟二值形态学的开运算一样,也是利用结构化元素,先对原始灰度图像进行腐蚀后,再进行膨胀的运算,用数学公式表述这个过程如下所示:
灰度开运算能够保留灰度图像中特定的强度的同时,削弱图像中的某种强度,如下图所示,用一个一维数据为例,将灰度开运算的过程当作一个用结构化元素从下往上fit
原始数据的过程,图像中的一些尖峰
无法fit
,将会被抹去,从而得到削弱图像强度的效果。
灰度开运算的过程,如下图所示,可以看出,对原始图像进行灰度开运算后,原始图像的尺寸并没有发生改变,只是一些灰度值变小了。
如下图所示,是一个灰度开运算效果的具体实例,如红框所标的部分,通过灰度开运算,灰度图像中一些被暗色(黑)包围的较小的亮色(白)通过开运算杯抹去,而蓝框表示出的一些较大的亮色区域却被保留了下来。
如下图所示,是灰度开运算的另一个例子,可以看出,结构化元素的尺寸越大,灰度图像中被抹去的亮色区域也越大。
灰度开运算的特点
综合以上两个实例,可以看出,灰度开运算具有如下特点:
- 对于一副灰度图像而言,如果一副图像中亮色(像素值较高)区域的尺寸比结构化元素的尺寸小,则会被抹去。
灰度闭运算
灰度闭运算的数学公式表述如下:
从数学公式的形式上,可以看出来,灰度闭运算与二值闭运算的计算过程非常相似,其基本的形态学运算灰度膨胀和腐蚀运算。与二值闭运算相比,灰度闭运算不改变图像本身的大小,而是会改变图像的灰度值。
为了更加形象的说明灰度闭运算的原理,以一个一维数据为例,如下图所示,可以将灰度闭运算看作是利用结构化元素对一副图像个上往下fit
的过程,fit
的过程中,会进入一些“死区”(尺寸小于结化元素的区域),则“死区”数据会被填埋。
以数学计算的方式理解,灰度闭运算,其计算过程如下图所示:
可以看到灰度闭运算,并不会改变图像本身的尺寸,而是会对增加图像的像素值,也就是,灰度闭运算会使得图像变得更亮。
观察以下图片,可以看出灰度闭运算的效果,使得图片中被红色边框所标示的尺寸较小的亮色区域(像素值较大)的部分尺寸增加,而蓝色方框标示出的较大的亮色区域并未发生改变。
观察以下图片,可以看出,当灰度闭运算的结构化元素尺寸越大,所造成,原始灰度图像中被填埋的区域面积也越大。
灰度闭运算的效果
通过以上分析,灰度闭运算具有如下效果:
如果一副图像中,被暗色区域包围的亮色区域的尺寸小于结构化元素的尺寸,则灰度闭运算会使得该亮色区域的亮度增强。
如果,灰度开运算结构化元素的尺寸越大,对原始图像的影响也越大,即原始图像中亮色增强的区域也越大。
灰度形态学算法的比较
最后,以一条曲线为例,比较四种灰度形态学算法的异同