2 扩展的Sobel细化算子
2.1 扩展的两个模板
图像目标的边缘是灰度不连续性的反映,其种类可粗略区分为:阶跃性边缘和层顶状边缘。前者的两边像素点灰度值显著不同,后者位于灰度值从增加到减少的变化转折点。为了更准确描述图像边缘点.减少噪声对其检测结果的影响,提高算子的抗噪能力,在水平、垂直模板的基础上重新构造2个3x3的模板,模板各个位置的权重是由该位置到中心点的距离以及该位置在模板中所在的方向决定的,等距离的点具有相同权重,如图l所示。这里选用最高输出模板所对应的边缘梯度值作为像元边缘梯度强度。
2.2 Sobel算子细化边缘
图像边缘包含图像的大量信息,但模板计算的数值仅仅只是图像对应的梯度图像,边缘出现于梯度较大位置,若想提取图像边缘必须设定阈值将其二值化。由一阶梯度算子得到梯度图像,一般边缘较粗,若直接对其梯度图像设定阈值进行二值化,很难找到合适的阈值.也不便于边缘连接与边缘特征提取等后期处理。因此在对图像梯度图像进行二值化前,必须细化所检测的梯度边缘。细化原理是基于经典Sobel算子定义的:
梯度方向为:
Sobel算子模板中的元素表示算式中相应像素的权重因子。Sobel算子是边缘检测算子,故其处理模板中各因子之和为零。另一方面,由于正因子和负因子之和分别为4和一4,在极端情况下处理结果可能溢出。因此,在实际使用时,Sobel算子通常采用已设定阈值进行二值化,即处理结果得到的是已二值化的边缘图。该结果将导致边缘图中幅值较小的边缘丢失。为了克服这个缺陷,引入一个衰减因子Scale,用它去除计算结果,来消除数据的溢出,而无需二值化处理,而且其结果是无失真的灰阶边缘图,从而保留所有边缘数值同。加入扩展的模板后可得:
因子Scale取4,它也是归一化因子,即两个灰度层的阶跃,交界处的处理结果就是其灰度差值。
灰度图像细化处理步骤如下:①对灰度图像作带衰减因子的Sobel处理,得灰度边缘图。Sobel处理采用式(3);②对所得灰度边缘图再作带衰减因子的Sobel处理;③灰度边缘图减去Sobel处理结果,再将与负值部分对应的边缘点的值改为零,得到细化的边缘图。
3 多项式插值亚像素细分的精定位
运用Sobel细化算子改进的方向模板获取边缘点的梯度方向,可采用已知的边缘点的梯度方向近似代替未知的亚像素点的梯度方向,并在该方向上进行二次多项式插值得到边缘的亚像素位置。