一种直线段检测和提取方法

文档序号:6552814阅读:221来源:国知局
专利名称:一种直线段检测和提取方法
技术领域
本发明涉及文本图像处理、图形基元检测与提取,特别涉及一种直线段检测和提取方法。
背景技术
直线段的检测与提取是文本图像分析与理解研究中的一个重要课题,它在图形矢量化、图形特征提取、目标识别等领域中有着广泛的应用,如在银行票据自动处理系统中用于对表格的自动分析,以及对票据中印章图形的自动识别与提取等。现有的直线段检测技术大致可分为两类基于霍夫变换(Hough Transform)的方法与非霍夫变换的方法。基于霍夫变换的直线段检测方法首先通过将图像空间中的点映射到对应的参数空间,并进行投票累积,然后在累加器中寻找局部极大值点来检测直线。最后将检测到的直线反映射至原图像,来确定直线段的端点。这种方法具有较高的鲁棒性, 抗噪能力强,能检测到断裂或破损的直线段。然而,由于要采用一个较大的二维累加器, 霍夫变换方法通常会占用较多的内存,且计算量大。此外,由于霍夫变换本质上采用了一种一对多的投票机制,投票过程中会产生大量的虚假投票,从而导致在参数空间寻找局部极值点时较困难,易检测出大量虚假直线段。针对此情况,许多研究者陆续提出了多种改进算法,如随机霍夫变换(Randomized Hough Transform),层次霍夫变换(Hierarchical Hough Transform),序列霍夫变换(Sequential Hough Transform),及后向投影法(Back Projection)等。这些改进在一定程度上提高了直线段检测的精度,但检测结果中仍然存在大量的误检与漏检。非霍夫变换的方法将直线段检测问题看作图像局部区域像素点的线性相关分析问题。通过对图像局部区域的像素点进行主成份分析,并计算该区域像素点散度矩阵的特征值来检测直线段。若该区域存在直线段,则该区域的像素点集具有很高的相关性,因此, 对应的散度矩阵的最小特征值通常非常小。于是,可通过分析最小特征值来判断该区域是否包含直线段。有研究者对该方法进行了改进,通过预先对图像中的像素点分类来提取不同方向的连通分支,然后通过分析最小特征值来判断它们是否为直线段。由于易受图像噪声影响,这类方法普遍存在精度不高、误检率大等缺点。直线段的快速检测与提取是一个具有挑战性的问题,其中部分原因在于直线的量化误差。在图像上,由于量化误差的存在,连接两个近距离像素点的直线数目不唯一。这为精确确定直线段的方向造成了困难。另一方面,由于图像噪声的影响,直线段通常会出现断裂、残缺,从而大大影响了直线段端点定位的精度。然而,人眼在直线段检测方面的表现却往往不受这些因素的干扰,并且,在检测性能上与现有的方法相比有着很大的优势。这在某种程度上暗示了在直线段检测方面,目前的算法仍然存在较大不足,有许多值得改进和提高的地方。人眼在进行直线段检测时,似乎遵循着一种自底向上的检测过程,首先检测局部区域内的直线段,由检测到的局部直线段开始对其进行延伸跟踪,最后在全局上对所跟踪
3的直线段进行验证。由于人眼特殊的构造及其视野的限制,往往无法在一开始就对直线进行整体上的判断,因此,这一过程似乎非常自然。并且,局部检测或许解释了人眼在直线段检测上的优异表现。而传统的基于霍夫变换的方法,则是从整体上来检测直线段,而不关注直线段的局部性质,如连通性等。这导致大量的非直线段像素点参与投票,从而使得累加器中出现许多虚假的局部极值点,而将真正的直线段产生的投票点淹没。另外,人眼在对直线段进行局部检测时,似乎不是盲目的对区域内的所有像素点尝试进行直线拟合,而是根据某种先验和像素点的局部特征首先对区域内的像素点进行分类。这种分类为局部直线段的检测引入了大量的约束,从而能大大的降低直线段匹配时的搜索空间及其计算复杂度。这一过程类似于像素点的感知聚类,直线上像素点的特征与先验则构成了感知聚类规则。通过分析,往往不难总结出这些聚类规则,例如对于同一直线段上的两个像素点,这两个像素点处的游长特征往往具有某种一致性,如最短游长的方向与长度等等。通过归纳这些聚类规则,并将其应用于局部直线段的检测,则能大大的提高直线段的检测效率,并能有效抑制霍夫变换过程中虚假投票的产生。

发明内容
有鉴于此,本发明的目的旨在提供一种快速且鲁棒的直线段检测和提取方法,用于文本图像中图形目标,如表格、矩形印章、印刷线等的检测和分析。为实现所述目的,本发明提供的直线段检测和提取方法的技术方案包括步骤如下步骤Sl 对一幅扫描二值图像,计算二值图像上每个像素点周围的游长直方图, 并提取对应的游长方向与长度特征;步骤S2 对二值图像上每个前景像素点,构造一个圆弧形邻域结构,并利用像素点周围的游长特征进行局部直线段的检测;步骤S3 对检测到的局部直线段进行聚类合并,得到具有全局意义的长直线段。其中,游长直方图特征包含直线段的宽度信息WL和直线段的方向信息DL,用于提高局部直线段的检测效率。其中,所述局部直线段的检测包括如下步骤步骤S21 初始化直线段检测参数,并设置待检测直线段的最小长度;步骤S22 构造一个圆弧形邻域结构,并建立对应的二维查询表。该查询表用于快速确定以圆弧形圆心为起点的所有局部直线段的端点坐标;步骤S23 对二值图像上的每个像素点,利用游长直方图特征,在其圆弧形邻域结构上快速确定匹配点对;步骤S24 对每一匹配点对,计算点对之间的连通度,从而判断这一对点对间是否存在局部直线段,并对当前像素点做起点标记;重复步骤S23至S24,直到所有像素点处理完毕。其中,所述局部直线段的聚类合并包括如下步骤步骤S31 初始化直线段检测集合为空;步骤S32 利用霍夫变换对局部直线段起点图进行直线检测,累加器阈值设为1, 并记录每条直线在累加器中对应的投票数目;
步骤S33 对于每一局部直线段,选取位于其角型区域中具有最大投票数的直线;步骤S34 逐个扫描所有位于该直线上的局部直线段,判断当前直线段与其是否满足合并条件;若是,将当前直线段与其进行合并,并更新直线段的端点信息;重复步骤 S33至S34,直到所有局部直线段处理完毕。其中,通过计算直线段Li (A,B)到直线1(P,Θ)的如下距离D(Li;l)来判断该局
部直线段是否位于某直线上
权利要求
1.一种直线段检测和提取方法,其特征在于包括步骤如下步骤Sl 对一幅扫描二值图像,计算二值图像上每个像素点周围的游长直方图,并提取对应的游长方向与长度特征;步骤S2 对二值图像上每个前景像素点,构造一个圆弧形邻域结构,并利用像素点周围的游长特征进行局部直线段的检测;步骤S3 对检测到的局部直线段进行聚类合并,得到具有全局意义的长直线段。
2.根据权利要求1所述的直线段检测和提取方法,其特征在于,游长直方图特征包含直线段的宽度信息WL和直线段的方向信息DL,用于提高局部直线段的检测效率。
3.根据权利要求1所述的直线段检测和提取方法,其特征在于,所述局部直线段的检测包括如下步骤步骤S21 初始化直线段检测参数,并设置待检测直线段的最小长度;步骤S22 构造一个圆弧形邻域结构,并建立对应的二维查询表;该查询表用于快速确定以圆弧形圆心为起点的所有局部直线段的端点坐标;步骤S23 对二值图像上的每个像素点,利用游长直方图特征,在其圆弧形邻域结构上快速确定匹配点对;步骤S24 对每一匹配点对,计算点对之间的连通度,从而判断这一对点对间是否存在局部直线段,并对当前像素点做起点标记;重复步骤S23至S24,直到所有像素点处理完毕。
4.根据权利要求1所述的直线段检测和提取方法,其特征在于,所述局部直线段的聚类合并包括如下步骤步骤S31 初始化直线段检测集合为空;步骤S32 利用霍夫变换对局部直线段起点图进行直线检测,累加器阈值设为1,并记录每条直线在累加器中对应的投票数目;步骤S33 对于每一局部直线段,选取位于其角型区域中具有最大投票数的直线;步骤S34 逐个扫描所有位于该直线上的局部直线段,判断当前直线段与其是否满足合并条件;若是,将当前直线段与其进行合并,并更新直线段的端点信息;重复步骤S33至 S34,直到所有局部直线段处理完毕。
5.根据权利要求4所述的直线段检测和提取方法,其特征在于,通过计算直线段Li(A,B)到直线1(Ρ,θ)的如下距离D (Li, 1)来判断该局部直线段是否位于某直线上
6.根据权利要求4所述的直线段检测和提取方法,其特征在于,对局部直线段起点图进行直线检测时,采用5X5的邻域窗口来扫描直线检测累加器,并设置投票累加器的阈值为1。
全文摘要
本发明提供一种直线段检测和提取方法,所述方法包括步骤S1对一幅扫描二值图像,计算二值图像像素点周围的游长直方图,并提取对应的游长方向与长度特征;步骤S2对二值图像上每个前景像素点,构造一个圆弧形邻域结构,并利用像素点周围的游长特征进行局部直线段的检测;步骤S3对检测到的局部直线段进行聚类合并,得到具有全局意义的长直线段。与传统方法相比,该技术仅需设置待检测直线段的最小长度,可有效的避免传统直线段检测方法中存在的虚检和漏检。本发明应用于票据图像中图形目标的自动检测和提取,在图形矢量化、表格分析、银行票据自动处理等领域有着广阔的应用前景。
文档编号G06K9/62GK102156884SQ201110103720
公开日2011年8月17日 申请日期2011年4月25日 优先权日2011年4月25日
发明者向世明, 孟高峰, 潘春洪, 高亮 申请人:中国科学院自动化研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1