灰度形态学.docx
《灰度形态学.docx》由会员分享,可在线阅读,更多相关《灰度形态学.docx(11页珍藏版)》请在冰豆网上搜索。
灰度形态学
灰度形态学
灰度形态学基本运算
■灰度形态学介绍
■灰度腐蚀
■灰度膨胀
■灰度开运算与灰度闭运算
灰度形态学介绍
灰度形态学是二值形态学向灰度空间自然扩展。
在灰度形态学中,分别用图像西数f(x,y)和b(x,y)表示二值形态学中的目标图像八和结构元素B,并把£(x,y)称为输入像,b(%y)称为结构元素,函数中的(绍y)表示图像屮像素点的坐标。
二值形态学中用到的交和并运算在灰度形态学中分别用最人极值和最最小极值运算代替。
灰值腐蚀
在灰值图像中,用结构元素b(x,y)对输入图像F(x,y)进行灰度腐蚀运算可表示为
(妙)(&/)=mn!
/(s+x,t十力-旳丿本+成叶刃€巧,(人丿)€亦(-J
其中,Dt-^JDb分别是F和b的定义域
耍求x和y在结构元索b(x,v)的定义域Z内,而5T移参数(s+x)和(t+y)宓须在f(x,y)的定义域这内,这与:
值形态学腐蚀运算左文屮要求结构尤索必须完全包括在被腐蚀图像中情况类似。
但与二值图像的腐蚀运算的不同之处是,被移动的是输入图像函数怖不是结构元索b。
■灰度运算的计算是逐点进行的,求菜点的腐蚀运算结果就是计算该点局部范圉内各点打结构元索中对应点的灰度值之差,并选取其中的最小值作为该点的腐蚀结果。
经腐蚀运算后,图像边缘部分具冇较大灰度值的点的灰度会降低,因此,边缘会向灰度值高的区域内部收缩。
图给出了一个计算灰度腐蚀运算的例子。
图1」(Q为5X5的灰度图像矩阵A,图1-1(b)为3X3的结构元素矩阵B,其原点々中位位置处。
卜而以该例子腐蚀结果为例,说明灰度腐蚀运算过程:
图1-1灰度腐饨运算示例
1将B的原点重叠在A的中心元素上,如图
(c)所示。
2依次用A的中心元素减去13的各个元素并将结果放在对应的位置上,如图1-1(d)所示。
3将B的原点移动到与A的粧元素相邻的8个元素上进行相同的操作,可得到8个平移相减的结果,图1-1(e)所示为把B的原点移动至山中心元素的右侧位置上,图1-1(F)为此时计算的结果。
4取得到的9个位置的最小值,即为A中心元素腐蚀结果,如图(F)所示。
5依据该方法计算A中的英他元素,就可得到珂像灰度矩阵人的腐蚀结果如图1-1(h)所/Jno
为了便于分析和理解灰度腐蚀运算的原理和效果,町将
(一)式进一步简化,仅列出一维函数的形式,如卜•式所示
在式
(二)中,目标图像和结构元素简化为的函数,耍求X和平移参数(s+x)分别/I.〜〜ST.Db之内是为了保证结构元素b(x)在0标图像F(k)的廳異程|叟紡理,在冃标图像冷围外的处理述显
图17维出}当目标图像和结构元索均为•维函数时,血蚀运算的过稈示意图。
其屮1・2(勿为冃标图像f(X),图l-2(b)'J*川向"—r=主…、好l・2(c)为懈蚀的结集。
7"、
愆㈱儡肿
为一维圆形结构元素b(x),图
利用结构元素b(x)对冃标图像F(x)的腐蚀过程是:
在冃标图像下方“滑动”结构元索,结构元素所能达到的最人值所对应的原点位置n勺集合即为腐蚀的结呆,如图1・2(C)所示。
这与二值腐蚀运算为结构元索“填充”到输入图像中对应的原点集•合是相似的。
从图l-2(c)还可以看到结构元索b(x)必须在口标图像F(x)的下方,所以空间平移结构元索的疋义域必为输入图像函数的定义域的子集。
否则腐蚀运算在该点没有意义。
11」于腐蚀操作是以在结构元素形状定义的区间内选取(F・b)最小值为基础的,因此,灰度腐蚀运算的效果是:
对丁•所有元素都为正的结构元素,输出图象趋向于比输入图像暗;当输入图像中的亮细节而积小于结构元素时,亮的效果将被削弱,削弱的程度取决于亮细节周围的灰度值和结构元素自身形状与幅值。
灰度腐蚀操作的Matlab实现
Matlab中灰度腐蚀操作函数与二值胸蚀操作函数在Matlab7.x中都为imerode,结构元素的定义也相同。
通过下面的程序,我们来观察一卜'灰度腐蚀的效果
■>>fl^imreadftire.tif);
■>>bl=strelCdisk',5);
■>>f2=imerode(fl,bl);
■>>imsliow(fl);
■>>figure,imshow(£2);
灰度膨胀
灰度膨胀是灰度腐蚀运算的対偶运算,结构元索b(x,y)对0标图像f(x,y)进行灰度膨胀可表示为:
(/a)(s,f)=max并・心y)+治艸s7),(一刃叫,(x,y)4;(三)
■其中,Df和Db分别是F和b的定义域
■类似丁•二值膨胀运算中要求口标图像集合和结构元素集合相交至少有一个元素。
灰度膨胀运算的计算是逐点进行的,求某点的膨胀运算结果,也就是计算该点局部范围内乞点与结构兀索中对应点的灰度值之和,并选取其中的垠人值作为该点的膨胀结果,经膨胀运算,边缘得到了延伸。
图2・1给出了一个计算灰度膨胀运算的示例。
图2・l(a)为5X5的灰度图像矩阵A,图2-1(b)为3X3的结构元素矩阵B,其原点在中心位置处。
卜•而以计算图像八的中心元素的膨胀结果为例,说明膨胀运算过程:
1将B旳原点重叠在A的中心元索上,如图2・1(c)所示。
2依次用A的屮心元素加上B的各个元素并将结果放在对应的位置上,如图2-1(d)所示。
氯浹底图傅A(b)结枸元求B(c)过程①笳纭杲(①过程②前结杲
©B煤点宦§A右糾⑴过程③的纯果(出程俪结呉(加芟腐蚀射结巣
图2-1灰度届七电运算示例
3将B的原点移劲到与A的屮心元索相邻的8个元索上进行相同的操作,可得到8个平移相加的结果,图2・l(e)所示为把B的原点移动到人中心元索的右侧位置上,图2・l(f)为此时的计算结果。
4取得到的9个位貝结果的最大値作为A屮心元索的膨胀结果如图2・1②所示。
5依据该方法计算A中的其他元素,就口J得到图像灰度矩阵A的膨胀结果如图2・l(h)所示。
为了便丁•分析和理解灰度膨胀运算的原理和效杲,可将
式(三)进一步简化,仅列出一维函数的形式,如式(四)所示
(/㊉=/仗一为4^(卅@7)wDpXwDj;(四)
其中,输入图像和结构元素简化为X的函数,分别耍求X和平移参数(s・x)在定义域Db和Dt之内。
图2・2给出了当输入图像化为x的函数吋的膨胀运算的过程示意图。
图2・2(莎为输入图像F(x),图
2-2(b)为一维鬪形结构元素b(x),图2-2(c)为膨胀的结果。
采用结构元素b(x)对输入图像F(x)进行膨胀过程是:
将结构元索的原点平移到输入图像曲线上,使原点沿着输入图像曲线“滑动”,膨胀的结杲为输入图像曲线与结构元素之和的最大值。
这与二值膨胀运算中,结构元素平移通过二值图像中的每一点,并求结构元素与二值图像的并是相似的。
由丁膨胀操作为是以在结构元素形状定义的区间内选取(F+b)的最大值为基础的,因此灰度膨胀运算的效果是:
对丁•所有元素都为正的结构元索,输出图像趋于比输入图像亮;当输入图像中的暗细节而积小丁结构元素时,暗的效果将被削弱,削弱的程度取决丁•膨胀所用结构元素的形状与幅值。
灰度膨胀的Matlab实现
Matlab中灰度膨胀操作函数与二值膨胀操作函数在Matlab7・k中都^Jimerode,结构元素的定义也相同。
通过下而的程序,我们来观察一下灰度腐蚀的
效果
■>>fl^imreadftire.tif);
■>>bl=strel(,disk,35);
■>>imshow(fl);
■>>f3=imdilate(fl,bl);
■
>>figure,inishow(f3);
灰度膨般的Matlab实现
灰度腐蚀与灰度膨胀之问的对偶关系,可以用下式来表示
2
(2)
此时,函数F(x,y)的补f;(x?
y)=-f(x?
y)?
函数b(x,y)的反射EHBI定义另
灰度开运算与灰度闭运算
与:
值形态学类似,在定义r灰度腐蚀和灰度膨胀运算的基础上,可以进•步定义灰度开运算和灰度闭运算。
灰度开运算
灰度开运算,弓一値图像的丿|:
运算具有相同的形式,用结构元素b对灰度忖标图像F进行开运算可表示为
/a6=
开运算叮以通过将求出的所有结构元素的形态学平移都填入目标图像t的下方的极大点來计算。
这种境充方式可以
从几何角度直观地用图3-1來描述。
图3-1(次)为目标图像函数F当y为某一常数时对应的一个截面,图3・l(b)为球形结构元索b在该截面上的投影,采用该结构元素对冃标图像进行开适算的过程是:
在巴标图像下方滑动结构元素,如图3-l(c)所示;在每一点记录结构元索上的最高点,则由这些最高点构成的集合即为开运算的结果,如图3・l(d)所示。
在该运算中,原点相对于结构元索的位置不会对运算结果产生影响。
由图3-1的开运算过程示意图可以看出,在开运算中所有比球体直径窄的波峰在幅度和尖锐上都减小了,因此开运算可以去除相对结构元素较小的明亮细节,保持整体的灰度级和较大的明亮区域不变。
灰度开运算的Matlab实现
Matlab中灰度开运算操作函妙:
值开运算操作函数存
Matlab7.x中都^imerode,结构元素的定义也相同。
通过下而的程序,我们來观察-下灰度开运算的效杲
■>>fl=imreadflena.bmp1);
■>>bl二strelCdisk',3);
■>>imshow(fl);
■>>f2=imopen(fl,bl);
■>>figure,imshow(f2);
原图像开运算后的图像
灰度开运算的UMbb实现
灰度闭运算
用结构运算b对H标图像f进行闭运算可衣示为
闭运算可以通过求出所有结构元索的形态学平衡号口标图像上方的极小点來计算,这种平移方式可以从儿何仔J度直观地用图3-2來描述。
图3-2(次)为|丨标图像函数「、匕为某一常数时对应的一个截面,图3・2(b)为球形结构元索b在该截而匕的投影,釆用该结构元素对目标图像进行闭运算的过程足:
在廿标图像上方滑动结构元素,如图3・2(c)所示;在每一点记录结构元素I•的垠低点,则由这些最低点构成的集合即为开运算的结杲,如图3・2(d)所示。
在该运算中,原点相对J:
结构元素的伎置不会对运算结果产生影响。
Lil图3-2的闭运算过程示意图可以看出,在开运算中所有比球休直径窄的波谷在幅度和尖锐度上都增加了,因此,闭运算可以除去图像中的暗细节部分,相对的保持明亮部分不受影响。
灰度闭运算的Matlab实现
Matlab中灰度闭运算操作函妙二值闭运算操作函数在
Matlab7态中都timecode,结构元素的定义也相同。
通过下而的程序,我们來观察-下灰度闭运算的效来
■>>fl=imreadflena.bmp*);
■>>bl二strelCdisk;3);
■>>imshow(fl);
■>>f3=imclose(fl,bl);
■>>figure,imshow(f3);
原图像闭运算后的图像
灰度闭运算的Matlab实现
灰度开运算与闭运算的对偶性
与二值开运算与闭运算相同,灰度开运算与闭运算也具倚对偶性,可用公式表示为