一种基于动态阈值区间的Hough变换直线检测方法

文档序号:6632099阅读:225来源:国知局
一种基于动态阈值区间的Hough变换直线检测方法
【专利摘要】本发明涉及一种基于动态阈值区间的Hough变换直线检测方法。包括如下步骤:基于邻接关系的聚类顺序存储,针对图像中具有一定线宽的线段进行细化处理,输出任一像素点的8邻域内最多只有两个相邻像素点的骨架线,然后根据基于邻接关系的聚类顺序将其存储到某一段数组中;采样某一段数组中的 m 个邻接像素,构建阈值区间,判断 m 个点是否在同一条直线上,同时进行噪声的过滤,增强了算法的鲁棒性;在构建阈值区间的基础上,采用基于区间折半的动态采样方式实现直线的检测。并对像素数组中的每一个像素进行识别,提高了算法的检测效率与效果。
【专利说明】-种基于动态阈值区间的Hough变换直线检测方法

【技术领域】
[0001] 本发明属于图像特征提取与识别【技术领域】,特别涉及一种基于动态阈值区间的 Hough变换直线检测方法。

【背景技术】
[0002] 图像特征提取是图形识别的前提,涉及到计算机图形学、数字图像处理、模式识 另IJ、人工智能等多门学科领域,有着广阔的研究空间和应用前景。工程图纸智能识别是图像 特征提取的重要应用领域。各类工程图纸中工程图形对象的主要几何元素是线段。如何快 速有效的检测线段特征是识别图形对象的基础。
[0003] 直线提取方法主要分为两大类:第一类方法是在基于几何特征在图像域中直接 提取直线,利用图像空间中像素的梯度或灰度等信息进行处理。第二类方法是将图像转化 到参数域中提取直线,根据参数域中的信息进行间接处理,如Hough变换是将图形映射到 Hough参数域内,根据某一解析式把图形上的每个点投影到参数域中,并进行简单的累加统 计,然后寻找累加峰值检测直线。基于图像域的方法虽然速度较快,但易于受到噪声的干 扰,出现不连续的直线,限制了实际应用。基于参数域的方法抗噪性高,且能够连接共线短 直线,适合于并行处理。然而该方法是进行图像域到参数域的一对多映射,并且存在噪声点 与离散化误差的影响,导致计算量大、参数域中峰值点被次峰值点包围导致漏检或误检,阈 值难以设定等问题。
[0004] 针对Hough变换计算量大,A. Goldenshluger and A. Zeevi米用随机Hough变换 方法,在多个像素中随机抽取一个像素作为采样信息映射到参数空间,避免了较大计算量 与较多的内存开销,但由于该方法随机获取采样点,因而造成了大量的无效累积,降低了方 法的效率。
[0005] 针对参数域中峰值点被次峰值包围的问题,Siyu Guo等人提出邻域抑制的方法, 对投影到参数域中投票值进行加权,有效降低次峰值的影响,提高了 Hough变换检测的准 确率,但是该方法的权重值设定对检测结果有很大影响,需要大量测试才能得到权重的精 确值,增加了该方法的计算复杂度,降低了该方法的实用性。


【发明内容】

[0006] 为了克服上面方法的不足,本发明提出一种基于动态阈值区间的Hough变换直线 检测方法。步骤如下:
[0007] 步骤1 :基于邻接关系的聚类顺序存储:针对图像中具有一定线宽的线段进行细 化处理,输出任一像素点的8邻域内最多只有两个相邻像素点的骨架线,然后进行基于邻 接关系的聚类顺序存储,将骨架线上的像素点存储到某一段数组中。
[0008] 步骤2 :阈值区间构建:采样某一段数组中的m个邻接像素,构建阈值区间,判断m 个点是否在同一条直线上,同时进行噪声的过滤,增强了方法的鲁棒性。
[0009] 步骤3 :动态直线检测:针对某一段像素数组,在构建阈值区间的基础上,采用基 于区间折半的动态采样方式实现直线的检测。
[0010] 步骤4 :直线拼接,针对上述方法检测后的相邻短直线段,根据该直线段的斜率和 端点最短邻接距离大小判断两条线段是否同属于一条线段,这样实现直线段的最佳分类。
[0011] 步骤5:结束。
[0012] 本发明与现有技术相比具有以下优点:
[0013] (1)图像中的直线受到离散化和噪声影响,引起参数阈空间中主峰值被次峰值包 围导致漏检与误检等问题,提出动态阈值区间的概念,避免了上述情况的发生,增加方法的 鲁棒性。
[0014] (2)在构建阈值区间后,对被检测的像素点只需要计算两次就可以判断是否在直 线上,避免了传统Hough检测的大量计算。
[0015] (3)在对某一段像素数组的直线检测过程中,采用基于区间折半的动态采样方式 探测阈值区间,并对像素数组中的每一个像素进行识别,提高了方法的检测效率与效果。

【专利附图】

【附图说明】
[0016] 图1为本发明一种基于动态阈值区间的Hough变换直线检测方法直线聚类顺序存 储流程图;
[0017] 图2为本发明一种基于动态阈值区间的Hough变换直线检测方法m个米样点的 Hough变换直线参数阈值区间构建图;
[0018] 图3为本发明一种基于动态阈值区间的Hough变换直线检测方法动态采样的 Hough变换直线检测示意图;

【具体实施方式】
[0019] 下面参见本发明的附图并结合具体实施例对本发明进行进一步详细说明,但本发 明的保护范围不受具体的实施实例所限制,以权利要求书为准。另外,以不违背本发明方案 的前提下,对本发明所作的本领域普通技术人员容易实现的任何改动或改变都将落入本发 明的权利要求范围之内。
[0020] 本发明包括以下关键步骤:
[0021] 步骤1 :图像中直线细化后,输出任一像素点的8邻域内最多只有两个相邻像素点 的骨架线,采用附图1所示的流程将直线段顺序存储到某一段数组中;
[0022] 步骤2:构建阈值区间;
[0023] (1)无噪声情况下阈值区间的构建
[0024] 在通常情况下,对于处在直线倾角为a (例如,图2(b)的直线倾角a =60.5° ) 的m(m = 9)个相邻理想点来说,P值区间P ( 0 )如图2(a)所示。由于采样角度0量化误 差的干扰,映射到参数域的结果是落在左右相邻采样值9 P 9 2之间:9 i = [ a ]+90°,0 2=[a]+90° +1° ([]为取整)。
[0025] 由于 a = 60. 5。,则 0 1 = 150, P I = [ P u P ul]与 0 2 = 151,P 2 = [ P 12 P u2], P i是111个无噪声采样点在参数域中0 i = 150时,对应P值组成的集合区间,同理P 2是 0 2 = 151时,对应P值组成的集合区间,如图2(c)所示,由理论与实验证明Hough变换 中的P 1与P 2满足如下三个约束:
[0026] ①9:与92是!11个点在参数域中采样角度P (0)(如图2(a))中长度最短与次 短的两个区间;
[0027] ②P u2〈 P11,且对于处于倾角为a直线上的m个点,在Hough参数域中采样角度 0 a上对应的区间一定包含在[Pu2 P11]区间中;
[0028] ③倾角为a的直线上任意一点映射到参数域后,0 a对应的离散化后的相邻p 区间[P 01 P 02] -定和[Pu2 Pi1]区间相交。
[0029] (2)有噪声情况下阈值区间的构建
[0030] 考虑到图像中的噪声对直线检测也有干扰,图2(d)显示了图像中噪声点(图2(b) 中的D1, D2)在参数域中的干扰分布,图2(d)中远离下方正常P值区间的正弦点线PnP2与 噪声点具有对应关系。由于Pl,P2中/f% 与K51干扰,使得P :与P2F再满足 ①,②,③的特性。因此在本文降噪处理过程中,需要将干扰点对应的曲线P1, P2过滤掉,并 确定Q1, e2。这里将Q1, e2, P1与P2所确定的区间作为m个采样点的直线参数信息。
[0031] 噪声信息的过滤与参数阈值区间的设定过程:
[0032] ①从采样位置获取m个连续像素点,在参数域中计算m个点对应的正弦曲线;
[0033] ②针对所有采样角度0,计算P集合区间,寻找最短和次短集合区间P :与P 2 ;
[0034] ③判断二者是否重叠,若二者不重叠,则确定[Pu2 P11], 91与02作为参数阈值。 否则转④;
[0035] ④处理将P p P 2集合中处于边界的P1, P2等干扰点对应的正弦点线,去掉,同时 记录已去掉正弦点线的条数n,本步骤详细描述如下:
[0036] /f5<) ,/f51分别是P P 2集合中偏离正常P值的边界点,二者同时为P P 2的 上边界或下边界(如图2 (d)所示为上边界)。寻找边界点的计算过程如下:先计算P p P 2 集合的重心,然后再计算上下边界点与重心的距离,值大者为if 5{> ? M的干扰点,从而确 定对应的正弦点线P1,在去掉该点线后(n为m去掉干扰点个数后的计数值),重新判断P p P2集合区间是否重叠,若不重叠则返回到②;若重叠,先判断n是否大于[m/2],若为真,退 出参数阈值设定过程,认为m个采样点不在一条直线上;否则重复本步骤;
[0037] 步骤3 :基于动态采样的直线检测;
[0038] 设定方法中识别数组中某一段像素点的起点与终点的数组下标为S,E (对应的骨 架线如图3(a)所示)。
[0039] ①其初始值为S = 0, E = length (矩形像素点个数)-1,如图3(b)所示。
[0040] ②采用动态检测原则,判断数组下标中间位置Htl =[ (S+E) /2. 0]处m个相邻像素 是否在同一条直线上,判断方法已经在步骤2的参数阈值区间构建中描述。若m个像素点 不在一条直线上,则以Htl点为分割点,分为两段像素点区间:数组下标从S到到E,对 每段区间的像素点递归调用本方法。若Htl位置上m个点是在同一条直线L上,则分别向左 和向右判断每个像素点是否在直线L上,判断过程转③。
[0041] ③对于每一个像素点(X,y),判断依据是步骤2中的约束条件③。在向左判断的过 程中,若该像素点满足条件③,则认为在直线上,将直线类别信息存储在数组的第2维;并 顺次继续判断下一个像素点。若不在直线上,则对数组下标为S的点到该点组成的区间递 归调用本方法,转①。
[0042] 在上述方法处理过程中,记录每个像素是否被处理,若处理,值为I,反之,值为零。 从S到Htl区间像素判断完后,再递归处理Htl到E的区间。该方法判断终止条件是对数组中 的所有像素处理完后,转到下一步进行直线合并。
[0043] 附图3(c)中,Hi (i = 0, 1,2)是方法中依次采样m个像素点的下标位置,L(Hi) (i =0, 1,2)是识别出的直线。
[0044] 步骤4 :根据直线段倾角差值是否在±1°之内与端点距离是否小于3个像素点判 断两条直线是否可以合并为一条直线。在附图3中识别的直线不满足上述条件,不可以进 行合并。
[0045] 步骤5:结束。
【权利要求】
1. 一种基于动态阈值区间的Hough变换直线检测方法,其特征在于包含以下几个步 骤: (1) 基于邻接关系的聚类顺序存储; (2) 基于Hough变换的阈值区间构建; (3) 采用动态采样的直线检测,针对某一段像素数组,进行动态直线检测; (4) 直线拼接; (5) 结束。
2. 如权利要求1所述的检测方法,其特征在于,步骤(1)中: 图像细化之后输出单像素线宽的骨架线,骨架线上任一像素点的8邻域内最多只有两 个相邻像素点; 本算法按照像素邻接关系进行聚类,将聚类后的一类像素位置信息(行位置A列位 置_7)顺序地存储到一段像素数组中。
3. 如权利要求1所述的检测方法,其特征在于,步骤(2)基于Hough变换的阈值区间 构建,分为以下几步: :X针对一段像素数组中的》个相邻像素,根据公式在Hough变换域中对〃取 0,1,…,179等采样值,计算正弦曲线的采样点; 2:针对# (初始值# = ?)条正弦曲线,一个〃值将对应#个P值,计算#个P值 的范围区间为下界值,为上界值),设定该P值区间长度为 S'针对所有采样角度分别计算L,并寻找最小长度^的A值区间[/^,/^], 记录对应角度为〃i;再计算相邻角度的P值区间,寻找次短长度的值区间[/^2, 0?2]; I判断区间[P71,/^]与[P72,/^"2]是否重叠,若不重叠,则将有二者之间的间隔区 间构成为阈值区间[PPPd,阈值区间构建结束;若二者重叠,则分为#个点中存在噪 声点或?个点不在同一条直线上两个情况进行考虑,转S处理; $先考虑#个点中存在噪声点的情况,计算pi与P2区间中的边界点和pi与P2区 间重心的距离,大值者对应为噪声点,将该点所对应正弦曲线去掉; 设置# = # 一 1,若#〈 [?/2]则认为》个点不在同一条直线上,重新选取》个点进 行阈值区间构建;否则,转2:循环处理。
4. 如权利要求1所述的检测方法,其特征在于,步骤(3)中,采用动态采样的直线检 测,针对某一段像素数组,进行动态直线检测的步骤如下: X假设算法中识别某一段像素数组的起点与终点下标为&瓦其初始值为於0, 万=length(数组像素点个数)-1 ; S采用动态检测原则,判断数组下标中间位置怂=[以+幻/2.0]处《个相邻像素是否 在同一条直线上,判断方法已经(2)步骤的阈值计算$中描述; 若?个像素点不在一条直线上,则以怂点为分割点,分为两段像素点区间:数组下标从S到怂,怂到A对每段区间的像素点递归调用本算法; 若怂位置上《个点是在同一条直线Z上,则分别向左和向右判断每个像素点是否在直 线Z上,判断过程转s; 1对于每一个像素点Cr,_F),在判断是否属于一条直线时,只需计算心与对应的Ph值区间与^c值区间,并判断该区间是否与区间重叠,若重叠,则认为在直线上,将直 线类别信息存储在数组的第2维;并顺次继续判断下一个像素点; 若不在直线上,则对数组下标为S的点到该点组成的区间递归调用本算法,转:!;; 算法终止判断条件:算法处理过程中,记录每个像素是否被处理,若处理,值为1,反 之,值为零; 从S到怂区间像素判断完后,再递归处理怂到i?的区间,该算法判断终止条件是对数 组中的所有像素处理完后,退出算法。
5. 根据权利要求1所述方法,对图像细化后单像素线宽的直线进行顺序聚集存储。
6. 根据权利要求1所述方法,从检测的像素集合中,动态采样》个像素构建阈值区间, 并进行噪声过滤的处理。
7. 根据权利要求1所述方法,针对某一段像素数组,进行动态直线检测。
【文档编号】G06K9/46GK104408456SQ201410591811
【公开日】2015年3月11日 申请日期:2014年10月28日 优先权日:2014年10月28日
【发明者】宋晓宇, 袁帅, 刘继飞 申请人:沈阳建筑大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1