多相晶粒图像分析中复杂晶界的提取

时间:2007-04-28

摘要:提出了一种在多相晶粒图像分析中提取复杂晶界的有效方法。通过预处理消除晶粒内部灰度差和划痕对边界提取造成的影响;引入了模糊理论判别和跟踪边界,模糊边缘检测算法的特点是不需要确定门限值,具有很强的自适应性;进行细化去枝得到单像素宽度的晶界。

关键词:晶界提取 灰度变换 邻域平滑 模糊理论 细化去枝

在多相晶粒图像分析中常常需提取晶界来进行各种参数的测量和计算。对于简单清晰的图像,可以通过常用的Sobel算子、Roberts算子、Laplace算子等直接处理就能取得较好的效果。但是工程中遇到的大量图像由于材料本身或自然因素的影响,一定程度上都存在着晶粒内部灰度分布不均、边界模糊或划痕,用上述算子直接提取晶界很难获得满意的结果,主要表现在两个方面:(1)晶粒内部产生了许多伪边界,影响了对图像主要停息的研究;(2)部分主要边界丢失,损失较大。本文针对上述情况,提出了一种复杂多相晶粒图像晶界提取的方法,有效地克服了上述缺点,得到了比较理想的晶界。

1 预处理

1.1 灰度变换

对于一幅多相晶粒图像来说常常存在着灰度偏暗、偏亮或居中的情况,如果直接利用灰度的变化检测边界,一些主要边界会因为灰度变化很小而失失。使用幂次变换可以提高感兴趣区域的对比度。幂次变换的基本形式为:


其中r和s分别为输入灰度级和输出灰度级,c和β为正常数。根据图像的实际情况,调整参数c的取值可以改变图像的灰度动态范围,调整β的取值可以增强图像中感兴趣区域的对比度。在c值不变的情况下,随着β值的变化将简单地得到一族变换曲线,如。

从中可以看到,当β>1时该变换把输入窄带暗值映射到宽带输出值,当β<1的值和β<1的值产生的曲线有相反的效果。由于提取的图像的大边界,也就是灰度变化比较明显的各颗粒间的边界,而颗粒内部虽然存在灰度差,但灰度差较小,变化相对平稳,所以可以调节参数c适当压缩图像的灰度动态范围,从而平滑了图像,有利于后面的边界提取。
1.2 邻域平滑

1.2.1 中值滤波

由于晶粒内不同程度地都含有杂质、划痕、灰度发布不均匀的情况,可以选用不同尺度的中值滤波来平滑。中值滤波既能平滑图像,同时又能很好地保护边缘轮廓。但是采用大尺度中值滤波时会产生块状模糊。

1.2.2 自适应滤波

经过灰度变换和中值滤波后,若仍然不能得到较满意的平滑图像,可以采用自适应滤波进一步平滑图像。自适应平滑的基本形式为:


其中,g(i,j)为输入图像,g(i,j)和分别为M×N邻域内局部图像的均值和方差,σ2为整幅图像局部方差的均值,f(i,j)为平滑处理后的输出图像。恢复系数为:


对于一幅图像σ2是固定的,恢复系数k会随局部统计方差的变化而变化。在图像的平坦区域,相对较小,k值较小,用公式(2)平滑后,是对局部值做较小的恢复,或不恢复(k=0时);而对应于灰度变化较大的区域,σ2(i,j)较大,k值也较大,则对局部值做较大的恢复。这就是自适应平滑原理,代价是存在边缘模糊较应。

2 模糊检测

在边缘检测算法中,通常都要事先确定一个灰度阈值,然后把各像素点的灰度值与该阈值比较,大于阈值的像素点被确认为边缘点。如果直接利用某种边缘算子(如Sobel算子)检测边缘,存在两个困难:如果取较小的门限值,则得到的边缘点中包含了许多假边缘;如果取较大的门限值,则边缘很不连续。而基于梯度的模糊边缘检测算法可以自动确定门限,消除了由于选取不同的门限而对边缘产生的巨大影响。

2.1 模糊子集的定义

当论域为一有限集时,其上的模糊子集F定义为:


其中uF:[0,1]为F的隶属函数,uF(xj)表示xj属于集合F的程度。当u(x)的值域为{0,1}时,F就退化成一个普通(非模糊)集合。也就是说,普通集合可以看作是一个特殊的模糊集合,其隶属度为0或1。为了求得图像的边界,将定义为梯度的集合,xj定义为图像的梯度;uF(xj)表示梯度为xj的像素点是边界点的程度。

2.2 边缘隶属函数

在实际图像处理中,隶属函数是否合适是模糊集合能否成功运用的关键。现在研究的问题是多相晶粒图像的边缘检测,处理的是灰度图像,本文采用模糊统计法来确定隶属函数。通过大量实验发现,不同的多相晶粒图像的梯度直方图形状非常相似,如所示。由可见,梯度直方图主要集中在低值区域。这是因为颗粒内部各像素点与领域像素点的灰度值相差不大,而颗粒与颗粒之间像素点的灰度值相差较大,且前者数目远多于后者。统计所得隶属函数的形状近似如所示。故选取下型隶属函数:

u(x)=(x-n)/(m-n) (5)

其中,x为图像的梯度值, m和n分别为图像梯度的值和值。
2.3 判决函数

引入模糊理论后,模糊集合的数学期望就可以作为边缘检测的阈值,具有很强的自适应性。模糊集合F的数学期望为:


式6中,u(xj)表示图像边缘隶属函数,p(xj)表示边缘出隶属函数u(xj)在图像中出现的概率,即图像梯度直方图中梯度值为xj时对应的梯度概率。

2.4 边缘跟踪算法

边缘跟踪算法如下:

(1)按任意坐标轴方向扫描图像,找到一个非边界点;

(2)计算该点的隶属度u,如果u大于E(F),则该点为边界点,记录其行、列号,进行(3),否则返回(1);

(3)在该点的8邻域中寻找u的点,如果它是跟踪过的点,则返回(1),否则进行(4);

(4)如果未扫描完图像,返回(2);如果所有的点都扫描完毕,则结束。

跟踪结束后,将记录的边界点重新赋值可得到边界线条。

3 后处理

由上述方法得到的二值图像中边界线条存在毛刺且具有一定的宽度,直接使用这样的图形进行晶粒计算有一定麻烦,有必要对提取的边界进行平滑和细化。

3.1 边缘平滑

直接对提取的边界进行细化会产生许多多余的分枝短线,这是由于边缘存在许多毛刺引起的。可以使用数学形态学上的开操作与闭操作进行边缘平滑。开操作一般使图像的轮廓变得光滑,断开狭窄的间断并消除细的突出物。闭操作使轮廓线更为光滑,但与开操作相反的是,它通常消除细小的空洞,填补轮廓线中的断裂。

3.2 细化去枝

对平滑后的边界图像进行细化处理,得到单像素宽度的边界图像。待细化线条边缘存在突起时,细化后在突起处形成多余的分枝短线以及零星的伪边界细公后形成的短截线都必须去除。首先设定短线的长度阈值为L,如果线条长度大于阈值L则认为该线条是原线图中的线条而非多余多线;如果其值小于或等于阈值L,则认为该线条为多余短线将其去除。
4 实验结果

采用具有代表性的一幅多相晶粒图像作为实验原图,如(a)所示,对其进行晶界提取。(b)为用Sobel算子求得的边界图。利用模糊边缘检测算法,检测到的边界如(c)所示,细化去枝处理后得到的晶界如(d)所示。对比(b)与(d)可以看出,本文算法有效抑制了伪边界的生成,提取出了较为完整的晶界。

晶界提取是晶粒度图像分析中的重要环节。本文针对传统多相晶粒图像分析中晶界提取存在的缺陷,提出一了种简单有效的晶界提取方法。先进行预处理(灰度变换、邻域平滑),再作模糊边缘检测,在有效抑制了伪边界的同时提取出了比较理想的晶界。通过实验,验证了算法的有效性,由于晶界图像存在着不连续性,晶界的自动修复是下一步的研究方向。


  
上一篇:灰关联分析与语音/音乐信号识别
下一篇:语音控制的智能小车设计

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料