一种基于曲线弧分割的椭圆检测方法

文档序号:6628417阅读:225来源:国知局
一种基于曲线弧分割的椭圆检测方法
【专利摘要】一种基于曲线弧分割的椭圆检测方法,包括以下步骤:将图像转化为二值图像,基于细化算法由二值图像得到细化的轮廓图;在细化的轮廓图中跟踪所有的轮廓,根据轮廓点间相互的连接性对细化图像中的轮廓像素点进行跟踪,将轮廓从交点处分割成弧段,直到所有的轮廓被跟踪完毕;根据各个弧段长度的比例,确定在每段弧上采样的次数,在每一个连续的轮廓弧段中采样;将每次采样得到的采样点带入椭圆一般方程,分别计算出一组椭圆参数;基于统计的思想,记录各组参数的出现次数,找出出现次数最多的一组参数,最终得到目标椭圆的参数。本发明从每一个连续的轮廓弧段中采样,使无效随机采样的概率大大降低,从而提高椭圆检测速度。
【专利说明】-种基于曲线弧分割的椭圆检测方法

【技术领域】
[0001] 本发明涉及一种在图像中检测椭圆的方法,尤其涉及一种基于曲线弧分割的椭圆 检测方法。

【背景技术】
[0002] 椭圆检测在模式识别领域一直是研究的热点,椭圆检测的结果广泛应用于机器视 觉的各个领域,包括表情识别、车辆监视、交通灯信号识别等。人们提出了许多椭圆检测方 法,基于Hough变换的检测算法由于原理简单而且可以很好地抑制干扰和噪声,引起许多 研究者的关注。但是对于由5个参数组成的椭圆一般方程,其变换是在五维空间上进行 的,时间和空间复杂度很高,难以实际应用。为了克服上述缺陷,提出了随机Hough变换 (Randomized HoughTransform,RHT),避免了标准Hough -到多映射的巨大计算量。但是, RHT的无目标的采样会引入大量的无效累积,浪费大量的计算时间和存储空间。一些学者提 出了改进的RHT算法,改进的思路主要从两个方面入手:一方面通过降低随机采样的点数, 从而减少无效采样的概率;另一方面就是利用采样点的特征信息来判断是否进行累积,从 而降低无效累积的概率。


【发明内容】

[0003] 为了进一步减少椭圆检测的时间,提高检测准确性,本发明在RHT的基础上设计 了一种基于曲线弧分割的椭圆检测算法。该方法不是随机的采样几个点,而是在一段连续 的弧段上取点,大大降低了随机采样的点数和无效采样的概率。
[0004] 为达到上述目的,本发明提出的基于曲线弧分割的椭圆检测方法,包括以下步 骤:
[0005] (1)将图像转化为二值图像,基于细化算法由二值图像得到细化的轮廓图;
[0006] (2)在细化的轮廓图中跟踪所有的轮廓,根据轮廓点间相互的连接性对细化图像 中的轮廓像素点进行跟踪,将轮廓从交点处分割成弧段,直到所有的轮廓被跟踪完毕;
[0007] (3)根据各个弧段长度的比例,确定在每段弧上采样的次数,在每一个连续的轮廓 弧段中采样,每次采样随机取5个点;
[0008] (4)将每次采样得到的采样点坐标信息带入椭圆一般方程,分别计算出一组椭圆 参数;
[0009] (5)基于统计的思想,记录各组参数的出现次数,找出出现次数最多的一组参数, 并将该组参数作为目标椭圆的参数。
[0010] 本发明具有如下优点:
[0011] (1)从每一个连续的轮廓弧段中采样,这样就使无效随机采样的概率大大降低,从 而提1?捕圆检测速度。
[0012] ⑵具有较强的抗干扰能力。
[0013] (3)在椭圆较残缺情况下,仍能很好的检测。

【专利附图】

【附图说明】
[0014] 图1为本发明所述方法流程图;
[0015] 图2为8-邻接示意图;
[0016] 图3为椭圆参数示意图。

【具体实施方式】
[0017] 下面结合附图对本发明的技术方案作进一步的说明,但并不局限于此,凡是对本 发明技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖 在本发明的保护范围中。
[0018] 本发明提供了一种基于曲线弧分割的椭圆检测算法,如图1所示,具体包括以下 步骤:
[0019] 1、图像预处理
[0020] 将图像转化为二值图像,图像经过二值化后,目标对象的像素值为1,背景的像素 值为〇。基于细化算法由二值图像得到细化的轮廓图C。
[0021] 2、曲线弧分割
[0022] 分配一个与细化图C大小相同的二维数组array。所有的轮廓跟踪点在array上 进行标记,以防止重复跟踪。每条轮廓上的点采用一维结构数组表示,记录x,y坐标。这里 开辟的数组内存大小可以选择一个与输入参数及图像大小关联的自适应值,确保正常轮廓 的内存分配。如果出现极端异常的大轮廓,超出分配内存的大小,则将整个轮廓标记为异常 轮廓。对于轮廓过短的情况,也标记为异常轮廓。对于异常轮廓不做进一步处理。
[0023] 基于细化图像C对轮廓进行跟踪,根据轮廓点间相互的连接性对细化图像中的轮 廓像素点进行跟踪。连接性按8-邻接(图2)定义,8-邻接是指两个点上下相邻或左右相 邻或四个斜向相邻。跟踪起始点采用逐行扫描的方法,即按从下到上、从左到右的顺序扫描 轮廓图,将扫描到的第一个像素灰度值为1的点作为起始点。找到的第一个起始点一定是 最左下方的点。从起始点开始跟踪,将轮廓从交点处分割成弧段。具体方法如下:
[0024] 第一步:按从下到上、从左到右的顺序扫描轮廓图,将扫描到的第一个像素为度值 为1的点作为起始点,新建一个坐标链,将此点坐标加入坐标链。
[0025] 第二步:将此点在二维数组array的对应位置上进行标记,以防止重复跟踪。
[0026] 第三步:寻找下一相邻点。按右、右上、上、左上、左、左下、下、右下的顺序考察当前 点的8-邻域的8个方向点。如果当前点的八邻域中连通点的个数大于2,说明有其他链路 也通过该点即轮廓出现分支,则将当前点作为新的起始点进行轮廓跟踪,转第二步;如果当 前点的八邻域中连通点的个数大于〇且小于等于2,说明轮廓没有出现分支,将8邻域中像 素值第一个为1的点置为当前点,若当前点和起始点重合,则表明已经转了一圈,将当前点 在二维数组array的对应位置上进行标记,以防止重复跟踪。转第四步,若当前点没有和起 始点重合,则将此点坐标加入坐标链,链路长度加1,转第二步;如果当前点的八邻域中连 通点的个数等于〇,则转第四步。
[0027] 第四步:轮廓图中,若仍有像素灰度值为1且未被标记过的点,转第一步;否则结 束。
[0028] 3、随机采样
[0029] 椭圆的一般方程可由式(1)表不:
[0030] Ax2+Bxy+Cy2+Dx+Ey+1 = 0 (1)
[0031] 式中,共含A、B、C、D、E五个未知数。根据各个弧段长度的比例,确定在每段弧上采 样的次数。也就是说,设图像中轮廓弧段数总数为N,第i个弧段的像素个数为M i, N个弧段 总的像素个数为

【权利要求】
1. 一种基于曲线弧分割的椭圆检测算法,其特征在于所述椭圆检测算法的步骤如下: (1) 将图像转化为二值图像,基于细化算法由二值图像得到细化的轮廓图; (2) 在细化的轮廓图中跟踪所有的轮廓,根据轮廓点间相互的连接性对细化图像中的 轮廓像素点进行跟踪,将轮廓从交点处分割成弧段,直到所有的轮廓被跟踪完毕; (3) 根据各个弧段长度的比例,确定在每段弧上采样的次数,在每一个连续的轮廓弧段 中采样; (4) 将每次采样得到的采样点带入椭圆一般方程,分别计算出一组椭圆参数; (5) 基于统计的思想,记录各组参数的出现次数,找出出现次数最多的一组参数,最终 得到目标椭圆的参数。
2. 根据权利要求1所述的基于曲线弧分割的椭圆检测算法,其特征在于所述步骤(2) 的具体步骤如下: 第一步、按从下到上、从左到右的顺序扫描轮廓图,将扫描到的第一个像素灰度值为1 的点作为起始点,新建一个坐标链,将此点坐标加入坐标链; 第二步、将此点在二维数组array的对应位置上进行标记,以防止重复跟踪; 第三步、寻找下一相邻点:按右、右上、上、左上、左、左下、下、右下的顺序考察当前点的 8_邻域的8个方向点,如果当前点的八邻域中连通点的个数大于2,则将当前点作为新的起 始点进行轮廓跟踪,转第二步;如果当前点的八邻域中连通点的个数大于〇且小于等于2, 将8邻域中像素值第一个为1的点置为当前点,若当前点和起始点重合,将当前点在二维 数组array的对应位置上进行标记,以防止重复跟踪,转第四步,若当前点没有和起始点重 合,则将此点坐标加入坐标链,链路长度加1,转第二步;如果当前点的八邻域中连通点的 个数等于0,则转第四步; 第四步:轮廓图中,若仍有像素灰度值为1且未被标记过的点,转第一步;否则结束。
3. 根据权利要求1所述的基于曲线弧分割的椭圆检测算法,其特征在于所述步骤(3) 中,每次采样随机取5个点。
【文档编号】G06K9/00GK104239870SQ201410498704
【公开日】2014年12月24日 申请日期:2014年9月25日 优先权日:2014年9月25日
【发明者】夏勇, 刘志慧, 王宽全, 伯彭波, 张盛平 申请人:哈尔滨工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1