# 直线拟合
# 算法介绍
本算法用于拟合直线,在指定的区域中检测是否存在直线,只能设置一个区域。
# 算法使用流程图
# 算法参数介绍
1. 扫描数量: 需要扫描的点数;
2. 梯度阈值: 根据边缘灰度值变化率设置此值;
3. 扫描宽度: 边缘区域需要扫描的像素点宽度范围;
4. 滤波窗口大小: 此值为影响顶点检测的像素点范围,值越大,影响的点越多;
5. 最小拟合数: 最少能够拟合到符合要求的点个数;
6. 极大值辐射范围: 在找到满足条件的第一个点后,进一步在该范围内寻找精确的极值点;
7. 边缘极性: 根据边缘灰度情况可选为“任意”、“从黑到白”、“从白到黑”;
8. 直线方位: 直线位置的方向,根据需要可选为“强度最大”、“最前的”、“最后的”;
9. 删除异常点: 可删除拟合出来的点中偏差值大的点;
10. 异常点距离阀值: 设置距离合格点位置多远为异常点;
11. 直线位置调整: 调整此值可调整拟合直线在箭头方向位置变化;
12. 过滤起始索引: 从此值的扫描点位开始过滤扫描;
13. 过滤数量: 需要过滤扫描的长度;
14. 设置为基准: 此功能可将测试出来的直线设置为基准,等下一次测试时,可通过判断测试值与基准的差异,来判断拟合出来的直线OK或NG;
参数设置位置如下图所示:
# 直线拟合算法实际应用场景
4-1检测产品中的直线(如卡托尺寸检测);