购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.5 Hough变换进行直线特征检测

在工业领域中,直线和圆是最常见的图像特征,霍夫变换(Hough Trans-form,HT)非常适合这类基元的参数检测与提取。Hough变换以其对局部缺损的不敏感、对随机噪声的鲁棒性以及适于并行处理等优良特性,备受图像处理、模式识别和计算机视觉领域学者的青睐,已经成为模式识别的一种标准工具。它的突出优点就是可以将图像中较为困难的全局检测问题转换为参数空间中相对容易解决的局部峰值检测问题。Hough变换法是目前应用最广的特征检测方法,可以检测很多几何特征。它利用点与线的对偶性,将原始图像空间给定的曲线通过曲线表达形式变为参数空间的一个点,从而把原始图像中给定曲线的检测问题转化为寻找参数空间中的峰值问题,巧妙地利用了共面直线相交的关系,使直线的提取问题转换为计数问题。

2.5.1 Hough变换原理

设直线方程为

其中, u v 分别为直线的斜率和截距。对于给定的一条直线,对应一个数对( u v )。反之,如果给定一个数对( u v ),则对应一条直线 y = ux + v 。即 O-xy 平面上的直线 y = ux + v O-uv 平面上的一个数对( u v )构成一一对应。这个关系称为Hough变换。同理, O-uv 平面上的一条直线 v = -xu + y O-xy 平面上的点( x y )也是一一对应的,如图2-9所示。

图2-9 O-xy平面上直线与O-uv平面上点的对应关系

因此,如果 O-xy 平面上有一条直线 y = ux + v ,那么它上面的每一个点都对应于 O-uv 平面上的一条直线,这些直线相交于一点( u v )。利用这个重要性质可以检测共线点。

注意到直线的斜率可能接近无穷大,为了使变换域有意义,需要采用直线方程的法线式表示:

其中, ρ 是平面直线到坐标系原点的距离, θ 是直线法线与 x 轴的夹角。于是, O-xy 平面中的一条直线和 O-ρθ 平面中的一点一一对应, O-xy 平面中的一点和 O-ρθ 平面中的一条曲线一一对应,而且容易知道 O-xy 平面中的共线点所对应的 O-ρθ 平面中的曲线交于一点,如图2-10所示。

图2-10 共线点对应的曲线相交于一点

可以知道 O-xy 平面中直线上的各点对应着 O-ρθ 平面上的一个点。如果对过这一点的曲线进行计数,结果会是比较大的数值。因此可以根据精度将 O-ρθ 平面划分成等间隔的小直网格,这个直网格对应一个计数阵列。对于 O-xy 平面中的每一点,按上面介绍的原理在 O-ρθ 平面中画出它对应的曲线,凡是这条曲线经过的小格,对应的计数阵列元素加1。因此,计数阵元的数值等于共线的点数。当检测直线时,对应于大计数的小格,通过它的曲线所对应的 O-xy 平面的各点接近于共线,而通过对应于小计数的小格的曲线对应点认为是孤立点,不构成直线,应该去除。利用这个方法检测直线称为Hough变换直线检测方法。

Hough变换的实现过程可概括如下:

1)在 ρ θ 的最大值和最小值之间建立一个离散的参数空间。

2)建立一个累加器 A ρ θ ),并置每个元素为0。

3)对图像中曲线上的每一点做Hough变换,即算出该点在 ρ-θ 网格上的对应曲线,相应的累加器加1。

4)找出 A 的局部最大值,这个点就提供了图像平面上共线点的共线参数。

5)用最小二乘法拟合获得的共线点得到直线方程。

2.5.2 实验

首先对待检测零件的图像进行一系列预处理,如图2-11所示,然后运用小波边缘检测在MATLAB中进行编程得出零件的边缘图像,如图2-12所示,然后通过Hough变换对提取的边缘图像检测其上下棱边的边缘点,对检测到的边缘点应用最小二乘法进行拟合得到较精确的直线方程。由于零件下边缘轮廓的直线度较小,故选其作为基准要素,上边缘轮廓作为被测要素,实验结果如下:

图2-11 零件灰度图

图2-12 检测边缘图

通过检测上下边缘的边缘点进行最小二乘拟合得到零件两边缘的直线方程为

所获得的Hough变换图和最小二乘法拟合的直线分别如图2-13、图2-14所示。

图2-13 加阈值后的Hough变换

图2-14 最小二乘法拟合的直线

Hough变换把直线上点的坐标转换到过点的直线的系数域,利用了共面直线相交的关系使直线的提取问题转换为计数问题,可以很容易提取图像中的直线特征。 l4zT8VPtR7YLkMlyE5vaJ0odzMAxDmakHSDSrA9w2Xmb9t2o2zLSJCbqT0HcxpcO

点击中间区域
呼出菜单
上一章
目录
下一章
×