APP下载

改进形态学梯度的样条插值亚像素边缘检测方法

2012-04-26张美静石振刚

沈阳理工大学学报 2012年3期
关键词:样条形态学插值

张美静,石振刚

(沈阳理工大学信息科学与工程学院,辽宁沈阳 110159)

图像边缘包含丰富的信息(如阶跃性质、方向、形状等),边缘检测是一个非常重要的图像预处理过程,在计算机视觉和图像处理领域中占据重要的地位[1],被广泛用于图像分割、遥感、机器人、医学图像分析和模式识别等领域。图像边缘往往是灰度不连续处,基于这一特征提出的经典边缘检测一阶算子(如 Sobel、Prewitt和 Canny[2]等)和二阶算子(如 Laplacian、Marr-Hildreth[3]等)的算法简单且检测速度快,但易受噪声的干扰,致使边界检测不完整,结果不精确,只有整个像素级的精度。实际上,边缘的位置存在于像素的任何位置,并且微分算子对噪声非常敏感,常会产生一些伪边缘等。随着工业检测等对精度要求的不断提高,传统边缘检测算法已经不能满足实际测量的需要。

为了解决这一问题,从20世纪70年代起,就有不少专家提出了一些有效的亚像素定位方法。这些算法需先用经典算法找出边缘的像素级精度的位置,然后使用周围像素的灰度值作为判断的补充信息,使边缘定位于更加精确的位置。亚像素级算法可以突破CCD相机分辨率的限制,使图像的边缘定位达到更精确的位置,从而提高图像测量系统的检测精度。目前国内外研究的亚像素边缘检测理论与技术,在数学上可以归纳为拟合法[4]、矩法[5]、插值法[6]三种类型。本文利用改进的数学形态学梯度算子进行边缘点的粗定位,再利用三次样条函数进行插值,最后将提取出的边缘进行细化,能够有效地检测出边缘。

1 数学形态学的基本原理

数学形态学图像处理是以几何学为基础,着重研究图像的几何结构。利用一个结构元素作为基本工具来探测和提取图像特征,看这个结构元素是否能够适当有效地放入图像内部,结构元素的选择与从图像中抽取何种信息有密切的关系。在解决去除噪声、边缘检测等图像预处理问题中有着明显的优势[7],其基本运算包括腐蚀(erosion)和膨胀(dilation),其他运算都是基于这2种运算的复合。

1.1 膨胀和腐蚀

膨胀是在图像中“加长”或“变粗”的操作,这种特殊的方式和加粗的程度由一个称为结构元素的集合控制。数学上,膨胀定义为集合运算。A被B膨胀,记为A⊕ B,定义为

式中,Φ为空集,B为结构元素。

腐蚀“收缩”或“细化”图像中的对象,像膨胀一样,收缩的方式和程度由一个结构元素控制。A被B腐蚀,记为AΘB,定义为

结构元素相当于一个小的“探针”,在形态变换中的作用与信号处理中的“滤波窗口”相同。结构元素可以有水平结构元素、垂直结构元素、矩形结构元素、扁平结构元素和圆盘结构元素等。

1.2 开运算和闭运算

开运算和闭运算都是膨胀与腐蚀的组合运算,A被B的形态学开运算记做A◦B,这种运算是A被B腐蚀后再用B来膨胀腐蚀后的结果:

开运算的另一个数学公式为

A被B的形态学闭运算记做A· B,它是先膨胀然后再腐蚀的结果:

形态学开运算和闭运算都能够平滑对象的轮廓,然而与开运算不同的是,闭运算一般会将狭窄的缺口连接起来形成细长的弯口,并填充比结构元素小的洞。

1.3 典型数学形态学边缘检测算法

基于上面的基本数学形态学运算,假设A(x,y)为灰度图像,B(s,t)为结构元素,有以下3种典型的形态学边缘检测算法[8](设E(A)为图像边缘)。

(1)内边缘提取算法(腐蚀型边缘提取):

(2)外边缘提取算法(膨胀型边缘提取):

(3)形态学梯度提取算法(膨胀腐蚀型边缘提取):

式中,⊕表示膨胀运算,Θ表示腐蚀运算。

以上三种形态学边缘提取算子是一种非线性差分算子,实质上是传统线性差分算子在一定意义上的推广,所以仍然有噪声存在。由于形态学膨胀和闭运算对负向噪声有抑制作用,而形态学腐蚀和开运算对正向噪声有抑制作用,杨述斌等[9]提出了一种改进的形态学边缘检测算子:

称其为改进形态学梯度算子(improved morphological gradient operator,IMG),由于随机噪声的宽度可能小于结构元素的宽度,而被混杂在处理后的图像中,因此单独使用结构元素很难取得最佳的滤波效果。为了同时提取边缘的像素点方向信息,便于构造边缘点向量组,选取2个3×3的十字形和交叉形的结构元素,并令其关于原点对称且互补。计算时采用两者形态学梯度的加权组合形式,则改进形态学梯度滤波算子(improved morphological gradient filter operator,IMGF)为

式中:c1、c2为权系数,c1IGrad1、c2IGrad2为两个结构元素相对应的改进形态学梯度;利用最小均方自适应方法,确定最佳的权系数。

2 对边缘图进行内插运算

改进的数学形态学梯度算子检测出像素级边缘后,为了得到亚像素级的边缘,要对边缘图进行内插处理。插值算法有很多种,例如最邻近插值、双线性插值、三次样条插值等等。虽然Sinc函数在理论上能够完全重建连续图像,但该函数计算量太大,实时性差。而最近邻插值、线性插值又不如三次样条插值精确,所以文中选用三次样条插值函数对图像边缘图进行插值处理。三次样条插值函数的定义为

若函数S(x)满足:

S(x)在每个子区间[xi-1,xi](i=1,2,…,n)上是不高于三次的多项式,其中(a=x0<x1<…<xn=b)。

(1)S(x),S′(x),S″(x)在[a,b]上连续。

(2)满足插值条件 S(xi)=f(xi),(i=0,1,…,n),则称 S(x)为函数 f(x)关于节点 x0,x1,…,xn的三次样条插值函数。

三次样条插值函数S(w)的表达式为

式中w为样条节点。

这里,三次样条插值函数在理论上与最佳插值函数Sinc(w)逼近。

二维空间的样条插值示意图如图1所示,用矩阵表示样条插值的计算公式为

F(m,n)为插值后的图像;f(i,j)为输入的插值前像素点;u和v分别为u=m-[m];v=n-[n];[]表示取整。

图1 二维空间的样条插值

3 基于改进的数学形态学梯度的样条插值法

文中首先将所选图像转换成二值图像,由于随机噪声的宽度可能小于结构元素的宽度,而被混杂在处理后的图像中,因此使用单个结构元素的改进形态学边缘检测算子(式(9))所得到的边缘图像仍然有噪声存在,所以文中采用改进形态学梯度滤波算子,即公式(10)进行边缘提取,所采用的结构元素为

采集到的CCD图像经形态学梯度滤波算子处理后,得到一个包含边缘点的向量组{E1,E2,……,En}。其中,Ei为由边缘点相邻2个像素点构成的向量,分别沿边缘垂直方向及梯度方向选取,得到原图像的边缘。其次利用三次样条插值法对提取出的边缘图像进行插值运算,最后再利用形态学细化算子将边缘进行细化,可有效地检测出图像边缘。此外,改进形态学梯度滤波能够克服线性滤波方法在平滑噪声的同时造成图像边缘模糊的不足;同时易于并行计算,处理时间短。经实验证明,此方法可行,且效果较理想。

该算法的实现过程如下:

(1)将原始图像f(x,y)转化为二值图像f1(x,y);

(2)利用形态学梯度滤波算子求出二值图像f1(x,y)的像素级边缘图像 f2(x,y),所采用的两个结构元素为[0 1 0;1 1 1;0 1 0]T和[1 0 1;0-1 0;1 0 1]T,计算形态学梯度滤波算子时采用两个结构元素对应的形态学梯度的加权和;

(3)将(2)中得到的像素级边缘图像f2(x,y)采用三次样条插值法进行内插运算,得到插值后的边缘图像F(x,y),使边缘定位于亚像素级;

(4)利用数学形态学细化算子将(3)中得到的插值后的边缘图像F(x,y)进行细化处理,得到齿轮图像的边缘,形态学细化处理中的参数细化次数定为n=25,如果细化次数太小,则不会出现明显的细化效果;如果所选细化次数过大,则图像边缘会失真且边缘不完整。

4 实验结果及分析

实验中所使用的图像是一副齿轮图像,运用软件MATLAB2008进行该算法的仿真实验,实验结果如图2所示:图2a为一副齿轮图像,图2b为利用二次曲线拟合亚像素边缘检测方法得到的边缘图像,此方法得到的边缘图像存在一些断点,连续性较差,这是因为在粗检测过程中有些边缘点未被检测出,影响到局部边缘点的定位精度。图2c为利用Sobel算子与样条插值法相结合得到的边缘检测结果,此图像的边缘周围存在微小噪声,边缘不够平滑,且边缘较粗。图2d为本文方法得到的边缘检测结果,文中方法的结果与另外两种方法相比,不仅使检测出的边缘图像比较连续,减少了边缘中的断点,并且有效地去除了图像边缘周围的微小噪声,使边缘比较平滑,清晰地检测出目标图像边缘,使得齿轮图像的边缘清晰可见。

图2 检测方法对比图

5 结论

此算法对样条插值法的亚像素边缘检测方法进行了改进,在得到二值图像后,运用改进的数学形态学梯度滤波算子对二值图像进行处理,与传统方法不同的是,改进的数学形态学滤波能够克服线性滤波方法在平滑噪声的同时造成图像边缘模糊的不足。通过仿真实验结果可以看出,运用文中的方法检测出的边缘减少了断点,抗噪能力较强,计算量小,处理速度较快,定位精度高,因而更有利于图像的分析与处理。

[1] Rajab M I,Woolfson M S,Morgan S P.Application of region-based segmentation and neural network edge detection to skin lesions[J].Computerized Medical Imaging and Graphics,2004,28(1/2):61 -68.

[2] Canny J F.A computational approach to edge detection[J].IEEE T rans on PAMI,1985,8(6):679 -698.

[3] Hildreth E C.The detection of intensity changes by computer and biological vision system[J].Computer Vision,Graphics and Image Processing,1983,22(1):1-27.

[4]贺忠海,王宝光,廖怡白,等.利用曲线拟合方法的亚像素提取算法[J].仪器仪表学报,2003,24(2):195-197.

[5]高世一,赵明扬,张雷.基于Zernike正交矩的图像亚像素边缘检测算法改进[J].自动化学报,2008,34(9):1163-1168.

[6]吴志鹏,刘金根,殷世明,等.红外图像的亚像素边缘检测[J].光电工程,2003,30(2):50 -52.

[7]闫丽丽,许长辉,高井祥,等.基于数学形态学细化算子的改进 Canny算法研究[J].测绘科学,2010,35(2):82-84.

[8]刘清,林土胜.基于数学形态学的图像边缘检测算法[J].华南理工大学学报(自然科学版),2008,36(9):113-116.

[9]杨述斌,彭复员.噪声污染图像中的广义形态边缘检测器[J].计算机工程与应用,2002,38(17):91 -92.

猜你喜欢

样条形态学插值
一元五次B样条拟插值研究
基于Sinc插值与相关谱的纵横波速度比扫描方法
三次参数样条在机床高速高精加工中的应用
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
基于样条函数的高精度电子秤设计
一种改进FFT多谱线插值谐波分析方法
基于四项最低旁瓣Nuttall窗的插值FFT谐波分析
医学微观形态学在教学改革中的应用分析
Blackman-Harris窗的插值FFT谐波分析与应用
数学形态学滤波器在转子失衡识别中的应用