检测并拟合矩形
使用流程
该步骤的使用流程如下:
-
选择输入数据。在工程编辑区连接对应的步骤端口,或者在参数设置区的输入栏下选择对应的输入数据。
-
完成ROI设置。
-
设置其他参数。
-
在输出栏中确认输出项。
-
运行步骤,并查看运行结果。
参数说明
| 参数 | 解释 |
|---|---|
ROI设置 |
你可以绘制一个矩形ROI,系统将根据卡尺设置提取多列像素,每列像素中检测的边缘点将用于矩形拟合。 对于矩形等闭合 ROI,卡尺检测边缘的方向为从 ROI 内部指向外部。一般无需调整卡尺方向,ROI 旋转不会影响检测方向。 查看2D ROI设置了解有关ROI和卡尺的更多信息。 |
边缘极性 |
该参数用于指定边缘处灰度值的变化方向。 值列表:
|
滤波窗口大小 |
指定对提取的每列像素在其方向上进行滤波时使用的窗口大小。滤波可减少噪声,提升边缘检测结果的稳定性。 |
边缘类型 |
定义边缘检测中要保留的边缘类型。 值列表:最优、首个、最后一个 |
灰度变化阈值 |
该参数决定在提取的像素列中,边缘处相邻像素点的灰度值变化量需大于或等于该阈值时,才会检测到边缘点。合理设置该参数值,可有效过滤微弱边缘和噪声。 |
使用相对阈值 |
勾选该参数后,只有当一列像素中边缘处相邻像素点间的灰度值变化量不小于该列像素上最大变化量的指定百分比时,才会检测到边缘点。勾选后,需设置相对阈值。 |
最大距离阈值 |
该参数用于设定允许检测到的边缘点到拟合矩形的最大距离,距离小于或等于该阈值的边缘点将被视为内点。 默认值:4 px |
最小拟合分数 |
该参数用于判断拟合结果是否可接受的最低分数,仅用于结果评估,不影响拟合过程。分数等于内点数与全部边缘点数的比值。 测量精度要求高时建议提高分数门槛,一般可设为0.8及以上。 默认值:0.7 |
最大迭代次数 |
该参数用于控制算法拟合出最优矩形的最大尝试次数,超过该次数后迭代将停止。 当目标轮廓复杂或干扰多时可增加迭代次数以保证准确性,但会增加运算时间。 默认值:1000 |
输出说明
勾选输出项后,步骤将增加对应的输出端口,步骤运行后将输出对应的数据。可根据实际测量需求选择对应的输出项。
| 如果输出项可展开(左侧有 ▶),则勾选后必须展开,然后设置下限和上限来确定该项的合格范围。如果输出的值在合格范围内,该测量项被判定为合格(OK),否则被判定为不合格(NG)。 |
| 输出项 | 说明 |
|---|---|
矩形位姿 |
拟合矩形的位置和朝向。 |
中心点 |
拟合矩形的几何中心。 |
中心点X坐标 |
拟合矩形中心点的X坐标值。 |
中心点Y坐标 |
拟合矩形中心点的Y坐标值。 |
矩形宽度 |
拟合矩形的宽度。 |
矩形高度 |
拟合矩形的高度。 |
矩形旋转角度 |
拟合矩形相对于X轴正方向的旋转角度。 |
拟合矩形 |
通过拟合得到的矩形。 |
错误排查
|
CV-W8710
错误:未检测到足够边缘点,无法拟合矩形。
可能原因:
-
ROI设置不合理。
-
卡尺相关设置不合理。
-
“灰度变化阈值”和“相对阈值”过大。
-
“边缘极性”设置不合理。
解决方案:
-
确保ROI不会过小。
-
调整卡尺相关参数,确保卡尺中存在边缘点。
-
降低“灰度变化阈值”和“相对阈值”。
-
确保“边缘极性”参数设置合理。