霍夫变换
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.3.3 提取图形区域(Extracting Graphic Region )
图形的描述相对较复杂,考虑到文档图象中常见的图形主要是直线,因此我们在实际处理中仅检测各方向的直线。
由于在文档的光电转换中,如扫描等,常会出现图象倾斜,Stuart 等[30]指出,进行倾斜校正会使压缩比提高1%左右,因此有必要对倾斜的图象进行校正。同时,使原本水平和竖直的直线更加容易发现。此外,在图象中除了水平和竖直的直线外,通常还会出现其它方向的直线。为了能够检测到不是水平或竖直的直线,我们需要构造具有一定方向性的形态学算子。在本文中,我们检测图象中的各直线段方向,然后构造相应的结构元素将其检测出。
(1) HOUGH 变换 在检测直线中,很容易想到利用Hough 变换[60]。下面简单介绍Hough 变换。 直线y = mx + b 可用极坐标表示为:
)sin()cos(θθy x r +=,也可表示为:
y
x
tg y x r =++=
)()sin(2
2ϕϕθ,其中 式(3.15)
其中,(r ,θ)定义了一个从原点到该直线最近点的向量,显然,这个向量与该直线垂直。如图3.7所示。
图3.7 直线的极坐标表示 Fig3.7 Polar Coordinates of a line
考虑一个以参数r 和θ构成的二维空间。x,y 平面的任意一直线对应了r,θ平面上的一个点。因此,x,y 平面上的任意一直线的Hough 变换是r, θ平面上的一个点。
现在考虑x,y 平面的一个特定的点(x 0,y 0)。过该点的直线可以有很多,每一条都对应了r, θ空间中的一个点。然而这些点必须是满足以x 0,y 0作为常量时
的等式。因此在参数空间中与x,y空间中所有这些直线对应的点的轨迹是一条正弦型曲线,即x,y平面上的任一点对应了r,θ平面上的一条正弦曲线。式(3.15)也说明其正弦的函数关系。
如果有一组位于由参数r0和θ0决定的直线上的边缘点,则每个边缘点对应
了r,θ空间的一条正弦型曲线。所有这些曲线必交于点(r0, θ0),因为这是它们
共享的一条直线的参数。
为了找出这些点所构成的直线段,我们可以将r, θ空间量化成许多小格。根据每一个(x0,y0)点代入θ的量化值,算出各个r,所得值(经量化)落在某个小格内,便使该小格的计数累加器加1,当全部(x,y)点变换后,对小格进行检验,有大的计数值的小格对应于共线点,其(r, θ)可用作直线拟合参数。有小的计数值的各小格一般反映非共线点,应丢弃不用。
可以看出,如果r和θ量化得过粗,则参数空间的凝聚效果较差,找不出直线的准确的r和θ值;反过来,如果r, θ量化得过细,那么计算量增大,需要兼顾这两方面,取合适的量化值。图3.8给出了一个Hough变换的例子。
(a)去掉图象区后的收缩图象(b)Hough变换结果
(a) Reduced Image without Image Region (b) Result of Hough Transform
图3.8 Hough变换
Fig3.8 Hough Transform
(2)倾斜校正
由于Hough变换速度比较慢,因此在进行倾斜角度检测和直线检测的时候,考虑的一个重要因素就是计算量的问题。而计算量与搜索角度步长θs和搜索角
度范围θr又密切相关。采用了多级Hough变换[61],用由粗到细的角度搜索步长进行倾斜检测。它先用较大的θs和θr,以求出倾斜角度的大致范围,这相当于人眼粗看的过程。然后用较小的θs和θr对倾斜角度求精,根据实际需要,可以求出0.02º的倾斜,这相当于人眼细看的过程。采用多级Hough变换比直接Hough变换在速度上有了很大提高。同时文章还指出,利用图象的水平边缘可以得到更精确的效果。
本文直接对收缩图象进行多级Hough变换,可以得到相同的效果,而时间降低50%以上。表3.1给出了实验结果。
进一步分析发现,当搜索角度步长θs比较大时,凝聚效果比较差,一个可行的方法是将极径r进行压缩,这样,一方面可以使凝聚效果增强,另一方面也减小了在参数空间进行极值搜索的时间。
表3.1 倾斜角度检测比较
我们将图3.8(a)中的图象人工旋转1.5º后得到图3.9(a)中的图象。我们直接对图象进行Hough变换,得到图3.9(b)中的结果,检测出的角度为1.5º,而其耗时24.61秒,显然不能达到实时处理的要求。采用本文介绍的方法也可以得到其检测角度为1.5º,而其耗时仅为1.46s,其速度提高是非常明显的。
此外,由图3.9(d)我们可以看出文档图象的字符行在Hough空间具有非常明显的特征,这是因为文字行与行之间通常是保持平行的,在Hough空间就表现为在某一角度θ下出现多个极大值,并且这些极大值在极径方向上的距离大致是均匀的。根据这个特征,我们也能排除某些方向的直线对倾斜检测的影响。
(a )图3.8中(a )旋转1.5º后的图象 (b )直接Hough 变换的结果 (a) 1.5º Rotated Image in Fig3.8 (a) (b) Result of Direct Hough Transform
(c )第1级Hough 变换 (d )第2级Hough 变换 (c) the first stage of Hough Transform (d) the second stage of Hough
Transform
图3.9 多级Hough 变换 Fig3.9 Multi-stage Hough Transform
在求取倾斜角度时,为了消除笔画粗细的影响,我们对找到的满足上述特征的极大值对应的倾斜角度采用了算术平均的方式。设每行文字对应的倾斜角度为θi (i=1,…,N ,N 通常为文字的总行数),则图象的倾斜角度θm 由式(3.16)给出:
N
N
i i
m ∑==
1
θ
θ 式(3.16)
求出倾斜角度后,我们便可以对图象进行旋转。点(x0, y0)绕点(a, b )旋