论文部分内容阅读
摘要:图像边缘定位是图像处理研究的一大热点问题,近年来,国内外学者主要集中于对边缘亚像素定位方法的研究。本文研究了基于三次Bezier曲线逼近的图像边缘亚像素定位方法。首先利用传统边缘检测算子对边缘点位置进行粗定位,获得边缘点的大致位置;然后以边缘点为中心取若干点作为考察点,利用三次Bezier曲线去逼近所假设的边缘函数以获取图像边缘的亚像素定位。该方法通过粗、精两次定位能较快获得边缘的亚像素位置,具有定位精度较高,计算速度快等优点。
关键词:三次B ezier曲线;Sobel算子;亚像素定位;精定位
中图分类号:TP391.4
文献标识码:A
DOI: 10.3969/j.issn.1003-6970.2015.07.007
0 引言
在图像边缘定位中,常用的方法都是以像素为单位利用一阶或二阶微分算子进行处理,如Rebort算子、Sobel算子、Prewitt算子、LOG算子和Canny算子等。然而,随着工业生产的精度越来越高,像素级的边缘定位已无法满足实际的需要,许多学者开始致力于边缘亚像素定位方法的研究。目前,常用的边缘亚像素定位方法可分为三类:矩法、插值法和拟合(逼近)法。矩法是根据图像的空间矩、灰度矩、质心及局部能量等保持不变的特性,通过像素灰度值和边缘的灰度分布计算不同统计量来实现边缘的亚像素定位。利用矩法进行边缘亚像素定位时定位精度较高,但其主要采用模板卷积方式,导致其计算速度较慢。插值法是根据图像边缘附近像素点的灰度值或灰度值的导数进行插值,通过增加信息量来实现亚像素边缘检测。利用插值法进行亚像素边缘检测时计算速度较快,但其定位依赖于相邻像素间的灰度值及坐标,定位精度不高。拟合(逼近)法可具体分为两种类型:一种是根据假设的边缘函数,利用图像边缘灰度值拟合(逼近)边缘函数实现边缘的亚像素定位,主要有多项式拟合法、B样条拟合法、非线性拟合法等;另一种则是根据假设的边缘灰度值变化函数,利用图像边缘灰度差分值拟合(逼近)边缘变化函数来实现边缘的亚像素定位,主要有二次多项式拟合法、高斯曲线拟合法等。利用拟合法进行亚像素边缘检测时,其定位精度较高,计算速度比矩法快。
由于拟合法在速度和精度间达到了一定的平衡,通过粗、精两次定位可较快获得边缘的亚像素位置,因此是一种较为合适的边缘亚像素定位方法。然而,目前利用拟合(逼近)法进行边缘亚像素定位时,大多采用代数曲线作为拟合(逼近)工具,而鲜有采用参数曲线作为拟合(逼近)工具的研究。为此,本文主要研究了一种基于三次Bezier曲线逼近的边缘亚像素定位方法。
1 基于三次Bezier曲线逼近的边缘亚像素定位
1.1 边缘亚像素定位的基本原理
利用三次Bezier曲线逼近进行亚像素边缘检测的步骤是:首先利用传统边缘检测算子对边缘点位置进行粗定位,获得边缘点的大致位置;然后以边缘点为中心沿边缘点方向取若干点(一般为3~4个)作为考察点;最后利用三次Bezier曲线去逼近所假设的边缘函数或边缘变化函数,通过对三次Bezier逼近曲线求导获取边缘的精定位,从而实现图像边缘的亚像素定位。利用三次Bezier逼近进行亚像素边缘检测的基本过程如图1所示。
1.2 边缘的粗定位与取点
所谓边缘的粗定位,是指利用传统边缘检测方法确定边缘点的大致位置。传统的边缘检测有Rebort算子、Sobel算子、Prewitt算子、LOG算子和Canny算子等,在利用传统检测算子对边缘进行粗定位时,其优缺点对比如表1所示。
由表1可知,利用传统检测算子进行边缘粗定位时,在速度、精度及噪声抑制方面不能同时得到满足。虽然Sobel算子对边缘的粗定位精度不够高,由于在空间上容易实现,边缘检测效果较好且对噪声具有一定的平滑作用,因此本文将Sobel算子选作边缘的粗定位算子。
对于数字图像f(x,y),传统Sobel算子从水平和垂直两个方向,利用像素点上下、左右邻点的灰度加权算法,根据在边缘点达到极值实现边缘检测,其模板如图2所示。
适当选取某一阈值TH,当S(i,j)>TH时,将(i,j)视为边缘点,同时也可判断出边缘方向。利用Sobel算子获得粗定位边缘像素点后,以边缘点为中心,沿边缘方向的两侧各拓展2个像素点,得到长度为5的边缘灰度值向量。
1.3 基于三次Bezier曲线逼近的边缘精定位
利用Sobel算子对一幅数字图像的边缘进行粗定位处理后,得到粗定位边缘像素点所对应的灰度值向量组{G1,G2,…,Gn},对边缘灰度值向量Gi(i=1,2,…n)作三次Bezier曲线逼近,可通过求逼近多项式的二阶导来获得精定位边缘点。
作为一种优秀的曲线造型工具,Bezier曲线已在诸多领域获得了广泛的应用。一般地,函数形式的n次Bezier曲线可表示为
其中 为给定的值。
给定连续函数 并取 ,则由式(1)定义的函数形式的n次Bezier曲线又称为n次Bernstein多项式。由Weierstrass逼近定理可知,在区间[0,1]上可用B ernstein多项式逼近连续函数厂(t),且可达到任意精度。但由于随着逼近精度的提高,Bernstein多项式的次数也相应提高,会存在计算不稳定的问题,因此在实际应用中,要根据实际情况合理选择Bernstein多项式的次数。由于是通过求逼近多项式的二阶导来获得精定位边缘点,因此为了计算方便,本文选择三次B ernstein多项式作为逼近函数。
当n=3时,式(1)对应的三次Bezier曲线可表示为
设某粗定位边缘像素点的坐标为(x0,Yo),其边缘方向为垂直方向。以x0为中心,沿垂直方向的两侧各拓展2个像素点,其水平坐标分别记为X-2,X-1与Xl,X2,并将5个边缘像素点对应的灰度值向量记为G={g0,g1,…,g4}。
将G的分量看作是区间[o,1]上某边缘函数f(f)在等距节点 上的取值,即满足 。由于像素点坐标之间满足 ,于是像素点坐标x与变量t之间满足
由式(2)不难推导得B3(0)=P0,B3(1)=p3,于是利用三次Bezier曲线逼近f(t)时,其表达式可改写为
下面只需确定式(4)中的P1与p2即可实现三次Bezier曲线B3(t)对边缘函数f(t)的逼近。由最小二乘原理,可令
由求多元函数取极值的必要条件有式(5)改写成矩阵形式并计算整理得方程组
将式(6)所得结果P1, P2代人式(4)即得三次Bezier曲线逼近曲线为
其中 为粗定位边缘像素点的坐标。
同理可得沿水平边缘方向的精定位像素点(亚像素级)坐标为
其中 为粗定位边缘像素点的坐标。
例如,利用改进Sobel算子对256x256 (8bit)的标准Lena图进行边缘粗定位,其中某一边缘点的粗定位坐标为(101,119),对应的像素灰度值为73,边缘方向为垂直方向。以该粗定位边缘点为中心,沿垂直方向两侧各拓展2个像素点,对应的灰度值分别为127,107,57,54,即所得边缘灰度值向量G={127,107,73,57,54}。由式(6)计算得P1=107.6863,P2= 35.3529,将其代人式(8)可得t*=0.3607,由式(9)可得精定位像素点坐标为(x*, y*)= (100.4427,119)。
2 结语
本文提出了一种基于三次Bezier曲线逼近的图像边缘亚像素定位方法,通过粗、精两次定位能较快获得边缘的亚像素位置,具有定位精度较高,计算速度快等优点。此外,该方法首次采用参数曲线三次Bezier曲线作为拟合工具来逼近图像边缘函数,研究工作具有一定的理论和实际应用价值。在今后的研究工作中,将进一步应用到图像边缘亚像素定位的具体实例中。
关键词:三次B ezier曲线;Sobel算子;亚像素定位;精定位
中图分类号:TP391.4
文献标识码:A
DOI: 10.3969/j.issn.1003-6970.2015.07.007
0 引言
在图像边缘定位中,常用的方法都是以像素为单位利用一阶或二阶微分算子进行处理,如Rebort算子、Sobel算子、Prewitt算子、LOG算子和Canny算子等。然而,随着工业生产的精度越来越高,像素级的边缘定位已无法满足实际的需要,许多学者开始致力于边缘亚像素定位方法的研究。目前,常用的边缘亚像素定位方法可分为三类:矩法、插值法和拟合(逼近)法。矩法是根据图像的空间矩、灰度矩、质心及局部能量等保持不变的特性,通过像素灰度值和边缘的灰度分布计算不同统计量来实现边缘的亚像素定位。利用矩法进行边缘亚像素定位时定位精度较高,但其主要采用模板卷积方式,导致其计算速度较慢。插值法是根据图像边缘附近像素点的灰度值或灰度值的导数进行插值,通过增加信息量来实现亚像素边缘检测。利用插值法进行亚像素边缘检测时计算速度较快,但其定位依赖于相邻像素间的灰度值及坐标,定位精度不高。拟合(逼近)法可具体分为两种类型:一种是根据假设的边缘函数,利用图像边缘灰度值拟合(逼近)边缘函数实现边缘的亚像素定位,主要有多项式拟合法、B样条拟合法、非线性拟合法等;另一种则是根据假设的边缘灰度值变化函数,利用图像边缘灰度差分值拟合(逼近)边缘变化函数来实现边缘的亚像素定位,主要有二次多项式拟合法、高斯曲线拟合法等。利用拟合法进行亚像素边缘检测时,其定位精度较高,计算速度比矩法快。
由于拟合法在速度和精度间达到了一定的平衡,通过粗、精两次定位可较快获得边缘的亚像素位置,因此是一种较为合适的边缘亚像素定位方法。然而,目前利用拟合(逼近)法进行边缘亚像素定位时,大多采用代数曲线作为拟合(逼近)工具,而鲜有采用参数曲线作为拟合(逼近)工具的研究。为此,本文主要研究了一种基于三次Bezier曲线逼近的边缘亚像素定位方法。
1 基于三次Bezier曲线逼近的边缘亚像素定位
1.1 边缘亚像素定位的基本原理
利用三次Bezier曲线逼近进行亚像素边缘检测的步骤是:首先利用传统边缘检测算子对边缘点位置进行粗定位,获得边缘点的大致位置;然后以边缘点为中心沿边缘点方向取若干点(一般为3~4个)作为考察点;最后利用三次Bezier曲线去逼近所假设的边缘函数或边缘变化函数,通过对三次Bezier逼近曲线求导获取边缘的精定位,从而实现图像边缘的亚像素定位。利用三次Bezier逼近进行亚像素边缘检测的基本过程如图1所示。
1.2 边缘的粗定位与取点
所谓边缘的粗定位,是指利用传统边缘检测方法确定边缘点的大致位置。传统的边缘检测有Rebort算子、Sobel算子、Prewitt算子、LOG算子和Canny算子等,在利用传统检测算子对边缘进行粗定位时,其优缺点对比如表1所示。
由表1可知,利用传统检测算子进行边缘粗定位时,在速度、精度及噪声抑制方面不能同时得到满足。虽然Sobel算子对边缘的粗定位精度不够高,由于在空间上容易实现,边缘检测效果较好且对噪声具有一定的平滑作用,因此本文将Sobel算子选作边缘的粗定位算子。
对于数字图像f(x,y),传统Sobel算子从水平和垂直两个方向,利用像素点上下、左右邻点的灰度加权算法,根据在边缘点达到极值实现边缘检测,其模板如图2所示。
适当选取某一阈值TH,当S(i,j)>TH时,将(i,j)视为边缘点,同时也可判断出边缘方向。利用Sobel算子获得粗定位边缘像素点后,以边缘点为中心,沿边缘方向的两侧各拓展2个像素点,得到长度为5的边缘灰度值向量。
1.3 基于三次Bezier曲线逼近的边缘精定位
利用Sobel算子对一幅数字图像的边缘进行粗定位处理后,得到粗定位边缘像素点所对应的灰度值向量组{G1,G2,…,Gn},对边缘灰度值向量Gi(i=1,2,…n)作三次Bezier曲线逼近,可通过求逼近多项式的二阶导来获得精定位边缘点。
作为一种优秀的曲线造型工具,Bezier曲线已在诸多领域获得了广泛的应用。一般地,函数形式的n次Bezier曲线可表示为
其中 为给定的值。
给定连续函数 并取 ,则由式(1)定义的函数形式的n次Bezier曲线又称为n次Bernstein多项式。由Weierstrass逼近定理可知,在区间[0,1]上可用B ernstein多项式逼近连续函数厂(t),且可达到任意精度。但由于随着逼近精度的提高,Bernstein多项式的次数也相应提高,会存在计算不稳定的问题,因此在实际应用中,要根据实际情况合理选择Bernstein多项式的次数。由于是通过求逼近多项式的二阶导来获得精定位边缘点,因此为了计算方便,本文选择三次B ernstein多项式作为逼近函数。
当n=3时,式(1)对应的三次Bezier曲线可表示为
设某粗定位边缘像素点的坐标为(x0,Yo),其边缘方向为垂直方向。以x0为中心,沿垂直方向的两侧各拓展2个像素点,其水平坐标分别记为X-2,X-1与Xl,X2,并将5个边缘像素点对应的灰度值向量记为G={g0,g1,…,g4}。
将G的分量看作是区间[o,1]上某边缘函数f(f)在等距节点 上的取值,即满足 。由于像素点坐标之间满足 ,于是像素点坐标x与变量t之间满足
由式(2)不难推导得B3(0)=P0,B3(1)=p3,于是利用三次Bezier曲线逼近f(t)时,其表达式可改写为
下面只需确定式(4)中的P1与p2即可实现三次Bezier曲线B3(t)对边缘函数f(t)的逼近。由最小二乘原理,可令
由求多元函数取极值的必要条件有式(5)改写成矩阵形式并计算整理得方程组
将式(6)所得结果P1, P2代人式(4)即得三次Bezier曲线逼近曲线为
其中 为粗定位边缘像素点的坐标。
同理可得沿水平边缘方向的精定位像素点(亚像素级)坐标为
其中 为粗定位边缘像素点的坐标。
例如,利用改进Sobel算子对256x256 (8bit)的标准Lena图进行边缘粗定位,其中某一边缘点的粗定位坐标为(101,119),对应的像素灰度值为73,边缘方向为垂直方向。以该粗定位边缘点为中心,沿垂直方向两侧各拓展2个像素点,对应的灰度值分别为127,107,57,54,即所得边缘灰度值向量G={127,107,73,57,54}。由式(6)计算得P1=107.6863,P2= 35.3529,将其代人式(8)可得t*=0.3607,由式(9)可得精定位像素点坐标为(x*, y*)= (100.4427,119)。
2 结语
本文提出了一种基于三次Bezier曲线逼近的图像边缘亚像素定位方法,通过粗、精两次定位能较快获得边缘的亚像素位置,具有定位精度较高,计算速度快等优点。此外,该方法首次采用参数曲线三次Bezier曲线作为拟合工具来逼近图像边缘函数,研究工作具有一定的理论和实际应用价值。在今后的研究工作中,将进一步应用到图像边缘亚像素定位的具体实例中。