亚像素边缘检测在小模数齿轮参数检测中的应用
摘要:针对工业中小模数齿轮参数检测高精密的要求,本文设计了一种改进的Sobel算子和三次样条插值法结合得到亚像素边缘检测的方法,以快速且精确的方式,得到二值化的边缘图像。通过对小模数齿轮图像边缘提取实验,对该算法的有效性和检测精度进行了验证,给出了实测尺寸对比结果。实验结果表明:本文的亚像素定位算法比传统算子检测定位精度更高,可满足图像高精度实时在线测量的要求。
引言
小模数齿轮具有成本低、重量轻、精度高、传动噪声小等特点,广泛用于家电、飞机、工业控制、汽车机械等领域。精密注塑的快速发展,使小模数齿轮的精密检测成为关键问题之一,传统的测量方法很难达到要求。目前国内外小模数齿轮测试的自动化程度低,测试仪器和平设备较少。图像检测技术具有非接触、高精度、高效率等诸多优点,在齿轮生产中,需要大量其直径、角度、尺寸等指标,因此将图像检测技术应用于小模数齿轮有重大意义。
在图像测量领域,被测件有关边缘点的定位精度往往直接影响到整个测量的精度。因此,要提高齿轮检测的精密度,关键在于研究齿轮图像的边缘检测和精确定位方法。小模数齿轮齿槽空间小、轮齿刚度差、易变形,这要求检测的精度非常高,有的要求精确到μm级别。这就为图像测量技术带来了挑战,传统的边缘检测技术只能精确到1个像素点,这显然很难满足对检测精度越来越高的要求。因此,本文提出一种基于改进的Sobel算子和三次样条插值结合的亚像素边缘检测方法,能达到亚像素级并且具有较好的抗噪声能力。
Sobel算子边缘提取
传统的Sobel算子
Sobel算子是一种经典的微分边缘检测算法,它计算简单,且检测效果较好,能平滑噪声,可提供较为精确的边缘方向信息。
Sobel算子只检测水平方向和垂直方向的亮度差分值,其经典的3×3的邻域模板图1所示:
Sobel算子很容易在空间上实现,Sobel边缘检测器能产生较好的边缘效果,而且受噪声影响较小。
改进的Sobel算子
由以上分析可知,虽然Sobel算子简单、快速,但由于只采用了2个方向的模板,这种算法用来处理纹理较为复杂的图像时,其检测的边缘效果就不是很理想了。为了弥补此类不足,本文对Sobel算子进行了改进,将算子模板扩展到了8个模板,其算子模板如图2所示。
经过8个方向模板的计算,对某一幅图像进行逐点计算,并且取最大值为像素点的新灰度值,通过阈值的设定,判断边缘点。最大值对应的模板所表示的方向为该像素点的边缘方向。
为了克服Sobel算子检测的边缘较粗,得到的边缘象素往往是分小段连续,梯度幅值较小的边缘容易丢失的缺陷,本文对S(i,j)引入一个衰减因子D,用它去除计算的结果,即:
因此,用处理后的所得到图像与Sobel算子直接对原始图像进行边缘检测的图像相加,这一步显得尤为重要。可有效改进算法的精度。
亚像素边缘检测
传统的基于边缘跟踪算法定位精度一般为1个像素(包括以上改进的Sobel算子),其定位原理如图3所示。显然,检测的面积与物体几何轮廓有明显差距,对于数字图像,每个像素坐标均为整数,得到边缘点可能不太精确,因此本文中提出一种亚像素边缘定位算法,其定位的核心即如何更精确地估计边缘点坐标。
三次样条插值
改进的Sobel算子检测得出的是像素级的边缘,为了获得亚像素级的边缘,就要对边缘图像再进行精提取。考虑到要满足在线检测的要求,检测速度要越快越好,本文采取处理速度相对较快的对灰度边缘图内插处理方法。插值方法中,三次样条插值法得到精度高,所以本文采用三次样条插值法对灰度边缘图进行插值处理。
三次样条插值定义[4]如下:
若函数S(x)满足:(1)S(x)在每一个子区间[xi-1,xi] (i=1,2,…n)上都是不高于三次的多项式,其中
(2)S(x),S′(x),S″(x)在[a,b]上连续。
(3)满足插值条件S(xi)=f(xi) (i=0,1,…,n),那我们就称S(x)为函数f(x)关于节点x0,x1,…,xn的三次样条插值函数。其数学表达式如下
(2)
具体的实现方法是考虑一个浮点坐标(i+μ,j+v)周围的十六个邻点,目标像素点c的值
可通过以下的插值公式得到:
(6)
最大类间方差法(Ostu)
对插值得到的图像再进行二值化,就可得到图像边缘信息,其中阈值的选择是关键。这里采用最大类间方差法来自动产生阈值。该方法具有简单、处理速度特别快的优点,是一种常用
- 便携式发动机测试设备的研究(05-20)
- 频宽、取样速率及奈奎斯特定理(09-14)
- 为什么要进行信号调理?(09-30)
- IEEE802.16-2004 WiMAX物理层操作和测量(09-16)
- 为任意波形发生器增加价值(10-27)
- 基于PCI 总线的高速数据采集系统(09-30)
