检测并拟合直线

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

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

功能描述

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

使用场景

该步骤为通用的几何特征检测与拟合类步骤。

基本概念

  • 卡尺

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

  • 边缘极性

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

使用流程

该步骤的使用流程如下:

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

  2. 完成ROI设置

  3. 设置其他参数。

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

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

输入说明

输入项 说明

图像

用于检测直线边缘的图像。

对齐参数组

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

参数说明

参数 解释

ROI设置

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

在数据可视化窗口中,卡尺上的箭头表示该卡尺检测边缘的方向。步骤会沿各卡尺的检测方向检测边缘点。为稳定检测直线边缘,该方向应尽量与待检测直线边缘垂直。

如果待检测直线存在倾斜角度,可调整矩形ROI的旋转角度,使卡尺及其检测方向随ROI一起旋转,从而适配待检测直线的方向。

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

拟合线方向

在下拉列表中选择适当选项以确定拟合线的方向向量,从而确定拟合线的方向。

  • X为正:方向向量的X分量为正。

  • X为负:方向向量的X分量为负。

  • Y为正:方向向量的Y分量为正。

  • Y为负:方向向量的Y分量为负。

边缘极性

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

值列表:

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

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

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

滤波窗口大小

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

边缘类型

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

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

灰度变化阈值

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

使用相对阈值

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

离群点百分比

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

输出说明

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

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

拟合线

通过拟合从边缘提取结果中得到的直线。

中点

拟合直线的中点。

中点X坐标

拟合线中点的X坐标值。

中点Y坐标

拟合线中点的Y坐标值。

旋转角度

拟合线相对X轴正方向的旋转角度。

错误排查

各步骤通用的错误码,详见错误码列表。 若错误码与错误信息不对应,请联系技术支持获取帮助。

CV-W8601

错误:ROI设置不合理。

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

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

CV-W8602

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

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

CV-W8603

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

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

CV-W8604

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

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

CV-W8605

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

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

CV-W8606

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

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

CV-W8607

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

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

CV-W8608

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

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

CV-W8609

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

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

CV-W8610

错误:“拟合线方向”参数设置无效。

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

CV-W8611

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

可能原因:

  • ROI设置不合理。

  • 卡尺相关设置不合理。

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

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

解决方案:

  • 确保ROI不会过小。

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

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

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

该页面是否有帮助?

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

我们重视您的隐私

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