一种基于几何约束的椭圆快速检测方法

文档序号:10570713阅读:213来源:国知局
一种基于几何约束的椭圆快速检测方法
【专利摘要】本发明公开了一种基于几何约束的椭圆快速检测方法。本发明是在进行椭圆拟合前利用特征数筛选肯定不属于一个椭圆的弧的组合,减少不必要的椭圆拟合的操作,从而实现算法加速。解决了现有技术耗时相对较长的问题,并很好地保证了椭圆检测的准确率。
【专利说明】
一种基于几何约束的椭圆快速检测方法
技术领域
[0001] 本发明涉及计算机视觉技术领域,尤其涉及一种基于几何约束的椭圆快速检测方 法。
【背景技术】
[0002] 椭圆是一类重要的图像特征,也是自然以及人工场景中最常见的几何元素之一。 从计算机视觉应用的角度出发,实景图像中椭圆对象的快速有效检测算法为轮胎检测和工 业化应用中的对象分割等技术提供了强有力的分析工具。
[0003] 霍夫变换(Hough Transform)是一种最经典的椭圆检测算法,该方法利用投票机 制来对椭圆进行拟合。由于需要在五维参数空间中进行聚类分析,所以算法运行时会消耗 大量的存储空间和时间。霍夫变换算法的改进算法包括随机霍夫变换(Randomized Hough Transform)算法以及迭代的随机霍夫变换算法(Iterative Randomized Hough Transform),这两种算法虽然在效率上有所提高,但是仍然会涉及到在数量巨大的候选对 象中进行投票筛选,因此运行时间还是非常缓慢。另一类技术方法是将椭圆的几何约束条 件应用于候选对象的筛选,例如利用椭圆上点的对称性。这类方法对检测椭圆的精度有一 定的提高,但是受遮挡情况的影响很大,另外由于点的基数巨大,所以不可避免的仍然会有 很大的计算量。其他改进方法也有在尝试过滤一些不属于同一个椭圆上的点或者弧线的组 合,但是一般都需要计算椭圆的参数,所以计算效率还是很低。

【发明内容】

[0004] 为了克服现有技术的问题,本发明提供了一种基于几何约束的椭圆快速检测方 法。
[0005] 本发明提供的一种基于几何约束的椭圆快速检测方法,包括:
[0006] 步骤100,对真实图像进行预处理并提取边缘点信息,从RGB彩色图像数据中获得 比较准确的边缘点的坐标信息。
[0007] 步骤200,将步骤100所得的边缘信息进一步处理,利用椭圆弧的连通性,将边缘点 连接成弧;根据弧的长度和弧上三点构成的面积最大三角形的高和底边的比值筛选掉短弧 和直弧;利用椭圆不同位置弧的梯度信息的差异性和凹凸性,将连接的弧划分成4类。具体 过程如下:步骤201,根据步骤100所得边缘点信息,将边缘点划分成两部分,一部分是椭圆 右上和左下部分的边缘点,记作斜率为负的边缘点,一部分有可能是椭圆左上和右下的点, 记作斜率为正的边缘点,分别单独连接斜率为负和斜率为正的边缘点形成弧;步骤202,筛 选掉长度小于一个阈值的弧,最短弧长为16个像素点;步骤203,筛选掉直弧;步骤204,计算 弧所在的最小水平矩形中在该弧上面部分和下面部分的区域的大小,确定该弧为上凸,或 者下凸。对于梯度为正的边缘点形成的弧,如果为上凸,则该弧属于椭圆左上部分区域的 弧;如果为下凸,则该弧属于椭圆右下区域的弧;同理,对于梯度为负的边缘点形成的弧,如 果该弧为上凸,则该弧属于椭圆右上区域的弧;如果该弧为下凸,则该弧属于椭圆左下区域 的弧;由此将步骤203所得弧划分成4类。
[0008] 步骤300,利用特征数筛选出可能属于同一个椭圆三个不同区域的弧组合,通过该 弧组合分步骤计算椭圆的参数,最终得到所有候选椭圆。具体过程如下:步骤301,筛选出两 个不同区域的弧,分别选择两段弧的端点和中点组成六个点,然后利用选择的六个点计算 特征数,当误差小于一定的阈值时,认为两弧属于同一个椭圆;然后再选一条其他区域的 弧,形成一个三段弧的组合;步骤302,用步骤301所得的弧组合,计算出4条由椭圆的平行弦 中点拟合出的直线,通过这四条直线的交点计算出候选的椭圆中心;步骤303,通过两组平 行弦的斜率和平行弦中点连线的斜率,计算出椭圆的偏转角度和短轴与长轴的比值,并进 行投票,选择出投票最高的椭圆的偏转角度和短轴与长轴的比值;步骤304,对于步骤303所 得的椭圆的偏转角度和短轴与长轴的比值以及每一个属于步骤301所得弧组合上的点,计 算椭圆长轴,并进行投票,选择出投票最高的椭圆长轴,然后计算短轴,到此得到了候选椭 圆的参数,进而得到候选椭圆的方程。
[0009] 步骤400,通过判断候选椭圆的准确性,将候选椭圆进行聚类,并将近似相同的椭 圆合并成一个椭圆。具体过程如下:步骤401,根据步骤300所得椭圆方程,计算用于构造候 选椭圆的弧组合上的点到该椭圆的距离,以此判断该点是否近似在该椭圆上,再通过在椭 圆上点的比例决定该椭圆是否正确;步骤402,将步骤401所得椭圆进行聚类,消除误差影响 导致的相近椭圆。
[0010] 所述步骤203,筛选掉直弧,包括:用快速排序方法对步骤202所得的弧中的点按照 位置关系进行排序,排序后,选择弧的两个端点和任一弧上的点,计算三点构成的面积最大 的三角形的高和底边的比值,如果比值小于阈值,阈值为Th TCN1 = 0.05,则该弧为直弧,不再 参与后续操作。
[0011] 所述步骤301,筛选出两个不同区域的弧,分别选择两段弧的端点和中点组成六个 点,然后利用选择的六个点计算特征数,当误差小于一定的阈值时,认为两弧属于同一个椭 圆;然后再选一条其他区域的弧,形成一个三段弧的组合,包括:
[0012] 首先先选取三个不同区域弧的集合,如:{arcRu,arcLU,arcLD},{arcLU,arcLD, arc!?},{arcLD,arcRD,arcRu},{arcRD,arcRu,arcLu},遍历戶斤有组合,例如:arciGarcRu,arcjG ardu, arck G arcLD 〇
[0013]选取出分别位于相邻区域的两段弧arCl,arCj,满足表1中的位置关系,并通过选取 弧上的六个点PIP2,…,P6计算两弧的二次曲线特征数。
,其中: ! P, = a.U + b.V, I R = a.V + bJV. f P, = a,W + b,U,
[0015] { '
[P2 = a2U + b2V, [p4 = a4V + b4W, [P6 = aJV + hbU.
[0016] sAPi,P2所在的直线,sAP3,P4所在的直线,S3为P5,P 6所在的直线;S1,S2交于点U, Si,S3交于点W,S2,S3交于点V;当误差B2E= I CNC-11小于一定的阈值Th.时,ThB2E<0 ? 3,认 为两弧属于同一个椭圆。
[0017] 表1选择的三段弧的位置关系
[0020] 满足表1中的位置关系的弧组合arci,arcj,arck即为我们需要的最有可能在同一 个椭圆上的弧的组合。
[0021] 有益效果:本发明提出的一种基于几何约束的椭圆快速检测方法,解决了现有技 术耗时相对较长的问题,并很好地保证了分类准确率。本发明主要想法是在进行椭圆拟合 前利用特征数筛选肯定不属于一个椭圆的弧的组合,减少不必要的椭圆拟合的操作,从而 实现算法加速。
【附图说明】
[0022]图1为样例图像经过中值滤波,灰度处理后的图像。
[0023] 图2为经过Canny边缘提取的到的边缘图像。
[0024] 图3为筛选出的梯度值为负的边缘点。
[0025] 图4为筛选出的梯度值为正的边缘点。
[0026]图5左边为下凸弧,右边为上凸弧。
[0027]图6为通过分析椭圆不同区域点的斜率,弧的凹凸性,以及通过长度过滤,三角形 的高和底边的比过滤得到的弧。不同深浅表示不同的弧。
[0028]图7 Pi,P3为arci的端点,P2为arci的中间点。P4,P6为arc」的端点,P^arcj的中间 点,S1为Pi,P2所在的直线,S2为P3少4所在的直线。S3为P5,P6所在的直线。Sl,S2交于点U,S1,S3 交于点W,S2,S3交于点V。
[0029] 图8 P2为弧@的中间点,P5为弧灰的中间点,与直线PiP5平行的弦的中点拟 合出的直线。m2为与直线P 2P6平行的弦的中点拟合出的直线。
【具体实施方式】
[0030] 为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面 结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施 例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图 中仅示出了与本发明相关的部分而非全部内容。
[0031] 本发明的原理:
[0032] 步骤1.对真实图像进行预处理并提取边缘点信息。利用现有的图像处理方法(例 如:图像灰度化处理,中值滤波,高斯模糊方法,Canny边缘提取方法)从RGB彩色图像数据中 获得比较准确的边缘点的坐标信息。
[0033] 步骤2.将步骤1所得的边缘信息(如图2所示)进一步处理。将边缘点连接成弧;筛 选掉短弧和直弧;将连接的弧划分成4类。
[0034] 步骤2-1根据步骤1所得边缘点信息,将边缘点划分成两部分,一部分是椭圆右上 和左下部分的边缘点,记作斜率为负的边缘点,一部分有可能是椭圆左上和右下的点,记作 斜率为正的边缘点。分别单独连接斜率为负和斜率为正的边缘点形成弧。
[0035] 步骤2-2筛选掉长度小于一个阈值的弧(本专利选择的最短弧长为16个像素点)。 [0036]步骤2-3选择弧的两个端点和任一弧上的点,计算三点构成的面积最大的三角形 的高和底边的比值,如果比值小于阈值,则该弧为直弧,不再参与后续操作(本专利选择的 阈值为 Th?i = 0.05)。
[0037]步骤2-4计算弧所在的最小水平矩形中在该弧上面部分和下面部分的区域的大 小,确定该弧为上凸,或者下凸。对于梯度为正的边缘点形成的弧,如果为上凸,则该弧属于 椭圆左上部分区域的弧。如果为下凸,则该弧属于椭圆右下区域的弧。同理,对于梯度为负 的边缘点形成的弧,如果该弧为上凸,则该弧属于椭圆右上区域的弧。如果该弧为下凸,则 该弧属于椭圆左下区域的弧。由此将步骤2-3所得弧划分成4类。
[0038]步骤3利用特征数筛选出可能属于同一个椭圆三个不同区域的弧组合,通过该弧 组合分步骤计算椭圆的参数,最终得到所有候选椭圆。
[0039]步骤3-1寻找属于同一个椭圆三个不同区域的弧组合。
[0040] 首先先选取三个不同区域弧的集合。如:{arcRu,arcuj,arcLD},{arcLU,arcLD, arc!?},{arcLD,arcRD,arcRu},{arcRD,arcRu,arcLu}。遍历戶斤有组合,例如:arciGarcRu,arcjG arcLu, arck ^ arcLD 〇
[0041] 如图7所示,选取出分别位于相邻区域的两段弧arCl,arCj,满足表1中的位置关系, 并通过选取弧上的六个点…,P6计算两弧的二次曲线特征数
,其 中: ! P, - atU +h,V\ f P, - a.V + hM\ I P, = a^V + h,U,
[0042] i i / i : ' 4厂 = ?4厂 + 办4,,l巧=
[0043] 81为?1,?2所在的直线,82为?3,?4所在的直线,8 3为?5,?6所在的直线。幻,別交于点1], S1,S3交于点W,S2,S3交于点V。本专利中分别选择两段弧的端点和中点组成六个点。当误差 B2E = | CNC-11小于一定的阈值ThB2E时(本专利中ThB2E<0 ? 3),认为两弧属于同一个椭圆。满 足表1中的位置关系的弧组合arci,arcj,arck即为我们需要的最有可能在同一个椭圆上的 弧的组合。
[0044]表1选择的三段弧的位置关系
[0045]
[0046]步骤3-2计算椭圆中心点坐标。
[0047] 如图8所示,从步骤3-1所得的弧组合arCl,arCj,ar Ck中选取位于相邻区域的两段 弧,选取与弦PiP5平行的一组弦[^{^,^,...山山本专利最多均匀选取…条平行弦屬 小二乘拟合这组弦的中点得到直线nu,再选取与弦P 2P6平行的一组弦L2={121,122,..., l2n},最小二乘拟合这组弦的中点得到直线m2,则血和肥为理论上过椭圆中心的两条直线。每 一个弧组合a rCl,arCj,arCk有两组位于相邻区域的弧,每一组相邻区域的弧可以得到两条 过椭圆中心的线。即由步骤3-1所得的每一个弧组合可以得到4条理论上过椭圆中心的直 线。将这4条直线两两相交,共得到六个交点,六个交点求均值,得到椭圆中心点,坐标记为 (x0,y0)0
[0048] 步骤3-3计算椭圆的偏转角度0和长短轴比N。
[0049] 如图8所示,选用步骤3-1所得平行弦L冲的两条弦" 计算这两条弦中点连线的斜率,记为q2;选用步骤3-1所得平行弦L2中的两条弦 ^2(1+/)5^2([?/2]+/) (/ = 0,1,….,2」),计算这两条弦中点连线的斜率,记为q4;遍历q2,q4,计算出椭 圆偏转角0 = a r c t a n K和椭圆短轴与长轴的比值
:,其中
,.a = (q^-qsqj,0 = (q3q4+l) (qi+q2)_(qiq2+l) (q3+q4),qi为直线P1P5的 斜率,q3为直线P2P6的斜率。同样方法,通过另外一组位于相邻区域的两条弧对应的平行弦 计算椭圆偏转角9和椭圆短轴长轴比值N。对0,N分别进行投票,选择出最佳的椭圆偏转角0 和椭圆短轴长轴比值N,投票时N的精度为0.01,角度表示的0的精度为1。
[0050] 步骤3-4对于每一个属于步骤3-1所得弧组合上的点(x',y'),计算椭圆长轴
并进行投票,选择出投票最高的椭圆长轴A。然后计算短轴B=AXN,到此 得到了候选椭圆的参数^ (x。,y。,A,B,0),进而得到候选椭圆,其方程表示为:
[0052] 步骤4通过判断候选椭圆的准确性,将候选椭圆进行聚类,并将近似相同的椭圆合 并成一个椭圆。
[0053] 步骤4-1根据步骤3所得椭圆方程,计算用于构造候选椭圆的弧组合上的点到该椭 圆的距离,以此判断该点是否近似在该椭圆上,再通过在椭圆上点的比例决定该椭圆是否 正确。
[0054]步骤4-2将步骤4-1所得椭圆进行聚类,消除误差影响导致的相近椭圆。
[0055] 实施例1
[0056] 1.对真实图像进行预处理并提取边缘点信息。利用现有的图像处理工具(例如:图 像灰度化处理,中值滤波,高斯模糊方法,Canny边缘提取方法)将输入图像从RGB彩色图像 数据中获得比较准确的边缘点的坐标信息。
[0057] 1 -1将图像转化成灰度图像。如图1所示。
[0058] 1-2对灰度图进行中值滤波,由于本方法是基于弧的椭圆提取方法。中值滤波可以 减少分段弧的噪声点。
[0059] 1 -3利用Canny边缘提取方法,提取出边缘点信息(Xi,yi,tan (9i)),如图2所示。其 中图像坐标系中左上点为(〇,〇),向下为x轴,向右为y轴。(xi,yi)为边缘点坐标:
为边缘点(Xl,yi)的梯度。该步骤只是得到了一些无序的点集合。
[0060] 2.将步骤1-3所得的边缘信息(如图2所示)进一步处理。利用椭圆弧的连通性,将 边缘点连接成弧;根据弧的长度和弧上三点构成的面积最大三角形的高和底边的比值筛选 掉短弧和直弧;利用椭圆不同位置弧的梯度信息的差异性和凹凸性,将连接的弧划分成4 类。
[0061 ] 2-1根据步骤1所得提取的边缘点的信息,将边缘点分到以下两个集合中:
[0062] Pointsi= {(Xi,yi,tan(9i)) | tan(9i)<〇},
[0063] Points2 = {(Xi,yi,tan(9i)) | tan(9i)^:〇} ?
[0064 ]图3所示为将Po i n t s l绘制到图上的效果,图4所示为将Po i n t s 2绘制到图上的效果。 图像中椭圆右上和左下部分的边缘点属于P〇intS1,图像中椭圆左上和右下部分的边缘点 属于 Points2。
[0065]遍历根据Pointsi填充的矩阵,遇到非空点,将该点坐标放入一个集合aj中,并将该 点置空,然后用广度优先搜索的方法,遍历该点相邻的8个区域。直到集合中每个点的周围8 个区域全为空,这些点就形成了一个弧。
[0066] 2-2如果步骤2-1所得的弧中点的个数小于弧长阈值(本专利选择的弧长阈值为 Thle5ngth= 16),则该弧为短弧,不再使用该弧进行后续操作。
[0067] 2-3用快速排序方法对步骤2-2所得的弧中的点按照位置关系进行排序,排序后, 选择弧的两个端点和任一弧上的点,计算三点构成的面积最大的三角形的高和底边的比 值,如果比值小于阈值(本专利选择的阈值为Th TCN1 = 0.05),则该弧为直弧,不再参与后续 操作。
[0068] 2-4计算步骤2-3所得的弧所在的最小水平矩形,其中(X1,yi)是矩形左下角顶点坐 标,(X2,y2)是矩形右上角顶点坐标:: ^ = min (.V) ^ min 0~) (y(.r;)e^rc7 (jcy...v,')e'OTc7. ?
[0069] , / x 〇: x2 = max (a; ) v2 = max (yt) 一 (x^v,- )sarc - "" (xr-^i W-arc -
[0070] 如图5左图所示,弧上部分区域的像素比弧下的像素多,即该弧为下凸。图5右图所 示,弧上部分区域的像素比弧下的像素少,即该弧为上凸。对于梯度为正的边缘点P〇ints 2 形成的弧,如果为上凸,则该弧属于椭圆左上区域的弧arciu;如果为下凸,则该弧属于椭圆 右下区域的弧arCRD。同理,对于梯度为负的边缘点Point S1B成的弧,如果该弧为上凸,则该 弧属于椭圆右上区域的弧arcRu;如果该弧为下凸,则该弧属于椭圆右下区域的弧arcLD。由 此将步骤2-3所得弧划分成4类。
[0071] 3利用特征数筛选出可能属于同一个椭圆三个不同区域的弧组合,通过该弧组合 分步骤计算椭圆的参数,最终得到所有候选椭圆。
[0072] 3-1寻找属于同一个椭圆三个不同区域的弧组合。
[0073] 首先先选取三个不同区域弧的集合。如:{arcRu,arcLU,arcLD},{arcLU,arcLD, arc!?},{arcLD,arcRD,arcRu},{arcRD,arcRu,arcLu}。遍历戶斤有组合,例如:arciGarcRu,arcjG ardu, arck G ardD 〇
[0074]如图7所示,选取出分别位于相邻区域的两段弧arCl,arCj,满足表1中的位置关系, 并通过选取弧上的六个点PIP2,…,P6计算两弧的二次曲线特征数,其 中:
〇7 j Pl=alU + blVJPi=a3V + biW^P5 =a5W + b5U,
[P2 = a2U + b2V,[P4 = a4V+b4W, = a6W +b6U.
[0076] 81为?1,?2所在的直线, 82为?3,?4所在的直线,83为?5,?6所在的直线。幻,別交于点1], S1,S3交于点W,S2,S3交于点V。本实例中分别选择两段弧的端点和中点组成六个点。当误差 B2E = | CNC-11小于一定的阈值ThB2E时(本专利中ThB2E<0 ? 3),认为两弧属于同一个椭圆。满 足表1中的位置关系的弧组合arci,arcj,arck即为我们需要的最有可能在同一个椭圆上的 弧的组合。
[0077]表1选择的三段弧的位置关系
[0079] 3-2计算椭圆中心点坐标。
[0080] 如图8所示,从步骤3-1所得的弧组合arci,arcj,arck中选取位于相邻区域的两段 弧,选取与弦PiP5平行的一组弦[^{^,^,...山山本专利最多均匀选取…条平行弦屬 小二乘拟合这组弦的中点得到直线nu,再选取与弦P2P6平行的一组弦L2={1 21,122,..., l2n},最小二乘拟合这组弦的中点得到直线m2,则血和肥为理论上过椭圆中心的两条直线。每 一个弧组合a rCl,arCj,arCk有两组位于相邻区域的弧,每一组相邻区域的弧可以得到两条 过椭圆中心的线。即由步骤3-1所得的每一个弧组合可以得到4条理论上过椭圆中心的直 线。将这4条直线两两相交,共得到六个交点,六个交点求均值,得到椭圆中心点,坐标记为 (x0,y0)0
[0081 ] 3-3计算椭圆的偏转角度0和长短轴比N。
[0082] 如图8所示,选用步骤3-1所得平行弦L冲的两条弦 计算这两条弦中点连线的斜率,记为q2;选用步骤3-1所得平行弦L2中的两条弦 /冲,1,4(卜,2」+,.|0' = &1,.",1_?.)/2」),计算这两条弦中点连线的斜率,记为94;遍历9 2,94,计算出椭 圆偏转角0 = a r c t a n K和椭圆短轴与长轴的比值
其中
,a = (q^-qsqd,0 = (q3q4+l) (qi+q2)_(qiq2+l) (q3+q4),qi为直线P1P5的 斜率,q3为直线P2P6的斜率。同样方法,通过另外一组位于相邻区域的两条弧对应的平行弦 计算椭圆偏转角9和椭圆短轴长轴比值N。对0,N分别进行投票,选择出最佳的椭圆偏转角0 和椭圆短轴长轴比值N,投票时N的精度为0.01,角度表示的0的精度为1。
[0083] 3-4对于每一个属于步骤3-1所得弧组合上的点(x',y'),计算椭圆长轴
,并进行投票,选择出投票最高的椭圆长轴A。然后计算短轴B = AXN,到此 得到了候选椭圆的参数^ (x。,y。,A,B,0),进而得到候选椭圆,其方程表示为:
[0085] 4通过判断候选椭圆的准确性,将候选椭圆进行聚类,并将近似相同的椭圆合并成 一个椭圆。
[0086] 4-1计算用于构造候选椭圆e j的弧组合arci,arcj,arck上的点(Xi,yi)到该椭圆的 距离:
[0088]定义属于椭圆£j的点的集合为:
[0089] 0={(xi,yi): |f(xi,yi,£j)-l | <0? 1}。
[0090 ]计算弧组合ar Ci,arc j,ar ck所有点中位于椭圆边缘上的点的比例:
[0092]其中|0|为弧组合arci,arcj,arck上所有点中位于椭圆边缘上的点的个数,|ci|为 弧arCl上点的个数,| |为弧arc」上点的个数,| ck |为弧arck上点的个数。根据需求可以设置 当〇>1^时,认为相应候选椭圆有效,本专利设置Tha = 0.6。
[OO93] 计算弧组合arci,arcj,arck位于椭圆边缘的比例:
[0095]其中| arci |是弧arci上距离最远的两个点的横坐标差的绝对值和纵坐标差的绝对 值的和,I arcj |和| arck |定义类似。通过比较P>Thp过滤正确率比较低的椭圆,经过试验分 析本专利设置ThP = 0.5。
[0096] 4-2将步骤4-1所得椭圆进行聚类,消除误差影响导致的相近椭圆。当两个椭圆中 心距离小于两椭圆中最小短轴距离的0.1倍,,长轴差小于最大长轴的0.1倍,短轴差小于最 小短轴的0.1倍,并且偏转角度相差0.1JI时,认为这两个椭圆为一个椭圆,删除其中一个椭 圆。
[0097] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽 管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其对 前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替 换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【主权项】
1. 一种基于几何约束的椭圆快速检测方法,其特征在于,所述基于几何约束的椭圆快 速检测方法包括: 步骤100,对真实图像进行预处理并提取边缘点信息,从RGB彩色图像数据中获得比较 准确的边缘点的坐标信息和梯度信息; 步骤200,将步骤100所得的边缘信息进一步处理,利用椭圆弧的连通性,将边缘点连接 成弧;根据弧的长度和弧上三点构成的面积最大三角形的高和底边的比值筛选掉短弧和直 弧;利用椭圆不同位置弧的梯度信息的差异性和凹凸性,将连接的弧划分成4类,具体过程 如下: 步骤201,根据步骤100所得边缘点信息,将边缘点划分成两部分,一部分是椭圆右上和 左下部分的边缘点,记作斜率为负的边缘点,一部分有可能是椭圆左上和右下的点,记作斜 率为正的边缘点,分别单独连接斜率为负和斜率为正的边缘点形成弧;步骤202,筛选掉长 度小于一个阈值的弧,最短弧长为16个像素点; 步骤203,筛选掉直弧; 步骤204,计算弧所在的最小水平矩形中在该弧上面部分和下面部分的区域的大小,确 定该弧为上凸,或者下凸;对于梯度为正的边缘点形成的弧,如果为上凸,则该弧属于椭圆 左上部分区域的弧arCLU;如果为下凸,则该弧属于椭圆右下区域的弧a rCRD;同理,对于梯度 为负的边缘点形成的弧,如果该弧为上凸,则该弧属于椭圆右上区域的弧arCRU;如果该弧为 下凸,则该弧属于椭圆左下区域的弧a rCLD;由此将步骤203所得弧划分成4类; 步骤300,利用特征数筛选出可能属于同一个椭圆三个不同区域的弧组合,通过该弧组 合分步骤计算椭圆的参数,最终得到所有候选椭圆,具体过程如下:步骤301,筛选出两个不 同区域的弧,分别选择两段弧的端点和中点组成六个点,然后利用选择的六个点计算特征 数,当误差小于一定的阈值时,认为两弧属于同一个椭圆;然后再选一条其他区域的弧,形 成一个三段弧的组合;步骤302,用步骤301所得的弧组合,计算出4条由椭圆的平行弦中点 拟合出的直线,通过这四条直线的交点计算出候选的椭圆中心; 步骤303,通过两组平行弦的斜率和平行弦中点连线的斜率,计算出椭圆的偏转角度和 短轴与长轴的比值,并进行投票,选择出投票最高的椭圆的偏转角度和短轴与长轴的比值; 步骤304,对于步骤303所得的椭圆的偏转角度和短轴与长轴的比值以及每一个属于步 骤301所得弧组合上的点,计算椭圆长轴,并进行投票,选择出投票最高的椭圆长轴,然后计 算短轴,到此得到了候选椭圆的参数,进而得到候选椭圆的方程; 步骤400,通过判断候选椭圆的准确性,将候选椭圆进行聚类,并将近似相同的椭圆合 并成一个椭圆,具体过程如下:步骤401,根据步骤300所得椭圆方程,计算用于构造候选椭 圆的弧组合上的点到该椭圆的距离,以此判断该点是否近似在该椭圆上,再通过在椭圆上 点的比例决定该椭圆是否正确; 步骤402,将步骤401所得椭圆进行聚类,消除误差影响导致的相近椭圆。2. 根据权利要求1所述的基于几何约束的椭圆快速检测方法,其特征在于,步骤203,筛 选掉直弧,包括: 用快速排序方法对步骤202所得的弧中的点按照位置关系进行排序,排序后,选择弧的 两个端点和任一弧上的点,计算三点构成的面积最大的三角形的高和底边的比值,如果比 值小于阈值,阈值为ThTCNi = 0.0 5,则该弧为直弧,不再参与后续操作。3.根据权利要求1所述的基于几何约束的椭圆快速检测方法,其特征在于,步骤301,筛 选出两个不同区域的弧,分别选择两段弧的端点和中点组成六个点,然后利用选择的六个 点计算特征数,当误差小于一定的阈值时,认为两弧属于同一个椭圆;然后再选一条其他区 域的弧,形成一个三段弧的组合,包括:首先先选取三个不同区域弧的集合,如:{a rCRU, arcLU,arcLD}, {arcLU,arcLD,arcRD}, {arcLD,arcRD,arcRu}, {arcRD,arcRu,arcLu} 合,例如 :arci E arcRu,arc j E arcLu,arck E arcLD; 选取出分别位于相邻区域的两段弧arCl,arCj,满足表1中的位置关系,并通过选取弧上 的六个点P1,P2,…,P6计算两弧的二次曲线特征数S^P1,P2所在的直线,sAP3,P4所在的直线,S3为P 5,P6所在的直线;S1,S2交于点U,S1,S3 交于点W,s2,S3交于点V;当误差B2E = I CNC-II小于一定的阈值ThB2E时,ThB2E〈0 · 3,认为两弧 属于同一个椭圆; 表1选择的三段弧的位置关系满足表1中的位置关系的弧组合arci,arcj,arck即为我们需要的最有可能在同一个椭 圆上的弧的组合。
【文档编号】G06K9/46GK105931252SQ201610319333
【公开日】2016年9月7日
【申请日】2016年5月16日
【发明人】贾棋, 樊鑫, 宋连博, 邱铁, 罗钟铉, 王倩
【申请人】大连理工大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1