霍夫变换算子的分析与改进
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章绪论
Hough变换(Hough Transformation,HT) 是直线检测中常用的方法之一,是由PaulHough在1962年提出的。它所实现的是一种从图像空间到参数空间的映射关系。Hough变换将图像空间中复杂的边缘特征信息映射为参数空间中的聚类检测问题。Duda和Hart于1972年首次用该方法提取直线。他们发现,当许多点的分布近似为一条直线时,这条直线可以用Hough变换的方法确定。经典HT常被用于直线、线段、圆和椭圆的检测。广义霍夫变换(Generalized Hough Transformation,GHT)可以推广至检测任意形状的图形。
Hough变换的突出优点就是将图像空间中较为困难的全局检测问题转化为参数空间中相对容易解决的局部峰值检测问题。也就是说,通过Hough变换之后,工作的重点就是如何更准确地、有效地检测出参数空间中共同投票区域的投票积累峰值。当参数空间证据积累完成以后,通常采用给定阈值的方法确定备选估计参数。但是,由于Hough变换自身的特点,使得提取出来的备选估计参数远远多于真实参数的个数,而且有好多备选估计参数来源于同一直线上数据点的投票积累。若直接以备选估计参数作为检测到的直线参数输出直线,则是不符合实际、不正确的。所以,在确定最终参数时,需要对备选估计参数做一定的处理,从而保证检测的准确性。Hough 变换方法还具有明了的几何解析性、一定的抗干扰能力和易于实现并行处理点.Hough变换是从图像中识别几何形状的基本方法之一,因此有着广泛的应用。例如:基于Hough变换的航片框标定位算法,霍夫变换在潮位相关分析中的应用等。
第二章 Hough变换
2. 1 基本原理
Hough变换的基本原理是将影像空间中的曲线(包括直线)变换到参数空间中,通过检测参数空间中的极值点,确定出该曲线的描
述参数,从而提取影像中的规则曲线。 主要讨论直线与参数空间的变换性质。一般将Hough 变换称为线一点变换,这是因为它将直角坐标系中的线变为极坐标系中的点。假设目标空间用(,)A x y 表示,在此空间的直线y mx b =+可以用极坐标表示为:
=cos ysin A()x ρθθαθ+=+
(1) 其中(,)ρθ定义了一个从原点到直线上最近点的向量,这个向量与该直线垂直(如图1所示)。
图 1 目标空间与参数空间的几何关系
从图l 可知直线与x 轴夹角Φ,和直线的法向量与x 轴夹角θ两者之间的关系为
00
0090,9090,90=θθθθ+≤-≥⎧⎨⎩
Φ (2) 由(,)ρθ组成的空间称为Hough 变换的参数空间,用(,)B ρθ表示。对于目标空间(,)A x y 中任一点(,)x y ,在(1)式中θ从0 到180 变化,步长为1 ,计算对应的ρ值,建立的累加数组(,)B ρθ是目标图像的Hough 变换图像。设目标图像的高度和宽度分别为H 和W ,则Hough 变换后图像的宽度为180像素,高度近似为(W*W+H*H) 像素。若希望提高Hough 变化的精度,θ变化的步长可以设臵为0.5 ,则变换后图像宽度相应增加一倍。
2.2 Hough 变换的基本性质
一、空间域的一个点(x,y)对应于变换域的一条正弦曲线
=x cos ysin A()ρθθαθ+=+
其中
α=1tan (/)x y -
二、变换域的一个点(ρ,θ)对应于空间域的一条直线
tan /sin y c x θρθ=-⋅+
三、空间域一条直线上的n 个点对应变换域中具有一个公共点的n 条曲线
(,),1,2,i i x y i n = i i y ax b =+
由性质一知,与第i 点 (,)i i x y 对应的变换域曲线
cos sin cos ()sin (cos sin )sin i i i i i x y x ax b x a b ρθθ
ρθθ
θθθ
=+=++⋅=++⋅ 对于这一性质我们可以这样来理解:空间域的n 个点对应变换域的n 条曲线,但该n 条曲线未必相交;如果空间域的n 个点在一条直线上,那末变换域的n 条曲线必相交于同一点;同一条直线上的点越多,变换域交点的重数(相交曲线的条数)就越大。这是我们用Hough 变换检测线特征的基础。
四、变换域中一条曲线上的n 个点(,)i i ρθ对应于空间域具有一个公共点的n 条直线
cos sin ,1,2,i i i i n ραθβθ=⋅+⋅=
每一对(,)i i ρθ对应的空间域直线为:
cos sin 1i
i i i x y θθρρ+=
=x cos ysin A()ρθθαθ+=+
注意:
/sin tan i i i c ρθαθβ=⋅+
tan /sin tan tan ()tan i i i
i i i y xc x c c x c θρθθαθβαθβ
=-+=-⋅+⋅+=-⋅+
显然,当x=α时,y=β,即点(,)αβ在每一条直线上
2. 3基于Hough 变换的直线提取过程
用Hough 变换提取直线可以概括如下:
(1) 对影像进行预处理,提取特征并计算梯度方向;
(2) 将参数平面量化,在ρ和θ合适的最大值和最小值之间建立一个离散的参数空间,建立一个累加器A(ρ,θ),并臵每个元素为O ;
(3)对边缘图上超过门限值的每一点作Hough 变换(对于二值图像即为黑色像素点),即算出该点在ρ-θ平面上的对应曲线,并在相应的累加器上加1
(,)(,)1A A ρθρθ=+
(4)找出对应图像平面上共线点的累加器的局部极大值,这个值提供了图像平面上共线点直线的参数,从而可以确定该直线。
2.4 基于Hough 变换理论的其它几种典型图形的检测
(1)线段长度检测
线段的长度也就是线段上所包含的像素点的个数,由于图像空间中的直线对应参数空间中的一点,累加数组A(21d ρρ=-,θ)的值
就表示图像空间中共线点的像素个数,根据这个原理可以通过检测参数空间中的最大灰度点,来检测最长的线段.
(2)平行线检测
对于一组相互平行的直线段,其法向量与 轴夹角θ都相等,因此反映在参数空间中对应的点都位于角度为θ的方向上,这样通过在参数空间检测特定角度的点,就可以检测图像空间中相应的平行