检测并拟合矩形

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

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

功能描述

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

rectangle demo

使用场景

该步骤主要用于在检测工件上矩形区域、基准框、焊盘、贴片区域等场合,对矩形的定位或尺寸测量有刚性需求。

基本概念

  • 卡尺

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

  • 边缘极性

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

使用流程

该步骤的使用流程如下:

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

  2. 完成ROI设置

  3. 设置其他参数。

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

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

输入说明

输入项 说明

图像

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

对齐参数组

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

参数说明

参数 解释

ROI设置

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

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

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

边缘极性

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

值列表:

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

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

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

滤波窗口大小

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

边缘类型

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

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

灰度变化阈值

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

使用相对阈值

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

最大距离阈值

该参数用于设定允许检测到的边缘点到拟合矩形的最大距离,距离小于或等于该阈值的边缘点将被视为内点。

默认值:4 px

最小拟合分数

该参数用于判断拟合结果是否可接受的最低分数,仅用于结果评估,不影响拟合过程。分数等于内点数与全部边缘点数的比值。

测量精度要求高时建议提高分数门槛,一般可设为0.8及以上。

默认值:0.7

最大迭代次数

该参数用于控制算法拟合出最优矩形的最大尝试次数,超过该次数后迭代将停止。

当目标轮廓复杂或干扰多时可增加迭代次数以保证准确性,但会增加运算时间。

默认值:1000

输出说明

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

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

矩形位姿

拟合矩形的位置和朝向。

中心点

拟合矩形的几何中心。

中心点X坐标

拟合矩形中心点的X坐标值。

中心点Y坐标

拟合矩形中心点的Y坐标值。

矩形宽度

拟合矩形的宽度。

矩形高度

拟合矩形的高度。

矩形旋转角度

拟合矩形相对于X轴正方向的旋转角度。

拟合矩形

通过拟合得到的矩形。

错误排查

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

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

CV-W8701

错误:ROI设置不合理。

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

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

CV-W8702

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

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

CV-W8703

错误:“卡尺中心间距”参数值不在有效范围内。

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

CV-W8704

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

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

CV-W8705

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

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

CV-W8706

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

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

CV-W8707

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

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

CV-W8708

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

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

CV-W8709

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

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

CV-W8710

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

可能原因:

  • ROI设置不合理。

  • 卡尺相关设置不合理。

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

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

解决方案:

  • 确保ROI不会过小。

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

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

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

CV-W8711

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

可能原因:

  • ROI设置不合理。

  • 卡尺相关设置不合理。

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

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

解决方案:

  • 确保ROI不会过小。

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

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

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

CV-W8713

错误:“最小拟合分数”参数值必须在[0, 1]范围内。

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

CV-W8715

错误:“最大距离阈值”参数值必须大于0。

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

CV-W8716

错误:“最大迭代次数”参数值不在有效范围内。

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

该页面是否有帮助?

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

我们重视您的隐私

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