检测并拟合圆

您正在查看最新版本(V2.2.1)的文档。如果您想查阅其他版本的文档,可以点击页面右上角“切换版本”按钮进行切换。

■ 如果您不确定当前使用的产品是哪个版本,请随时联系梅卡曼德技术支持

功能描述

该步骤可从图像中检测圆形边缘并拟合圆。

circle demo

使用场景

该步骤主要用于对包含圆形轮廓的工件或零部件进行自动检测、圆心定位、半径测量等应用。

基本概念

  • 卡尺

    在图像处理过程中,用于在特定区域检测边缘的虚拟测量工具,通过调整其数量、宽度和长度可影响边缘检测的精度及稳定性。

  • 边缘极性

    指图像中边缘灰度值变化的方向,例如从暗到亮、从亮到暗。

使用流程

该步骤的使用流程如下:

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

  2. 完成ROI设置

  3. 设置其他参数。

  4. 在输出栏中确认输出项

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

输入说明

输入项 说明

图像

用于检测圆形边缘的图像。

对齐参数组

用于根据目标物体的位姿变换,同步调整ROI的位姿。

参数说明

参数 解释

ROI设置

你可以绘制一个圆形ROI,系统将根据卡尺设置提取多列像素,每列像素中检测的边缘点将用于圆拟合。

对于圆形等闭合 ROI,卡尺检测边缘的方向为从 ROI 内部指向外部。一般无需调整卡尺方向,ROI 旋转不会影响检测方向。

查看2D ROI设置了解有关ROI和卡尺的更多信息。

边缘极性

该参数用于指定边缘处灰度值的变化方向。

值列表:

  • 暗到亮:检测灰度值从低到高变化的边缘,视觉上颜色从暗到亮。

  • 亮到暗:检测灰度值从高到低变化的边缘,视觉上颜色从亮到暗。

  • 任意:不限制边缘灰度值的变化方向,两种类型都可检测。

滤波窗口大小

指定对提取的每列像素在其方向上进行滤波时使用的窗口大小。滤波可减少噪声,提升边缘检测结果的稳定性。

边缘类型

定义边缘检测中要保留的边缘类型。

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

灰度变化阈值

该参数决定在提取的像素列中,边缘处相邻像素点的灰度值变化量需大于或等于该阈值时,才会检测到边缘点。合理设置该参数值,可有效过滤微弱边缘和噪声。

使用相对阈值

勾选该参数后,只有当一列像素中边缘处相邻像素点间的灰度值变化量不小于该列像素上最大变化量的指定百分比时,才会检测到边缘点。勾选后,需设置相对阈值

离群点百分比

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

输出说明

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

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

拟合圆

通过拟合得到的圆。

圆心

拟合圆的圆心。

圆心X坐标

拟合圆的圆心X坐标值。

圆心Y坐标

拟合圆的圆心Y坐标值。

半径

拟合圆的半径。

错误排查

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

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

CV-W8801

错误:ROI设置不合理。

可能原因:ROI的尺寸过大,超过图像尺寸的2倍。

解决方案:请重新设置ROI,确保其尺寸合理。

CV-W8802

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

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

CV-W8803

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

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

CV-W8804

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

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

CV-W8805

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

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

CV-W8806

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

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

CV-W8807

错误:“滤波窗口大小”参数值不在有效范围内。

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

CV-W8808

错误:“边缘极性”参数设置无效。

解决方案:在参数下拉列表中选择有效的边缘极性。

CV-W8809

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

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

CV-W8810

错误:“灰度变化阈值”参数值不在有效范围内。

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

CV-W8811

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

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

CV-W8812

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

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

CV-W8813

错误:未检测到足够边缘点,无法拟合圆。

可能原因:

  • ROI设置不合理。

  • 卡尺相关设置不合理。

  • “灰度变化阈值”和“相对阈值”过大。

  • “边缘极性”设置不合理。

解决方案:

  • 确保ROI不会过小。

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

  • 降低“灰度变化阈值”和“相对阈值”。

  • 确保“边缘极性”参数设置合理。

该页面是否有帮助?

可以通过以下方式反馈意见:

我们重视您的隐私

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