CN107578438A - 圆识别方法、装置及电子设备 - Google Patents
圆识别方法、装置及电子设备 Download PDFInfo
- Publication number
- CN107578438A CN107578438A CN201710572811.2A CN201710572811A CN107578438A CN 107578438 A CN107578438 A CN 107578438A CN 201710572811 A CN201710572811 A CN 201710572811A CN 107578438 A CN107578438 A CN 107578438A
- Authority
- CN
- China
- Prior art keywords
- line segment
- line segments
- arc support
- arc
- circle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 82
- 238000004364 calculation method Methods 0.000 claims description 42
- 238000012216 screening Methods 0.000 claims description 42
- 230000015654 memory Effects 0.000 claims description 19
- 230000008859 change Effects 0.000 claims description 14
- 238000003860 storage Methods 0.000 claims description 8
- 238000000605 extraction Methods 0.000 claims description 5
- 238000001914 filtration Methods 0.000 claims description 4
- 230000014759 maintenance of location Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 21
- 230000000694 effects Effects 0.000 abstract description 10
- 238000001514 detection method Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000009466 transformation Effects 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000000513 principal component analysis Methods 0.000 description 2
- 230000000717 retained effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000001154 acute effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Geometry (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本发明提供了一种圆识别方法、装置及电子设备,其中圆识别方法包括如下步骤:提取待识别图像中的线段;在所提取出的线段中筛选出弧支持线段;获取属于相同圆的弧支持线段;对属于相同圆的弧支持线段进行拟合。在提取线段后,首先将弧支持线段提取出来,可以避免在后续计算过程中引入直线段而造成计算冗余,可以提高识别效率,在得到弧支持线段后,利用弧支持线段的特性,得到属于相同圆的弧支持线段,再进行拟合,同时利用弧支持线段的特性可以使识别的精度更高,本发明在均衡考虑识别效率和识别精度,识别效果有较大提升,可以更好的满足工业对识别到的圆的需求。
Description
技术领域
本发明涉及图像处理技术领域,具体涉及到一种圆识别方法和装置。
背景技术
在圆检测的工业环境中会出现各种各样的干扰,例如光照明暗、图像 分辨率、高斯白噪声和不完整圆等。在加上现在工业中对图像识别精度和 效率要求越来越高,使得圆检测算法的要求非常高,例如,在印制电路板 生产、检测或后续加工的过程中,需要识别定位标志,一般选用圆孔,而 现在的印制电路板线路和间距越来越小,定位标志识别的精准度直接影响 印制电路板的质量,识别速度对生产效率也有较大的影响,因此现代工业 对识别的圆的需求越来越高。
现有的圆检测主要有三类技术,分别是霍夫圆变换,随机圆检测和基 于线段的圆检测技术。上述三类技术均可以识别到圆,然而,上述三类技 术在进行圆检测时均存在一定的缺陷。
第一,霍夫圆变换,需要构造三维参数空间,其需要消耗大量的内存, 搜索峰值需要消耗大量的时间,并且,检测的圆的精度依赖于三维空间的 单位尺寸的选取,使得霍夫圆变换的鲁棒性、精度和效率低下,不能满足 现代工业的需求。
第二,随机圆检测,通过随机选取四个边缘像素点,然后利用其中三 个像素点产生一个候选圆,利用剩下一个像素点进行验证,如果验证通过 则用圆周上的点进行进一步验证。虽然计算量可能较少,速度可能较快, 然而,随机圆检测是通过随机像素点转换成圆,由于随机采样的随机性和 随机像素点的集合信息不充分,导致随机元检测算法不稳定,并且,如果 待检测圆有形变,随机采集的点在变形区域,容易导致错误识别,使得结 果鲁棒性低,不能满足现代工业的需求。
第三,基于线段的圆检测技术,先对待识别图像进行线段提取,然后 通过计算将线段进行匹配,进而计算得到圆参数。然而,线段所携带的信 息不仅包括两个端点坐标,还包括线段所在的边缘的梯度方向和极性等信 息,在基于线段的圆检测技术中没有应用,可能导致圆检测的效率、鲁棒 性和精度低;其次,由于只有来源于圆或曲线分解得到的线段(弧支持线 段),才可能构成匹配对,进行计算得到圆参数,而该方法将提取到的所有 的线段都纳入计算,假设在待识别图像中提取到n条线段,其匹配对可达 到个,如果实际弧支持线段只有条,表示计算存在大量冗余,导致检 测效率低不能满足现代工业的需求。
综上,现有的三种圆检测技术的鲁棒性、精度或效率不能较好的满足 现代工业的需求。
因此,如何使得识别到的圆能较好的满足现代工业需求成为亟待解决 的问题。
发明内容
本发明要解决的技术问题在于使得识别到的圆能更好的满足现代工业 需求。
根据第一方面,本发明实施例提供了一种圆识别方法,包括如下步骤: 提取待识别图像中的线段;在所提取出的线段中筛选出弧支持线段;获取 属于相同圆的弧支持线段;对属于相同圆的弧支持线段进行拟合。
可选地,在所提取出的线段中筛选出弧支持线段,包括:获取所提取 的线段的第一梯度方向;将所提取的线段分成至少两段子线段;分别计算 每段子线段的第二梯度方向;分别计算第一梯度方向与每个第二梯度方向 的夹角;判断夹角是否均大于预设夹角值;当夹角均大于预设夹角值时, 确认所提取的线段为弧支持线段。
可选地,在所提取出的线段中筛选出弧支持线段,包括:将提取的线 段分成至少两段子线段;分别计算每段子线段的梯度方向;判断顺次相连 的每段子线段的梯度方向是否依序沿相同时针方向变化;当顺次相连的每 段子线段的梯度方向依序沿相同时针方向变化时,确认当前线段为弧支持 线段。
可选地,在所提取出的线段中筛选出弧支持线段,包括:获取所提取 的线段的第一梯度方向;将提取的线段分成至少两段子线段;分别计算每 段子线段的第二梯度方向;判断顺次相连的每段子线段的第二梯度方向是 否依序沿相同时针方向变化;当顺次相连的每段子线段的第二梯度方向依 序沿相同时针方向变化时,分别计算第一梯度方向与每个第二梯度方向的 夹角;判断夹角是否均大于预设夹角值;当夹角均大于预设夹角值时,确 认当前线段为弧支持线段。
可选地,获取属于相同圆的弧支持线段,包括:按照弧支持线段的极 性进行分类;分别对相同极性的弧支持线段进行配对,得到属于相同圆的 弧支持线段。
可选地,分别对相同极性的弧支持线段进行配对,包括:在相同极性 的弧支持线段中选择一条弧支持线段;获取所选择的弧支持线段的限制区 域内相同极性的弧支持线段作为待匹配弧支持线段,限制区域为弧支持方 向指向的区域,弧支持方向为产生弧支持线段的弧边缘的凹侧方向;判断 待匹配弧支持线段的限制区域内是否包含所选择的弧支持线段;当待匹配 弧支持线段的限制区域内包含所选择的弧支持线段时,保留限制区域内包 含所选择的弧支持线段的待匹配弧支持线段;对所保留的待匹配弧支持线 段和所选择的弧支持线段进行配对。
可选地,分别对相同极性的弧支持线段进行配对,还包括:在未配对 的弧支持线段中选择一条弧支持线段;重复获取所选择的线段的限制区域 内的线段作为待匹配线段,判断待匹配线段的限制区域内是否包含所选择 的线段,保留限制区域内包含所选择的线段的待匹配线段,对所保留的待 匹配线段进行配对的步骤,直至所有能配对的弧支持线段全部配对。
可选地,对属于相同圆的弧支持线段进行拟合,包括:对属于相同圆 的弧支持线段进行至少一次拟合。
可选地,对属于相同圆的弧支持线段进行至少一次拟合,包括:对属 于相同圆的弧支持线段进行第一次拟合;判断拟合后的图像的支持内点的 数量是否大于预设值;当拟合后的图像的支持内点的数量小于预设值时, 进行下一次拟合直至拟合后的图像的支持内点的数量大于预设值。
可选地,在对属于相同圆的弧支持线段进行拟合之后,还包括:计算 拟合后的图像的支持内点的连通弧的跨度角度;判断跨度角度是否大于预 设角度;当跨度角度是否大于预设角度时,确认识别到圆。
根据第二方面,本发明实施例提供了一种圆识别装置,包括:提取模 块,用于提取待识别图像中的线段;筛选模块,用于在所提取出的线段中 筛选出弧支持线段;获取模块,用于获取属于相同圆的弧支持线段;拟合 模块,用于对属于相同圆的弧支持线段进行拟合。
可选地,筛选模块,包括:第一获取单元,用于获取所提取的线段的 第一梯度方向;第一拆分单元,用于将所提取的线段分成至少两段子线段; 第一计算单元,用于分别计算每段子线段的第二梯度方向;第二计算单元, 用于分别计算第一梯度方向与每个第二梯度方向的夹角;第一判断单元, 用于判断夹角是否均大于预设夹角值;第一确认单元,用于当夹角均大于 预设夹角值时,确认所提取的线段为弧支持线段。
可选地,筛选模块包括:第二拆分单元,用于将提取的线段分成至少 两段子线段;第三计算单元,用于分别计算每段子线段的梯度方向;第二 判断单元,用于判断顺次相连的每段子线段的梯度方向是否依序沿相同时 针方向变化;第二确认单元,用于当顺次相连的每段子线段的梯度方向依 序沿相同时针方向变化时,确认当前线段为弧支持线段。
可选地,筛选模块,包括:第二获取单元,用于获取所提取的线段的 第一梯度方向;第三拆分单元,用于将提取的线段分成至少两段子线段; 第四计算单元,用于分别计算每段子线段的第二梯度方向;第三判断单元, 用于判断顺次相连的每段子线段的第二梯度方向是否依序沿相同时针方向 变化;第五计算单元,用于当顺次相连的每段子线段的第二梯度方向依序 沿相同时针方向变化时,分别计算第一梯度方向与每个第二梯度方向的夹角;第四判断单元,用于判断夹角是否均大于预设夹角值;第三确认单元, 用于当夹角均大于预设夹角值时,确认当前线段为弧支持线段。
可选地,获取模块,包括:分类单元,用于按照弧支持线段的极性进 行分类;配对单元,用于分别对相同极性的弧支持线段进行配对,得到属 于相同圆的弧支持线段。
可选地,配对单元,包括:选择子单元,用于在相同极性的弧支持线 段中选择一条弧支持线段;获取子单元,用于获取所选择的弧支持线段的 限制区域内相同极性的弧支持线段作为待匹配弧支持线段,限制区域为弧 支持方向指向的区域,弧支持方向为产生弧支持线段的弧边缘的凹侧方向; 判断子单元,用于判断待匹配弧支持线段的限制区域内是否包含所选择的 弧支持线段;保留子单元,用于当待匹配弧支持线段的限制区域内包含所选择的弧支持线段时,保留限制区域内包含所选择的弧支持线段的待匹配 弧支持线段;配对子单元,用于对所保留的待匹配弧支持线段和所选择的 弧支持线段进行配对。
可选地,配对单元,还包括:第二选择单元,用于在未配对的弧支持 线段中选择一条弧支持线段;重复单元,用于重复获取所选择的线段的限 制区域内的线段作为待匹配线段,判断待匹配线段的限制区域内是否包含 所选择的线段,保留限制区域内包含所选择的线段的待匹配线段,对所保 留的待匹配线段进行配对的步骤,直至所有能配对的弧支持线段全部配对。
可选地,拟合模块,包括:拟合单元,用于对属于相同圆的弧支持线 段进行至少一次拟合。
可选地,拟合单元,包括:第二判断子单元,用于判断拟合后的图像 的支持内点的数量是否大于预设值;重复拟合单元,用于当拟合后的图像 的支持内点的数量小于预设值时,进行下一次拟合直至拟合后的图像的支 持内点的数量大于预设值。
可选地,圆识别装置还包括:计算模块,用于计算拟合后的图像的支 持内点的连通弧的跨度角度;判断模块,用于判断跨度角度是否大于预设 角度;确认模块,用于当跨度角度是否大于预设角度时,确认识别到圆。
根据第三方面,本发明实施例提供了一种非暂态计算机可读介质,非 暂态计算机可读存储介质存储计算机指令,计算机指令用于使计算机执行 如上述第一方面任意一项圆识别方法。
根据第四方面,本发明实施例提供了一种电子设备,包括:至少一个 处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有 可被一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个 处理器执行如上述第一方面任意一项的圆识别方法。
本发明实施例提供的圆识别方法、装置及电子设备,在待识别图像中 提取所能识别到的所有的线段,提取的线段中包括源于直边缘的直线段和 源于曲线边缘的弧支持线段,再在原图中提取的线段中筛选弧支持线段, 由于提取到的多个弧支持线段很大可能来源于不同的圆,为减小计算量, 需要对弧支持线段进行同圆匹配,获取到属于相同圆的弧支持线段,并对 属于相同圆的弧支持线段进行拟合,得到需要识别的圆。在提取线段后,首先将弧支持线段提取出来,可以避免在后续计算过程中引入直线段而造 成计算冗余,可以提高识别效率,在得到弧支持线段后,利用弧支持线段 的特性,得到属于相同圆的弧支持线段,再进行拟合,相比直接用弧支持 线段进行拟合既可以提高识别效率,同时利用弧支持线段的特性可以使识 别的精度更高,本发明在识别效率和识别精度上均有较大提升,可以更好 的满足工业对识别到的圆的需求。
附图说明
图1示出了本发明实施例中圆识别方法的流程示意图;
图2a-图2e示出了本发明实施例中在待识别图像中识别线段的过程;
图3a示出了本发明实施例中待识别图像的示例;
图3b示出了本发明实施例中对待识别图形进行线段提取后的线段;
图3c示出了本发明实施例中对提取的线段进行筛选后的效果图;
图4示出了本发明实施例中属于相同圆和不属于相同圆的弧支持线段 的示例图;
图5示出了本发明另一实施例中圆识别方法的流程示意图;
图6a和图6c示出了本发明实施例中不同极性的弧支持线段的来源的示 意图;
图6b和图6d示出了本发明实施例中不同极性的弧支持线段及其分段 子线段的梯度方向示意图;
图7示出了本发明另一实施例中圆识别方法的流程示意图;
图8示出了本发明另一实施例中圆识别方法的流程示意图;
图9示出了本发明实施例中对相同极性的弧支持线段进行配对的流程 示意图;
图10示出了本发明另一实施例中圆识别方法的流程示意图;
图11a示出了本发明实施例中待识别圆的示意图;
图11b示出了本发明实施例中得到的候选圆的示意图;
图11c示出了本发明实施例中一次拟合的效果示意图;
图11d示出了本发明实施例中二次拟合的效果示意图;
图12示出了本发明实施例中圆识别装置的示意图;
图13示出了本发明实施例中电子设备的示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然, 所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发 明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得 的所有其他实施例,都属于本发明保护的范围。此外,术语“第一”、“第 二”、“第三”、“第四”等仅用于描述目的,而不能理解为指示或暗示相对 重要性。
实施例1
本发明实施例提供了一种圆识别方法,如图1所示,该方法可以如下 包括:
S10.提取待识别图像中的线段。在具体的实施例中,待识别图像可以为 自然图像,例如某一地区卫星图片或者在日常生活中需要识别圆的图片, 可以为印制电路板的图像,所称待识别图像为数字图像。具体的提取方法 可以为线段检测算法,例如直线检测算法(Line Segment Detector,LSD), 霍夫变换提取线段,由于,LSD算法相比于霍夫变换提取线段更快,在本 实施例中,优选采用LSD算法,具体的,采用LSD检测的线段主要来源有两类,第一类线段来源于level-line角度分布接近直线或直线的支持区域, 该支持区域对应待识别灰度图中的直边缘,第二类来源于呈曲线变换的支 持区域,该支持区域对应于待识别的灰度图中的弯曲边缘。LSD的具体过 程为首先计算待识别图像的梯度,通过梯度图像提取图像边缘,获取图像 边缘可以采用简化的不做连通分析的canny边缘检测方法得到。计算边缘每 个像素点的梯度,同时剔除梯度幅度过小的点,然后选取种子点执行区域生长算法,生长为一个支持区域。该支持区域内的每一个点的level-line角 度和区域主方向即梯度方向保持在一定误差范围内,该误差范围可以根据 所需的精度和计算速度进行确定。每个支持区域被外接一个矩形,最后对 外接矩形进行错误控制,去除边缘噪音,从而提取线段。具体的计算过程 可以参对应参考图2a-图2d示例性的示出了的线段生成过程,图2e为提取 得到的弧支持线段。
S20.在所提取的线段中筛选出弧支持线段。在具体的实施例中,在提取 待测图像中所有的线段后,所提取的线段包括直线段和弧支持线段两类线 段,在进行圆识别时,如果对所有的线段进行计算,就会将直线段进行计 算,直线段较多的情况下会带来大量冗余计算,在本实施例中先在所提取 的线段中将弧支持线段筛选出来,后续计算只针对弧支持线段进行计算, 可以大大减少计算量,图3a图3b和图3c示例性的示出看了提取对筛选弧支持线段后的效果,对图3a中的图像经过线段提取,提取的线段如图3b 中的线段所示,提取到146条线段,图3c中为筛选后的弧支持下段,剩余 的弧支持线段为92条,可以节省后续1/3的计算量。具体的筛选弧支持线 段的方法可以有多种,将在下面实施例对筛选弧支持线段进行详细的介绍。
S30.获取属于相同圆的弧支持线段。在具体的实施例中,在提取的弧支 持线段的集合中,大部分都来自于不同的圆,每条弧支持线段都具有固有 的属性,并且,来自相同的圆的弧支持线段的属性相同或相近,在本实施 例中,可以利用各个弧支持线段的固有属性对其进行筛选,筛选出属于同 一个圆的弧支持线段。如图4示出了四条弧支持线段,分别为L1、L2、L3 和L4,由于L1和L3、L4的属性不同,可以确定出其不属于同一圆,其中, L1和L2的属性相同,为属于同一圆的弧支持线段。在筛选出属于同一个 圆的弧支持线段,可以减小因利用所有的弧支持线段直接进行圆拟合带来 的计算冗余,较大的提高了后续圆拟合的拟合速率。
S40.对属于相同圆的弧支持线段进行拟合。在具体的实施例中,如图4 所示,属于相同圆的弧支持线段以两条弧支持线段为例进行说明,在本实 施例中,属于相同圆的弧支持线段可以包括两条或者多条。属于相同圆的 弧支持线段L1和L2,计算L1和L2中垂线的交点O,即为弧支持线段L1 和L2所在圆的圆心,计算两条弧支持线段L1和L2的端点到圆心的第一距 离R1和第二距离R2。判断第一距离R1和第二距离R2差的绝对值在预设 值ξrd范围内,在本实施例中,半径可以取第一距离R1和第二距离R2的 平均值,如图11b和图11c所示,选取弧支持线段L1和L2波动范围2ξid内的支持内点,即支持内点在圆周上2ξid的范围内,所称支持内点需满足 该点的梯度方向和法线方向在预设角度范围内。如果支持内点的数量组成 的圆弧超过预设弧度,则可以认为该弧支持线段组成了一个初始圆。由于 支持内点在波动范围内统计,所以会产生很多初始圆,如图11b所示,对 这些初始圆采用均值漂移进行聚类,可以得到聚类中心,聚类中心可以称 作候选圆,如图11c所示,在对每一个候选圆上的支持内点进行拟合可以 得到拟合后的圆。
在待识别图像中提取所能识别到的所有的线段,提取的线段中包括源 于直边缘的直线段和源于曲线边缘的弧支持线段,在在原图中提取的线段 中筛选弧支持线段,由于提取到的多个弧支持线段很大可能来源于不同的 圆,为减小计算量,需要对弧支持线段进行同圆匹配,获取到属于相同圆 的弧支持线段,并对属于相同圆的弧支持线段进行拟合,得到需要识别的 圆,在提取线段后,首先将弧支持线段提取出来,可以避免在后续计算过程中引入直线段而造成计算冗余,以提高识别效率,在得到弧支持线段后, 利用弧支持线段的特性,得到属于相同圆的弧支持线段,再进行拟合,相 比直接用弧支持线段进行拟合既可以提高识别效率,同时利用弧支持线段 的特性可以使识别的精度更高,本发明均衡识别效率和识别精度,识别效 果有较大提升,可以更好的满足工业对识别到的圆的需求。
为保证拟合得到圆的准确性,需要对拟合得到的圆进行验证,在可选 的实施例中,在步骤S40之后还可以包括:
S50.对拟合后的图像进行验证。在具体的实施例中,由于支持内点来自 圆周,可以通过支持内点进行验证,具体的,计算拟合后的图像的支持内 点的连通弧的跨度角度;判断跨度角度是否大于预设角度;当跨度角度是 否大于预设角度时,确认识别到圆。如果支持内点的数量过少,可能对支 持内点进行连通时,得到的连通弧不是圆上的连通弧,为保证验证的准确 性,优选的,在计算拟合后的图像的支持内点的连通弧的跨度角度之前可先验证支持内点的数量,具体的,统计圆周上支持内点的数量,判断圆周 上支持内点的数量是否大于预设数量,例如,圆周上支持内点数量至少有 2πRTni个,其中,Tni为比例阈值,范围在0-1之间。在确定数量达到预设 数量后在对其连通弧的角度进行验证,可以保证验证的准确性。
实施例2
在圆识别的过程中,弧支持线段筛选的效率和筛选地准确性可以影响 到后续的圆识别计算的效率和准确性,因此,本发明实施例还提供了一种 圆识别方法,如图5所示,该方法包括如下步骤:
S10.提取待识别图像中的线段。具体的可以参将上述实施例步骤S10 对于提取线段的描述。
S201.获取所提取的线段的第一梯度方向。在具体的实施例中,在采用 LSD算法提取待识别图像中线段时,选取种子点执行区域生长算法,生长 为一个支持区域。该支持区域内的每一个点的level-line角度和区域主方向 即梯度方向保持在一定误差范围内,该误差范围可以根据所需的精度和计 算速度进行确定。每个支持区域被外接一个矩形,最后对外接矩形进行错 误控制,去除边缘噪音,从而提取线段。种子点生长的方向即为下端的梯 度方向,具体的可以参见图2a-图2d所示的线段生长过程,所示矩形或线 段的方向为线段的第一梯度方向。
S202.将所提取的线段分成至少两段子线段。在具体的实施例中,可以 将提取的线段分成两段或两段以上,为避免计算的复杂性,在本实施例中, 优选将线段分为两段,为方便后续计算简单,可以将线段等分为两段。例 如,如图2d和图2e所示的矩形区域,假设矩形区域的两个端点分别为A 和B,主方向为可以按照垂直于且过矩形区域中心C的虚线, 将矩形区域分为两部分,即为两等分线段,得到线段AC和线段CB。分别 计算每段子线段的第二梯度方向,在本实施例中,第二梯度方向为各个子 线段的主方向,在本实施例中,以两等分线段为例进行说明,具体的将线 段以中心店C点两等分为两部分后,可以利用主成分分析(Principal Component Analysis,PCA)方法,得到两个线段的主方向和如图6b和图6d中所示。
S203.分别计算第一梯度方向与每个第二梯度方向的夹角。在具体的实 施例中,提取的线段的第一梯度方向与各个子线段的第二梯度方向具有一 定的夹角,具体的,直线段在理论上提取的线段的第一梯度方向与各个子 线段的第二梯度方向的夹角为零度,弧支持线段的第一梯度方向与各个子 线段的第二梯度方向的夹角中的锐角大于零度,可以分别计算第一梯度方 向与各个子线段的第二梯度方向的夹角。
S204.判断夹角是否均大于预设夹角值。在具体的实施例中,如果圆上 弧支持线段的子线段与弧支持线段的各个夹角的变化范围应满足一定范围, 即可以判断得到的夹角是否都大于预设夹角,在本实施例中,预设夹角为 大于零度的锐角,其大小与子线段的分段多少相关,分段越多夹角越小。 可以根据具体的精度要求,即分段多少确定预设夹角的度数。当夹角均大 于预设夹角值时,进入步骤S30。当夹角中存在小于预设夹角时,进入步骤 S206。
S205.剔除当前所提取的线段。
S30.获取属于相同圆的弧支持线段。具体的可以参将上述实施例步骤 S30对于获取属于相同的弧支持线段的描述。
S40.对属于相同圆的弧支持线段进行拟合。具体的可以参见上述实施 例步骤S40对于对属于相同圆的弧支持线段进行拟合的描述。
S50.对拟合后的图像进行验证。具体的可以参见上述实施例步骤S50 对于对拟合后的图像进行验证的描述。
在待识别图像中提取所能识别到的所有的线段,提取的线段中包括源 于直边缘的直线段和源于曲线边缘的弧支持线段,再在原图中提取的线段 中筛选弧支持线段,由于提取到的多个弧支持线段很大可能来源于不同的 圆,为减小计算量,需要对弧支持线段进行同圆匹配,获取到属于相同圆 的弧支持线段,并对属于相同圆的弧支持线段进行拟合,得到需要识别的 圆。在提取线段后,通过将弧支持线段进行分段,并计算各个子线段的方向的之间的夹角,由于弧支持线段为曲线,各个子线段的夹角应该在某一 角度范围内,从而可以识别当前线段是否为弧支持线段,可以较为精确的 识别得到弧支持线段,可以避免在后续计算过程中引入直线段而造成计算 冗余,可以提高识别效率,在得到弧支持线段后,利用弧支持线段的特性, 得到属于相同圆的弧支持线段,再进行拟合,相比直接用弧支持线段进行 拟合既可以提高识别效率,同时利用弧支持线段的特性可以使识别的精度 更高,本发明均衡识别效率和识别精度,识别效果有较大提升可以更好的 满足工业对识别到的圆的需求。
由于在待识别图像中提取线段包含大量的直线段,在进行角度计算时, 需要将所有的线段都进行计算,可能导致计算的冗余,因此,需要先对线 段进行初步筛选,以减少进行角度计算的线段的基数,提高计算速率。作 为本实施例的可选方案,在步骤S203之前还可以包括:
S206.判断顺次相连的每段子线段的梯度方向是否依序沿相同时针方 向变化。在本实施例中,可以通过判断和两个主方向是否按照 顺时针或逆时针方向变化,在本实施例中以两个子线段为例进行说明,可 以将线段分为多个部分,判断多个方向的变化趋势,在本实施例中还可以 判断是否按相同时针方向变化,当顺次相连的每段子 线段的梯度方向依序沿相同时针方向变化时进入步骤S203。当顺次相连的 每段子线段的梯度方向依序没有沿相同时针方向变化时进入步骤S205。
实施例3
在圆识别的过程中,弧支持线段筛选的效率可以影响到后续的圆识别 计算的效率,由于对线段的变换趋势进行判断其计算量较小,为保证筛选 的效率,可以针对线段的变换趋势进行计算,因此本发明实施例还提供了 一种圆识别方法,如图7所示,该方法包括如下步骤:
S10.提取待识别图像中的线段。具体的可以参将上述实施例步骤S10 对于提取线段的描述。
S210.将提取的线段分成至少两段子线段。具体的可以参见上述实施例 中步骤S202中对于将提取的弧支持线段分成至少两段子线段的描述.
S220.分别计算每段子线段的梯度方向。具体的可以参见上述实施例中 步骤S202中对于计算每段子线段的梯度方向的描述。
S230.判断顺次相连的每段子线段的梯度方向是否依序沿相同时针方向 变化。具体的可以参见上述实施例中步骤S207对于判断顺次相连的每段子 线段的第二梯度方向是否依序沿相同时针方向变化的描述,当顺次相连的 每段子线段的第二梯度方向依序沿相同时针方向变化时进入步骤S240。当 顺次相连的每段子线段的第二梯度方向依序没有沿相同时针方向变化时进 入步骤S30。
S240.剔除当前所提取的线段。
S30.获取属于相同圆的弧支持线段。具体的可以参将上述实施例步骤 S30对于获取属于相同的弧支持线段的描述。
S40.对属于相同圆的弧支持线段进行拟合。具体的可以参见上述实施 例步骤S40对于对属于相同圆的弧支持线段进行拟合的描述。
S50.对拟合后的图像进行验证。具体的可以参见上述实施例步骤S50 对于对拟合后的图像进行验证的描述。
在待识别图像中提取所能识别到的所有的线段,提取的线段中包括源 于直边缘的直线段和源于曲线边缘的弧支持线段,再在原图中提取的线段 中筛选弧支持线段,由于提取到的多个弧支持线段很大可能来源于不同的 圆,为减小计算量,需要对弧支持线段进行同圆匹配,获取到属于相同圆 的弧支持线段,并对属于相同圆的弧支持线段进行拟合,得到需要识别的 圆。在提取线段后,通过将弧支持线段进行分段,并判断各个子线段的是否按相同时针方向排布,由于弧支持线段为曲线,各个子线段的方向应该 沿弧的方向变化,判断方向变化的计算量更少,节省筛选弧支持线段的时 间,从而可以识别当前线段是否为弧支持线段,可以较为精确的识别得到 弧支持线段,可以避免在后续计算过程中引入直线段而造成计算冗余,可 以提高识别效率,在得到弧支持线段后,利用弧支持线段的特性,得到属 于相同圆的弧支持线段,再进行拟合,相比直接用弧支持线段进行拟合既 可以提高识别效率,同时利用弧支持线段的特性可以使识别的精度更高, 本发明均衡识别效率和识别精度,识别效果有较大提升,可以更好的满足 工业对识别到的圆的需求。
提取出的线段可能存在噪声的影响,导致提取的线段有变形,通过线 段的变化趋势筛选弧支持线段,可能将原本属于直线段的线段筛选成弧支 持线段,作为本发明实施例的优选实施例,在步骤S240或步骤S30之前, 还可以对其进一步筛选,在可选地实施例中还可以包括:
S250.分别计算所选取线段梯度方向与每个子线段梯度方向的夹角。具 体的可以参见上述实施例中步骤S203对于计算夹角的描述。
S260.判断夹角是否均大于预设夹角值;具体的可以参见上述实施例中 步骤S204中对于判断夹角的描述。当夹角均大于预设夹角值时,进入步骤 S30。当夹角中存在小于预设夹角时,进入步骤S240。
实施例4
本发明实施例还提供了一种圆识别方法,如图8所示,该方法包括如 下步骤:
S10.提取待识别图像中的线段。具体的可以参将上述实施例步骤S10 对于提取线段的描述。
S20.在所提取的线段中筛选出弧支持线段。具体的可以参见上述实施 例步骤S20中对于筛选弧支持线段的描述,或者,参见上述实施例步骤S201- 步骤S208对于筛选弧支持线段的描述,或者,参上上述实施例中,对于步 骤S210-步骤S270对于筛选弧支持线段的描述。
S310.按照弧支持线段的极性进行分类。在具体的实施例中,弧支持线 段都具有其固有的属性,例如,弧支持线段都携带有极性,在灰度图中, 对于弯曲边缘存在着两种类型。第一种类型如图6a所示的灰度图和图6b 所示弧支持线段,该弧支持线段整体表现的梯度方向和和圆可能产生的方 向一致;第二种类型如图6c所示的灰度图和图6d所示弧支持线段,该弧 支持线段整体表现的梯度方向和和圆可能产生的方向相反。这两种类型的 曲线边缘的线段近似会衍生出两种类型的弧支持线段。第一种类型的弯曲 边缘近似而得到的弧支持线段极性为正极性;第二种则为负极性。因此弧 支持线段可以分为正负两种极性。
S320.分别对相同极性的弧支持线段进行配对。在具体的实施例中,在 工业生产中,同一个圆上产生的弧支持线段的极性一般都是一致的。因此 筛选出来的属于相同极性的弧支持线段可以作为属于相同圆的弧支持线段 的在先条件,在本实施例中可以只对属于同一极性的弧支持线段进行配对, 具体的配对条件,可以按照属于同一圆的弧支持线段的属性进行配对,得 到属于相同圆的弧支持线段。
S40.对属于相同圆的弧支持线段进行拟合。具体的可以参见上述实施 例步骤S40对于对属于相同圆的弧支持线段进行拟合的描述。
S50.对拟合后的图像进行验证。具体的可以参见上述实施例步骤S50 对于对拟合后的图像进行验证的描述。
在待识别图像中提取所能识别到的所有的线段,提取的线段中包括源 于直边缘的直线段和源于曲线边缘的弧支持线段,再在原图中提取的线段 中筛选弧支持线段,由于提取到的多个弧支持线段很大可能来源于不同的 圆,为减小计算量,需要对弧支持线段进行同圆匹配,获取到属于相同圆 的弧支持线段,并对属于相同圆的弧支持线段进行拟合,得到需要识别的 圆。在提取线段后,在提取的线段中筛选出弧支持线段,可以避免在后续计算过程中引入直线段而造成计算冗余,可以提高识别效率,在得到弧支 持线段后,利用弧支持线段的特性,由于属于相同圆的弧支持线段的极性 相同,可以先通过极性对弧支持线段进行第一步筛选,由于极性取决于圆 内与背景的灰度的对比,极性计算相对简单,在对相同极性的线段进行匹 配,可以减小匹配的计算量(计算量减小大概一半左右),得到属于相同圆 的弧支持线段,再进行拟合,相比直接用弧支持线段进行拟合既可以提高 识别效率,同时利用弧支持线段的特性可以使识别的精度更高,本发明在 识别效率和识别精度上均有较大提升,可以更好的满足工业对识别到的圆 的需求。
相同极性的弧支持线段可能来自不同的圆,为保证能够更为精细的筛 选出属于相同圆的弧支持线段,在可选的实施例中,如图9所示,步骤S320 还可以包括如下步骤:
S321.在相同极性的弧支持线段中选择一条弧支持线段。在具体的实施 例中,具有相同极性的弧支持线段可能有很多,需要进一步的进行筛选, 可在众多的相同极性的弧支持线段中随机选择任意一条弧支持线段。
S322.获取所选择的弧支持线段的限制区域内相同极性的弧支持线段作 为待匹配弧支持线段。在具体的实施例中,在提取的弧支持线段中,有很 大的可能来自于不同的圆,无法形成匹配对,需要利用弧支持下段的限制 区域,所称限制区域为弧支持线段的沿弧支持方向的区域,弧支持方向为 产生弧支持线段的弧边缘的凹侧方向,具体的,弧支持线段的区域可以为 弧支持线段上所有点的切线在弧支持线段所在圆心方向组成的区域。该限 制区域可能包含多条弧支持线段,可以将包含在选择的弧支持线段的限制 区域内的弧支持线段作为待匹配的弧支持线段。
S323.判断待匹配弧支持线段的限制区域内是否包含所选择的弧支持 线段。在具体的实施例中,寻找待匹配的弧支持线段的限制区域,在该限 区域中包含所选择的弧支持线段,才能进行匹配,即需要满足两条线段在 彼此的弧支持线段的区域内。如图4所示,弧支持线段L1和L2,需满足 以下公式才能满足两条线段在彼此的弧支持线段的限制区域内:
其中,(i=1或2)是单位弧支持方向向量,ρd为距离阈值。 图4中的弧支持下段L1和L2在彼此的限制区域内,阴影部分区域为L1 和L2的重叠区域,所以,弧支持线段L1和L2为属于相同圆的弧支持线段。 当待匹配弧支持线段的限制区域内包含所选择的弧支持线段时,进入步骤 S324。当待匹配弧支持线段的限制区域内不包含所选择的弧支持线段时, 进入步骤S236。
S324.保留限制区域内包含所选择的弧支持线段的待匹配弧支持线段。 在具体的实施例中,待匹配的弧支持线段的限制区域如果包含所选择的弧 支持线段,且待匹配的弧支持线段与所选的弧支持线段极性相同,则待匹 配的弧支持线段与所选择的弧支持线段属于相同圆,保留该带匹配的弧支 持线段。
S325.对所保留的待匹配弧支持线段和所选择的弧支持线段进行配对。 在具体的实施例中,保留的带匹配的弧支持线段与所选的弧支持线段均为 同一圆的弧支持线段。来自于同一圆的弧支持线段可以作为弧支持线段匹 配对,以便后续拟合成圆。
在待识别图像中存在多个圆时,需要对多个圆进行拟合,需要在弧支 持线段中找到属于各个圆中的弧支持线段,在可选地实施例中,在步骤S325 之后还可以包括:
S326.在未配对的弧支持线段中选择一条弧支持线段,并返回步骤 S322直至所有可配对的弧支持线段全部配对。在具体的实施例中,已配对 的弧支持线段属于相同圆的弧支持线段,在对下一个圆进行拟合时,可以 在未配对的弧支持线段中随机选择一条弧支持线段,并重复上一个圆中弧 支持线段的配对过程,可以得到当前圆的弧支持线段的匹配对。
实施例5
为进一步提高识别的圆的精度,本发明实施例还提供了一种圆识别方 法,具体的如图10所示,该方法可以包括如下步骤:
S10.提取待识别图像中的线段。具体的可以参将上述实施例步骤S10 对于提取线段的描述。
S20.在所提取的线段中筛选出弧支持线段。具体的可以参见上述实施 例步骤S20中对于筛选弧支持线段的描述,或者,参见上述实施例步骤S201- 步骤S208对于筛选弧支持线段的描述,或者,参上上述实施例中,对于步 骤S210-步骤S270对于筛选弧支持线段的描述。
S30.获取属于相同圆的弧支持线段。具体的可以参将上述实施例步骤 S30对于获取属于相同的弧支持线段的描述。或者,参见上述实施例中步骤 S310-步骤S320对于获取属于相同的弧支持线段的描述。
S410.对属于相同圆的弧支持线段进行至少一次拟合。在具体的实施例 中,可以对属于相同圆的弧支持线段进行两次以上的拟合,第一次拟合可 以利用属于相同圆的弧支持线段的支持内点进行拟合,具体的可以参见上 述实施例中步骤S40对于属于相同圆的弧支持线段进行拟合的描述。在第 一拟合完后,第一次拟合后的图形的圆周上的支持内点更为充分,可以利 用拟合后的图形圆周上的支持内点进行再次拟合,具体的,判断第一次拟 合后的图像的支持内点数量是否大于预设值,所称预设值可以根据需要的 精度进行设置,当拟合后的图像的支持内点的数量小于预设值时,进行下 一次拟合直至拟合后的图像的支持内点的数量大于预设值。在本实施例中, 通常在二次拟合后即可得到较高的精度,为减小拟合的耗时,在本实施例 中,采用二次拟合,在采用二次拟合时,利用第一次拟合后的圆周上的支 持内点进行拟合,拟合后的图形即为识别到的圆,无需在进行内点数量的判断,具体地内点数量的判断可以验证二次拟合后圆的精度。
S50.对拟合后的图像进行验证。具体的可以参见上述实施例步骤S50 对于对拟合后的图像进行验证的描述。
在本实施例中,以实施例5为例,示例性的给出了本发明实施例5的 圆识别方法对自然图和印制电路板图中圆识别的识别效果与霍夫变换、随 机圆检测和基于线段的圆检测的识别效果的实验数据,如表1和表2所示。
自然图
识别方法 | 精确率 | 召回率 | 平均时间 |
实施例5 | 97.26% | 81.45% | 284.6ms |
基于线段圆识别 | 86.40% | 82.60% | 4467.8ms |
霍夫变换圆识别 | 26.36% | 61.95% | 2457.7ms |
随机圆检测 | 31.06% | 34.99% | 190.2ms |
表1
PCB图
识别方法 | 精确率 | 召回率 | 平均时间 |
实施例5 | 100.00% | 94.24% | 155.3ms |
基于线段圆识别 | 89.06% | 97.12% | 1160.0ms |
霍夫变换圆识别 | 35.53% | 55.56% | 1106.9ms |
随机圆检测 | 52.27% | 18.93% | 118.3ms |
表2
在上述表1和表2中,可以较为明显的看出本发明实施例5的圆识别 方法虽然识别速率不是最高的(平均时间相比于随机圆检测的时间只少几 十毫秒,但是识别精度和召回率大大提高),但是,综合速率,时间和召回 率,本发明的圆识别方法的识别效果相比于其他三种时最好的,更能满足 现代工业的需求。
图11c示例性的示出了一次拟合后的图形,图11d示例性的示出了二次 拟合的图形,经对比可以得到,在一些精度要求较低的情况,可以只进行 一次拟合能够完全满足需求,由表2可以得出,在PCB中经二次拟合后的 圆的精度可以达到100%,因此二次拟合适用于精度要求极高的领域,在普 通的PCB生成中只需通过一次拟合可以满足要求,而一次拟合的时间小于 二次拟合时间,在实际应用过程中,采用一次拟合可以使识别效率更高, 较好的满足实际生成的需求。
本发明实施例还提供了一种圆识别装置,如图12所示,包括:提取模 块121,用于提取待识别图像中的线段;筛选模块122,用于在所提取出的 线段中筛选出弧支持线段;获取模块123,用于获取属于相同圆的弧支持线 段;拟合模块124,用于对属于相同圆的弧支持线段进行拟合。
在可选的实施例中,筛选模块,包括:第一获取单元,用于获取所提 取的线段的第一梯度方向;第一拆分单元,用于将所提取的线段分成至少 两段子线段;第一计算单元,用于分别计算每段子线段的第二梯度方向; 第二计算单元,用于分别计算第一梯度方向与每个第二梯度方向的夹角; 第一判断单元,用于判断夹角是否均大于预设夹角值;第一确认单元,用 于当夹角均大于预设夹角值时,确认所提取的线段为弧支持线段。
在可选的实施例中,筛选模块包括:第二拆分单元,用于将提取的线 段分成至少两段子线段;第三计算单元,用于分别计算每段子线段的梯度 方向;第二判断单元,用于判断顺次相连的每段子线段的梯度方向是否依 序沿相同时针方向变化;第二确认单元,用于当顺次相连的每段子线段的 梯度方向依序沿相同时针方向变化时,确认当前线段为弧支持线段。
在可选的实施例中,筛选模块,包括:第二获取单元,用于获取所提 取的线段的第一梯度方向;第三拆分单元,用于将提取的线段分成至少两 段子线段;第四计算单元,用于分别计算每段子线段的第二梯度方向;第 三判断单元,用于判断顺次相连的每段子线段的第二梯度方向是否依序沿 相同时针方向变化;第五计算单元,用于当顺次相连的每段子线段的第二 梯度方向依序沿相同时针方向变化时,分别计算第一梯度方向与每个第二 梯度方向的夹角;第四判断单元,用于判断夹角是否均大于预设夹角值; 第三确认单元,用于当夹角均大于预设夹角值时,确认当前线段为弧支持 线段。
在可选的实施例中,获取模块,包括:分类单元,用于按照弧支持线 段的极性进行分类;配对单元,用于分别对相同极性的弧支持线段进行配 对,得到属于相同圆的弧支持线段。
在可选的实施例中,配对单元,包括:选择子单元,用于在相同极性 的弧支持线段中选择一条弧支持线段;获取子单元,用于获取所选择的弧 支持线段的限制区域内相同极性的弧支持线段作为待匹配弧支持线段,限 制区域为弧支持方向指向的区域,弧支持方向为产生弧支持线段的弧边缘 的凹侧方向;判断子单元,用于判断待匹配弧支持线段的限制区域内是否 包含所选择的弧支持线段;保留子单元,用于当待匹配弧支持线段的限制 区域内包含所选择的弧支持线段时,保留限制区域内包含所选择的弧支持 线段的待匹配弧支持线段;配对子单元,用于对所保留的待匹配弧支持线 段和所选择的弧支持线段进行配对。
在可选的实施例中,配对单元,还包括:第二选择单元,用于在未配 对的弧支持线段中选择一条弧支持线段;重复单元,用于重复获取所选择 的线段的限制区域内的线段作为待匹配线段,判断待匹配线段的限制区域 内是否包含所选择的线段,保留限制区域内包含所选择的线段的待匹配线 段,对所保留的待匹配线段进行配对的步骤,直至所有能配对的弧支持线 段全部配对。
在可选的实施例中,拟合模块,包括:拟合单元,用于对属于相同圆 的弧支持线段进行至少一次拟合。
在可选的实施例中,拟合单元,包括:第二判断子单元,用于判断拟 合后的图像的支持内点的数量是否大于预设值;重复拟合单元,用于当拟 合后的图像的支持内点的数量小于预设值时,进行下一次拟合直至拟合后 的图像的支持内点的数量大于预设值。
在可选的实施例中,圆识别装置还包括:计算模块,用于计算拟合后 的图像的支持内点的连通弧的跨度角度;判断模块,用于判断跨度角度是 否大于预设角度;确认模块,用于当跨度角度是否大于预设角度时,确认 识别到圆。
本发明实施例还提供了一种非暂态计算机可读介质,非暂态计算机可 读存储介质存储计算机指令,计算机指令用于使计算机执行如上述实施例 中任意一项描述的圆识别方法。其中,存储介质可为磁碟、光盘、只读存 储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory, RAM)、快闪存储器(Flash Memory)、硬盘(Hard DiskDrive,缩写:HDD) 或固态硬盘(Solid-State Drive,SSD)等;存储介质还可以包括上述种类 的存储器的组合。
本发明实施例提供了一种用户终端,如图13所示,该用户终端包括一 个或多个处理器41以及存储器42,图13中以一个处理器43为例。
用户终端还可以包括:输入装置43和输出装置44。
处理器41、存储器42、输入装置43和输出装置44可以通过总线或者 其他方式连接,图13中以通过总线连接为例。
处理器41可以为中央处理器(Central Processing Unit,CPU)。处 理器41还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array, FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件 组件等芯片,或者上述各类芯片的组合。通用处理器可以是微处理器或者 该处理器也可以是任何常规的处理器等。
存储器42作为一种非暂态计算机可读存储介质,可用于存储非暂态软 件程序、非暂态计算机可执行程序以及模块,如本申请实施例中的圆识别 方法对应的程序指令/模块。处理器41通过运行存储在存储器42中的非暂 态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处 理,即实现上述方法实施例的圆识别方法。
存储器42可以包括存储程序区和存储数据区,其中,存储程序区可存 储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据服 务器操作的处理装置的使用所创建的数据等。此外,存储器42可以包括高 速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器 件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器42 可选包括相对于处理器41远程设置的存储器,这些远程存储器可以通过网络连接至网络连接装置。上述网络的实例包括但不限于互联网、企业内部 网、局域网、移动通信网及其组合。
输入装置43可接收输入的数字或字符信息,以及产生与服务器的处理 装置的用户设置以及功能控制有关的键信号输入。输出装置44可包括显示 屏等显示设备。
一个或者多个模块存储在存储器42中,当被一个或者多个处理器41 执行时,执行上述实施例1-5任意一项描述的方法。
虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在 不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和 变型均落入由所附权利要求所限定的范围之内。
Claims (22)
1.一种圆识别方法,其特征在于,包括:
提取待识别图像中的线段;
在所提取出的线段中筛选出弧支持线段;
获取属于相同圆的弧支持线段;
对属于相同圆的弧支持线段进行拟合。
2.如权利要求1所述的圆识别方法,其特征在于,所述在所提取出的线段中筛选出弧支持线段,包括:
获取所提取的线段的第一梯度方向;
将所提取的线段分成至少两段子线段;
分别计算每段子线段的第二梯度方向;
分别计算所述第一梯度方向与每个所述第二梯度方向的夹角;
判断所述夹角是否均大于预设夹角值;
当所述夹角均大于预设夹角值时,确认所提取的线段为弧支持线段。
3.如权利要求1所述的圆识别方法,其特征在于,所述在所提取出的线段中筛选出弧支持线段,包括:
将所述提取的线段分成至少两段子线段;
分别计算每段子线段的梯度方向;
判断顺次相连的每段子线段的梯度方向是否依序沿相同时针方向变化;
当顺次相连的每段子线段的梯度方向依序沿相同时针方向变化时,确认当前线段为弧支持线段。
4.如权利要求1所述的圆识别方法,其特征在于,所述在所提取出的线段中筛选出弧支持线段,包括:
获取所提取的线段的第一梯度方向;
将所述提取的线段分成至少两段子线段;
分别计算每段子线段的第二梯度方向;
判断顺次相连的每段子线段的第二梯度方向是否依序沿相同时针方向变化;
当顺次相连的每段子线段的第二梯度方向依序沿相同时针方向变化时,分别计算所述第一梯度方向与每个所述第二梯度方向的夹角;
判断所述夹角是否均大于预设夹角值;
当所述夹角均大于预设夹角值时,确认当前线段为弧支持线段。
5.如权利要求1所述的圆识别方法,其特征在于,所述获取属于相同圆的弧支持线段,包括:
按照所述弧支持线段的极性进行分类;
分别对相同极性的弧支持线段进行配对,得到属于相同圆的弧支持线段。
6.如权利要求5所述的圆识别方法,其特征在于,所述分别对相同极性的弧支持线段进行配对,包括:
在所述相同极性的弧支持线段中选择一条弧支持线段;
获取所选择的弧支持线段的限制区域内相同极性的弧支持线段作为待匹配弧支持线段,所述限制区域为弧支持方向指向的区域,弧支持方向为产生弧支持线段的弧边缘的凹侧方向;
判断所述待匹配弧支持线段的限制区域内是否包含所选择的弧支持线段;
当待匹配弧支持线段的限制区域内包含所选择的弧支持线段时,保留限制区域内包含所选择的弧支持线段的待匹配弧支持线段;
对所保留的待匹配弧支持线段和所选择的弧支持线段进行配对。
7.如权利要求6所述的圆识别方法,其特征在于,所述分别对相同极性的弧支持线段进行配对,还包括:
在未配对的弧支持线段中选择一条弧支持线段;
重复获取所选择的线段的限制区域内的线段作为待匹配线段,判断所述待匹配线段的限制区域内是否包含所选择的线段,保留限制区域内包含所选择的线段的待匹配线段,对所保留的待匹配线段进行配对的步骤,直至所有能配对的弧支持线段全部配对。
8.如权利要求1所述的圆识别方法,其特征在于,所述对属于相同圆的弧支持线段进行拟合,包括:
对属于相同圆的弧支持线段进行至少一次拟合。
9.如权利要求8所述的圆识别方法,其特征在于,所述对属于相同圆的弧支持线段进行至少一次拟合,包括:
所述对属于相同圆的弧支持线段进行第一次拟合;
判断拟合后的图像的支持内点的数量是否大于预设值;
当所述拟合后的图像的支持内点的数量小于预设值时,进行下一次拟合直至所述拟合后的图像的支持内点的数量大于预设值。
10.如权利要求1-9任一项所述的圆识别方法,其特征在于,在所述对属于相同圆的弧支持线段进行拟合之后,还包括:
计算拟合后的图像的支持内点的连通弧的跨度角度;
判断所述跨度角度是否大于预设角度;
当所述跨度角度是否大于预设角度时,确认识别到圆。
11.一种圆识别装置,其特征在于,包括:
提取模块,用于提取待识别图像中的线段;
筛选模块,用于在所提取出的线段中筛选出弧支持线段;
获取模块,用于获取属于相同圆的弧支持线段;
拟合模块,用于对属于相同圆的弧支持线段进行拟合。
12.如权利要求11所述的圆识别装置,其特征在于,所述筛选模块,包括:
第一获取单元,用于获取所提取的线段的第一梯度方向;
第一拆分单元,用于将所提取的线段分成至少两段子线段;
第一计算单元,用于分别计算每段子线段的第二梯度方向;
第二计算单元,用于分别计算所述第一梯度方向与每个所述第二梯度方向的夹角;
第一判断单元,用于判断所述夹角是否均大于预设夹角值;
第一确认单元,用于当所述夹角均大于预设夹角值时,确认所提取的线段为弧支持线段。
13.如权利要求11所述的圆识别装置,其特征在于,所述筛选模块包括:
第二拆分单元,用于将所述提取的线段分成至少两段子线段;
第三计算单元,用于分别计算每段子线段的梯度方向;
第二判断单元,用于判断顺次相连的每段子线段的梯度方向是否依序沿相同时针方向变化;
第二确认单元,用于当顺次相连的每段子线段的梯度方向依序沿相同时针方向变化时,确认当前线段为弧支持线段。
14.如权利要求11所述的圆识别装置,其特征在于,所述筛选模块,包括:
第二获取单元,用于获取所提取的线段的第一梯度方向;
第三拆分单元,用于将所述提取的线段分成至少两段子线段;
第四计算单元,用于分别计算每段子线段的第二梯度方向;
第三判断单元,用于判断顺次相连的每段子线段的第二梯度方向是否依序沿相同时针方向变化;
第五计算单元,用于当顺次相连的每段子线段的第二梯度方向依序沿相同时针方向变化时,分别计算所述第一梯度方向与每个所述第二梯度方向的夹角;
第四判断单元,用于判断所述夹角是否均大于预设夹角值;
第三确认单元,用于当所述夹角均大于预设夹角值时,确认当前线段为弧支持线段。
15.如权利要求11所述的圆识别方法,其特征在于,所述获取模块,包括:
分类单元,用于按照所述弧支持线段的极性进行分类;
配对单元,用于分别对相同极性的弧支持线段进行配对,得到属于相同圆的弧支持线段。
16.如权利要求15所述的圆识别装置,其特征在于,所述配对单元,包括:
选择子单元,用于在所述相同极性的弧支持线段中选择一条弧支持线段;
获取子单元,用于获取所选择的弧支持线段的限制区域内相同极性的弧支持线段作为待匹配弧支持线段,所述限制区域为弧支持方向指向的区域,弧支持方向为产生弧支持线段的弧边缘的凹侧方向;
判断子单元,用于判断所述待匹配弧支持线段的限制区域内是否包含所选择的弧支持线段;
保留子单元,用于当待匹配弧支持线段的限制区域内包含所选择的弧支持线段时,保留限制区域内包含所选择的弧支持线段的待匹配弧支持线段;
配对子单元,用于对所保留的待匹配弧支持线段和所选择的弧支持线段进行配对。
17.如权利要求16所述的圆识别装置,其特征在于,所述配对单元,还包括:
第二选择单元,用于在未配对的弧支持线段中选择一条弧支持线段;
重复单元,用于重复获取所选择的线段的限制区域内的线段作为待匹配线段,判断所述待匹配线段的限制区域内是否包含所选择的线段,保留限制区域内包含所选择的线段的待匹配线段,对所保留的待匹配线段进行配对的步骤,直至所有能配对的弧支持线段全部配对。
18.如权利要求11所述的圆识别装置,其特征在于,所述拟合模块,包括:
拟合单元,用于对属于相同圆的弧支持线段进行至少一次拟合。
19.如权利要求18所述的圆识别装置,其特征在于,所述拟合单元,包括:
第二判断子单元,用于判断拟合后的图像的支持内点的数量是否大于预设值;
重复拟合单元,用于当所述拟合后的图像的支持内点的数量小于预设值时,进行下一次拟合直至所述拟合后的图像的支持内点的数量大于预设值。
20.如权利要求11-19任一项所述的圆识别装置,其特征在于,还包括:
计算模块,用于计算拟合后的图像的支持内点的连通弧的跨度角度;
判断模块,用于判断所述跨度角度是否大于预设角度;
确认模块,用于当所述跨度角度是否大于预设角度时,确认识别到圆。
21.一种非暂态计算机可读介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如权利要求1-10任意一项所述圆识别方法。
22.一种电子设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行如权利要求1-10任意一项所述的圆识别方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710572811.2A CN107578438A (zh) | 2017-07-13 | 2017-07-13 | 圆识别方法、装置及电子设备 |
PCT/CN2018/091506 WO2019011105A1 (zh) | 2017-07-13 | 2018-06-15 | 圆识别方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710572811.2A CN107578438A (zh) | 2017-07-13 | 2017-07-13 | 圆识别方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107578438A true CN107578438A (zh) | 2018-01-12 |
Family
ID=61049653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710572811.2A Pending CN107578438A (zh) | 2017-07-13 | 2017-07-13 | 圆识别方法、装置及电子设备 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107578438A (zh) |
WO (1) | WO2019011105A1 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108492293A (zh) * | 2018-03-22 | 2018-09-04 | 东南大学 | 一种基于图像的汽车轮毂钢套检测方法 |
CN108537778A (zh) * | 2018-03-27 | 2018-09-14 | 华南理工大学 | 一种用于柔性基板的改进随机圆孔检测方法 |
WO2019011105A1 (zh) * | 2017-07-13 | 2019-01-17 | 南京协辰电子科技有限公司 | 圆识别方法、装置及电子设备 |
CN109365877A (zh) * | 2018-12-20 | 2019-02-22 | 长安大学 | 一种数控机床零件加工自动定位方法 |
CN110530863A (zh) * | 2019-08-27 | 2019-12-03 | 南京末梢信息技术有限公司 | 一种汽车轮毂混包检测装置及方法 |
CN113554582A (zh) * | 2020-04-22 | 2021-10-26 | 中国科学院长春光学精密机械与物理研究所 | 电子设备盖板上功能孔的缺陷检测方法、装置以及系统 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117884984A (zh) * | 2024-02-27 | 2024-04-16 | 山东钰哲光电有限公司 | 一种光学镜片加工用打磨机智能控制方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009060980A1 (en) * | 2007-11-09 | 2009-05-14 | Ricoh Company, Ltd. | Information processing apparatus and information processing method |
CN105931252A (zh) * | 2016-05-16 | 2016-09-07 | 大连理工大学 | 一种基于几何约束的椭圆快速检测方法 |
CN106296652A (zh) * | 2016-07-25 | 2017-01-04 | 凌云光技术集团有限责任公司 | 一种pcb板设计图中轮廓和角点信息的提取方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101110101A (zh) * | 2006-07-17 | 2008-01-23 | 松下电器产业株式会社 | 识别图像的方法及设备 |
CN103020626A (zh) * | 2011-09-28 | 2013-04-03 | 深圳市蓝韵实业有限公司 | 在图像中检测椭圆型目标的方法及系统 |
CN106372642B (zh) * | 2016-08-31 | 2023-11-03 | 北京航空航天大学 | 基于轮廓曲线分割弧合并与组合的椭圆快速检测方法 |
CN107578438A (zh) * | 2017-07-13 | 2018-01-12 | 南京协辰电子科技有限公司 | 圆识别方法、装置及电子设备 |
-
2017
- 2017-07-13 CN CN201710572811.2A patent/CN107578438A/zh active Pending
-
2018
- 2018-06-15 WO PCT/CN2018/091506 patent/WO2019011105A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009060980A1 (en) * | 2007-11-09 | 2009-05-14 | Ricoh Company, Ltd. | Information processing apparatus and information processing method |
CN105931252A (zh) * | 2016-05-16 | 2016-09-07 | 大连理工大学 | 一种基于几何约束的椭圆快速检测方法 |
CN106296652A (zh) * | 2016-07-25 | 2017-01-04 | 凌云光技术集团有限责任公司 | 一种pcb板设计图中轮廓和角点信息的提取方法 |
Non-Patent Citations (2)
Title |
---|
袁清珂 等: ""改进 RANSAC 算法在直线拟合中的应用"", 《组合机床与自动化加工技术》 * |
陈欣: ""融合深度图像和彩色图像的非合作目标位姿测量"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019011105A1 (zh) * | 2017-07-13 | 2019-01-17 | 南京协辰电子科技有限公司 | 圆识别方法、装置及电子设备 |
CN108492293A (zh) * | 2018-03-22 | 2018-09-04 | 东南大学 | 一种基于图像的汽车轮毂钢套检测方法 |
CN108492293B (zh) * | 2018-03-22 | 2021-11-26 | 东南大学 | 一种基于图像的汽车轮毂钢套检测方法 |
CN108537778A (zh) * | 2018-03-27 | 2018-09-14 | 华南理工大学 | 一种用于柔性基板的改进随机圆孔检测方法 |
CN109365877A (zh) * | 2018-12-20 | 2019-02-22 | 长安大学 | 一种数控机床零件加工自动定位方法 |
CN110530863A (zh) * | 2019-08-27 | 2019-12-03 | 南京末梢信息技术有限公司 | 一种汽车轮毂混包检测装置及方法 |
CN110530863B (zh) * | 2019-08-27 | 2022-04-05 | 南京末梢信息技术有限公司 | 一种汽车轮毂混包检测装置及方法 |
CN113554582A (zh) * | 2020-04-22 | 2021-10-26 | 中国科学院长春光学精密机械与物理研究所 | 电子设备盖板上功能孔的缺陷检测方法、装置以及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2019011105A1 (zh) | 2019-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107578438A (zh) | 圆识别方法、装置及电子设备 | |
CN109086654B (zh) | 手写模型训练方法、文本识别方法、装置、设备及介质 | |
CN112115893A (zh) | 仪表盘指针读数识别方法、装置、计算机设备及存储介质 | |
CN111639637B (zh) | 表格识别方法、装置、电子设备和存储介质 | |
CN108108753B (zh) | 一种基于支持向量机的复选框选择状态的识别方法及装置 | |
EP2954457A1 (en) | System and method for identifying similarities in different images | |
CN108334879B (zh) | 一种区域提取方法、系统及终端设备 | |
CN110738236A (zh) | 图像匹配方法、装置、计算机设备及存储介质 | |
CN111666924B (zh) | 一种平面几何自动解题方法及系统 | |
CN111107107B (zh) | 网络行为的检测方法、装置、计算机设备和存储介质 | |
CN109002461A (zh) | 手写模型训练方法、文本识别方法、装置、设备及介质 | |
CN114005126A (zh) | 表格重构方法、装置、计算机设备及可读存储介质 | |
CN111311593B (zh) | 一种多椭圆检测和评估算法、装置及终端 | |
CN110942473A (zh) | 一种基于特征点网格化匹配的运动目标跟踪检测方法 | |
CN108520263B (zh) | 一种全景图像的识别方法、系统及计算机存储介质 | |
CN113283441A (zh) | 一种贴片电阻上的印刷字符识别方法、装置、终端及介质 | |
CN116071272A (zh) | 一种图像校正方法、装置、电子设备及其存储介质 | |
CN106709490B (zh) | 一种字符识别方法和装置 | |
CN108268868B (zh) | 身份证图像的倾斜值获取方法及装置、终端、存储介质 | |
CN117152760A (zh) | 图像处理方法、终端设备及存储介质 | |
CN112614074A (zh) | 一种基于响应图和聚类的鲁棒灭点检测方法及装置 | |
CN112465050A (zh) | 一种图像模板选择方法、装置、设备及存储介质 | |
CN112529172A (zh) | 数据处理方法和数据处理设备 | |
CN113032071B (zh) | 页面元素定位方法、页面测试方法、装置、设备和介质 | |
CN114241044A (zh) | 回环检测方法、装置、电子设备和计算机可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180112 |