表面边缘拟合圆

功能描述

从表面数据中检测圆形边缘并拟合圆。

基本概念

卡尺、圆形路径、边缘点

根据设置的特征区域,步骤会生成一个以该区域的长度(或宽度)为直径、中心为圆心的圆形路径(circular path)。在此圆形路径上,等间距放置若干卡尺(caliper),卡尺向心排列,且每个卡尺的中心都位于圆形路径上。在每个卡尺中,根据设置的间距沿卡尺长度方向提取轮廓线,并从每条轮廓线上检测出符合要求的点作为边缘点(edge point)。最后,使用这些边缘点来拟合一个圆。

basic concepts

如图所示,卡尺内边缘处的黄褐色点即为边缘点,亮黄色的线即为拟合圆的半径。

综上,使用此步骤时需要掌握的基本概念如下:

  • 卡尺

    卡尺需等间距放置在圆形路径上。在每个卡尺内,沿卡尺长度方向按设置的间距提取出若干轮廓线(不显示)。

  • 圆形路径

    以特征区域的长度或宽度(长度等于宽度)为直径、特征区域中心为圆心的圆,用于确定卡尺的位置。

    若未设置特征区域,圆形路径的直径将等于图像包围框的短边,圆心位于包围框的中心。
  • 边缘点

    从每个卡尺中的轮廓线上检测出符合参数要求的点,用于拟合圆。

使用流程

该步骤的使用流程如下图所示。

fit circle to surface edge process
  1. 选择输入数据。在工程编辑区连接对应的步骤端口,或者在参数设置区的输入栏下选择对应的输入数据。

  2. 设置特征区域,然后设置其他通用参数

  3. 根据选择的边缘检测模式,设置阶跃类或角点类边缘相关参数

  4. 输出栏中勾选输出项,并单击输出项左侧的 ▶ 展开该项,输入合格范围的最小值最大值

  5. 运行步骤,并查看运行结果

参数说明

通用参数

参数 解释

使用强度图

当目标检测区域较平整且颜色差异明显时,可使用强度图来检测边缘。

勾选此选项后,步骤将使用强度图数据来检测圆形边缘并拟合圆;不勾选时,步骤默认使用深度图数据。

使用特征区域

不勾选时,使用整个表面数据检测圆形边缘并拟合圆;勾选时,则仅使用特征区域内的数据进行检测和拟合。

查看特征区域说明了解如何调整特征区域。

使用掩膜

勾选该选项后,可设置1~4个掩膜区域来遮挡部分数据。掩膜区域内的数据不参与圆形边缘检测和拟合。

起始角度

通过角度设置卡尺放置的初始位置,剩余卡尺将按相关设置逆时针均匀放置。

卡尺间隔角度 = 角度范围 ÷ 卡尺数量。设置好起始角度后,在偏离起始角度半个间隔角度处放置第一个卡尺,然后按照间隔依次逆时针放置剩余卡尺。

角度范围

需要放置指定数量卡尺的角度范围。

如下图所示,建议设置的角度范围卡尺数量卡尺长度卡尺宽度等参数能让步骤检测到的边缘点均匀覆盖整个圆形边缘。

optimal settings

卡尺数量

需要均匀放置在圆形路径上的卡尺数量。

卡尺长度

卡尺的长度方向与其中心点处圆形路径的切线垂直。

卡尺宽度

卡尺的宽度方向与其中心点处圆形路径的切线平行。

搜索方向

检测边缘点的方向。在卡尺内,步骤将沿搜索方向提取轮廓线以检测边缘点。

值列表:由内向外、由外向内

拟合圆方法

拟合圆的方法,可用于计算和评估拟合圆的圆度。

  • 最小二乘圆:使用最小二乘法来拟合圆的方法。

  • 最小外接圆:此方法可拟合出包含所有边缘点的最小圆。

  • 最大内切圆:此方法可拟合出被所有边缘点包围的最大圆。

  • 最小区域圆:此方法可拟合出完全包围所有边缘点的两个同心圆,两圆之间的距离始终保持最小。

    选择此方法时,需选择待输出的圆类型内圆还是外圆

离群点百分比

拟合过程中要剔除的离群点的比例。

仅当“拟合圆方法”为最小二乘圆时可见。

轮廓线间距

卡尺内相邻轮廓线之间的距离。当设置的间距小于单个像素的宽度时,步骤将使用单个像素宽度作为轮廓线间距。

间距越小,则轮廓线越多,检测到的边缘点也越多,拟合的圆越准确,但计算成本也越高。

平均轮廓线宽度

在垂直轮廓线方向上计算数据点均值的窗口大小,用于获取更平滑的轮廓线,减少噪点的影响。当参数值设置为0时,表示不对轮廓线进行平均处理。

请根据实际情况合理设置参数值。窗口太大可能会导致过度平滑,丢失重要细节;窗口太小则可能导致无法有效减少噪点。
profile averaging width

边缘检测模式

边缘处数据点深度或强度的变化情况。

显示细节

勾选此参数后,可以在可视化窗口中看到卡尺及圆形路径。

阶跃类边缘相关参数

边缘检测模式设置为阶跃时,需设置以下参数。

参数 解释

轮廓线平滑窗口大小

在沿轮廓线方向上对每条轮廓线进行平均处理时的窗口大小。平均处理后,轮廓线会更平滑。当参数值设置为0时,表示不在搜索方向上对轮廓线进行平均处理。

window size for profile smoothing

空缺填充阈值

轮廓线上的数据点可能因遮挡而出现空缺。当轮廓线上的空缺小于或等于设置的阈值时,使用空缺低侧最近的有效点填充该空缺;当空缺大于设置的阈值时,保持空缺为无效点。

gap filling
当存在空缺大于设置的阈值时,你可以选择是否要在检测过程中包含无效点

包含无效点

该参数用于选择是否要在边缘检测过程中包含无效点(无效点为不包含深度或强度信息的点)。勾选后,需设置无效点深度填充值

  • 设置空缺填充阈值包含无效点参数均有助于保证数据的连续性。若无效点未被填充,包含无效点的区域将被视为无效区域,无法参与边缘检测,可能导致漏检。

  • 请根据实际情况设置用于填充无效点的深度值或强度值。确保设置的数值在保证数据连续性的同时,不会对检测结果造成干扰,保证边缘检测的准确性。

无效点深度填充值

用于填充无效点的深度值。

仅勾选包含无效点后需要设置。

无效点强度填充值

用于填充无效点的强度值。

仅在同时勾选使用强度图包含无效点后需要设置。

阶跃宽度

轮廓线上发生阶跃的宽度。当边缘为斜坡状时,合理设置此参数有助于准确测量阶跃高度和定位边缘的位置。

设置的阶跃宽度应略大于边缘的宽度,确保步骤可通过边缘两侧的平坦区域准确测量阶跃高度。

阶跃方向

以搜索方向为基准,选择目标边缘处的阶跃方向。

值列表:上升、下降、上升或下降

阶跃类型

设置需要从每条轮廓线上选取的阶跃类型。

值列表:最优、首个、最后一个

绝对阈值

轮廓线上发生阶跃时高度变化的最小值,满足此值才可以得到边缘点。

当勾选使用强度图参数时,此参数表示轮廓线上发生阶跃时强度变化的最小值。

使用相对阈值

使用此参数确定发生阶跃时高度(或强度)变化不少于轮廓线上最大变化量的百分之几,才可认定该阶跃有效。勾选后,需设置相对阈值

有效阶跃必须同时满足绝对阈值相对阈值

相对阈值

仅在勾选了使用相对阈值后可见。

角点类边缘相关参数

边缘检测模式设置为角点时,需设置以下参数。

参数 解释

角点类型

在下拉列表中选择恰当的角点类型,从而确定边缘点。

值列表:首个、最后一个、顶角点、底角点、最优

Epsilon

此参数反映对轮廓线形状变化的敏感程度。值越大,符合要求的数据点越少,越不容易检测出角点。

一般情况下,设置在 0~1 范围内可满足需求。

输出说明

勾选输出项后,步骤将增加对应的输出端口,步骤运行后将输出对应的数据。可根据实际测量需求选择对应的输出项。

如果输出项可展开(左侧有 ▶),则勾选后必须展开,然后设置最小值最大值来确定该项的合格范围。如果输出的值在合格范围内,该测量项被判定为合格(OK),否则被判定为不合格(NG)。

输出项 说明

圆心X

拟合圆的圆心X值。

圆心Y

拟合圆的圆心Y值。

半径

拟合圆的半径。

圆度

拟合圆与理想圆的接近程度。值越小,表示越接近,拟合的圆越准确。

最小误差

距离拟合圆最远的圆内边缘点对应的误差值,数值为负。

最大误差

距离拟合圆最远的圆外边缘点对应的误差值,数值为正。

圆心

拟合圆的圆心。

拟合圆

圆形边缘拟合圆。

最小误差点

最小误差对应的点。

最大误差点

最大误差对应的点。

错误排查

  • 各步骤通用的错误码,详见错误码列表

  • 若错误码与错误信息不对应,请联系技术支持获取帮助。

CV-W3401

错误:“轮廓线间距”参数值不在有效范围内。

可能原因:参数值小于0,或大于图像的长边。

解决方案:确保参数值大于或等于0,且小于图像的长边。

CV-W3402

错误:“轮廓线平滑窗口大小”参数设置无效。

可能原因:

  • 参数值小于0,或大于图像的长边。

  • 参数值大于卡尺长度。

解决方案:

  • 确保参数值大于或等于0,且小于图像的长边。

  • 确保参数值小于卡尺长度。

CV-W3403

错误:“阶跃宽度”参数设置无效。

可能原因:

  • 参数值小于0,或大于图像的长边。

  • 参数值大于卡尺长度。

解决方案:

  • 确保参数值大于或等于0,且小于图像的长边。

  • 确保参数值小于卡尺长度。

CV-W3404

错误:“空缺填充阈值”参数设置无效。

可能原因:参数值小于0,或大于图像的长边。

解决方案:确保参数值大于或等于0,且小于图像的长边。

CV-W3405

错误:“卡尺宽度”参数值不在有效范围内。

可能原因:参数值小于或等于0,或大于图像的长边。

解决方案:确保参数值大于0,且小于图像的长边。

CV-W3406

错误:“卡尺长度”参数值不在有效范围内。

可能原因:参数值小于或等于0,或大于图像的长边。

解决方案:确保参数值大于0,且小于图像的长边。

CV-W3407

错误:未检测到边缘点。

可能原因:

  • 卡尺相关设置不合理。

  • “绝对阈值”和“相对阈值”过大。

解决方案:

  • 调整卡尺相关参数,确保卡尺中存在边缘点。

  • 降低“绝对阈值”和“相对阈值”。

CV-W3408

错误:“离群点百分比”参数值不在有效范围内。

可能原因:参数值小于0或大于1。

解决方案:确保参数值在0~1范围内。

CV-W3409

错误:“平均轮廓线宽度”参数值不在有效范围内。

可能原因:

  • 参数值小于0,或大于图像的长边。

  • 参数值大于卡尺宽度。

解决方案:

  • 确保参数值大于或等于0,且小于图像的长边。

  • 调小参数值或增大卡尺宽度,确保参数值小于卡尺宽度。

CV-W3410

错误:“卡尺数量”参数值不在有效范围内。

可能原因:参数值小于1或大于1000。

解决方案:确保参数值在1~1000范围内。

CV-W3411

错误:“起始角度”参数值不在有效范围内。

可能原因:参数值小于-180°或大于180°。

解决方案:确保参数值在-180°~180°范围内。

CV-W3412

错误:“角度范围”参数值不在有效范围内。

可能原因:参数值小于10°或大于360°。

解决方案:确保参数值在10°~360°范围内。

CV-W3413

错误:“拟合圆方法”参数设置无效。

解决方案:在参数下拉列表中选择有效的拟合圆方法。

CV-W3414

错误:“无效点强度填充值”参数值不在有效范围内。

可能原因:参数值小于0或大于255。

解决方案:确保参数值在0~255范围内。

CV-W3415

错误:“无效点深度填充值”参数值不在有效范围内。

可能原因:参数值小于-10000或大于10000。

解决方案:确保参数值在-10000~10000范围内。

CV-W3416

错误:Epsilon参数值不在有效范围内。

可能原因:参数值小于0。

解决方案:确保参数值大于或等于0。

CV-W3417

错误:“角点类型”参数设置无效。

解决方案:在参数下拉列表中选择有效的角点类型。

CV-W3418

错误:“绝对阈值”参数值不在有效范围内。

可能原因:参数值小于0或大于255。

解决方案:勾选了“使用强度图”选项时,确保参数值在0~255范围内。

CV-W3419

错误:“绝对阈值”参数值不在有效范围内。

可能原因:参数值小于于0或大于10000。

解决方案:确保参数值在0~10000范围内。

CV-W3420

错误:“相对阈值”参数值不在有效范围内。

可能原因:参数值小于0或大于1。

解决方案:确保参数值在0~1范围内。

CV-W3421

错误:“边缘检测类型”参数设置无效。

解决方案:在参数下拉列表中选择有效的边缘检测类型。

CV-W3422

错误:“搜索方向”参数设置无效。

解决方案:在参数下拉列表中选择有效的搜索方向。

CV-W3423

错误:“阶跃方向”参数设置无效。

解决方案:在参数下拉列表中选择有效的阶跃方向。

CV-W3424

错误:“阶跃类型”参数设置无效。

解决方案:在参数下拉列表中选择有效的阶跃类型。

CV-W3425

错误:“圆类型”参数设置无效。

解决方案:在参数下拉列表中选择有效的圆类型。

我们重视您的隐私

我们使用 cookie 为您在我们的网站上提供最佳体验。继续使用该网站即表示您同意使用 cookie。如果您拒绝,将使用一个单独的 cookie 来确保您在访问本网站时不会被跟踪或记住。