边缘匹配+单直线,通过直线拟合模块获得直线的特征值(直线角度和直线点坐标)。
匹配作为粗定位使用,直线拟合模块根据粗定位自动改变位置;对于目标比较固定的情况,可不采用粗定位功能。
当不需要粗定位时,可跳过匹配类参数调整,直接对测量类参数进行调整。
通过图像方法主处理下拉框选择 边缘匹配+单直线
【鼠标操作】通过鼠标改变 ROI 的大小,并拖放至适当的位置作为学习的模板。鼠标改变 LGA 的大小并拖放至量测的区域。
【方法学习】保存该方法及模板
VPP:表示有效点百分比例
点击高级参数进行匹配类参数调整
【个数】希望寻找的目标数量
【分数】目标与模板间的相似度分数
【比例容差】目标与模板间的大小比例变化
【角度基准】目标在图像中的旋转角度
【角度容差】在<角度基准>基础上的寻找角度范围
【匹配位置】分数最大,最左边的,最右边的,最上边的,最下边的
当图像中存在多个目标时,可选择返回其中符合位置的一个。
【模板类型】Consistent edge、Thin Structure
Consistent edge:是默认的选项,表示边缘特征为连续的曲线。大部分情况下使用该参数即可。
Thin Structure:针对特征边缘比较靠近而容易被认为是同一边缘曲线的情况,比如两条靠得很近的平行直线。
【模板修改】弹出模板修改框对模板进行修改
【最小特征点数】模板边缘的最小特征点数目,表示在金字塔顶层模板保留的边缘点数。
该数值越大,能提高在顶层初步匹配的准确性。
【最大特征点数】模板边缘的最大特征点数目,默认为 1024
算法将根据设定的特征点数目,均匀提取模板边缘上的特征点。
例如模板边缘点数目为 2000 点,算法将均匀提取 1024 点特征;
若模板边缘点数目为 700 点,那么算法将提取全部 700 点特征。
对于边缘模糊的图像,提高特征点数有利于提高匹配准确度。
说明:
【角度基准】与【角度容差】的关系举例,假如角度基准设置成 0 度,角度容差设置成 5 度,即算法将在
[-5 +5]度的范围内
模板修改
如模板存在干扰的边缘特征点,可通过鼠标操作进行模板修改。
如下图,算法在提取边缘特征点时,将不再考虑被涂的红色区域。
Gauge 量测模块参数调整
【使用匹配粗定位】 选择是否需要粗定位。勾选后,量测模块的姿态将跟随匹配到的目标姿态进行改变
【采样点】 勾选后,显示所有直线上的特征点,对调整下面的高级参数有帮助。如下图:
【测量参数】
形状的拟合,首先是通过在设定的方向上寻找出边缘点,再进行相关形状的拟合的。测量参数全部都是针对每一条路径上的像素曲线变化率进行操作的。
形状拟合中某一条路径的寻点 路径上的像素曲线及其变化率
上右图中,红色曲线代表了左图中红色路径上像素值的排列;蓝色线代表了像素值曲线的变化率, 数学上是像素值曲线的一阶导数。可以简单地理解,变化率曲线上的一个峰或一个谷对应的就是一个边缘上的过渡点,即是我们要寻找的边缘点。
形状拟合的基础是每一条路径上的寻找边缘点操作,而寻找边缘点操作主要是对像素曲线变化率的控制。
像素变化率曲线上会有若干个概念,如下图所示:
上图中,蓝色为像素变化率曲线。底下的蓝色直线代表的是 Threshold;Threshold 与峰值(或谷值)
之间的差称为 Amplitude;由 Threshold 及高于 Threshold 以上的变化率曲线围成的称为 Area。
<1> 选择:包括 From Begin、From End、Largest Amplitude、Largest Area 及 Closet
可能在一条路径上会寻找到若干个过渡点,通过该参数控制选取哪一个作为边缘点。From Begin:指从设定寻点方向开始的第一个过渡点作为边缘点
From End: 指从设定寻点方向开始的最后一个过渡点作为边缘点Largest Amplitude:以 Amplitude 最大值的过渡点作为边缘点Largest Area:以 Area 最大值的过渡点作为边缘点
Closet:以最靠近拟合模块的中点线的过渡点作为边缘点
下面 3 图分别为 Largest Area、Largest Amplitude 及 From Begin 情况下的选择的边缘点。
<2>采样步长:形状拟合过程中的采样点间隔
<3>阈值: 高于此值的像素变化率峰值(或谷值)才被考虑成过渡点
<4>滤波:径向平滑系数,可过滤路径上像素噪点
滤 波 = 0 滤 波 = 10
拟合路径上有一黑色噪点,调整滤波值做中值滤波,噪点被过滤,最终选择了下方的拟合点。
<5>邻比:形状拟合时,一条路径上可能出现多个过渡点。该参数表示当前边缘点的选择参考邻近多少个路径的取点情况。
邻 比 = 0 邻 比 = 9
调整邻比值表示右上图中的紫色窗口,当前路径将参考紫色窗口内其它点的选择情况,放弃黑色噪点。
<6>最小幅值:高于此值的像素变化率曲线值才被考虑成边缘点
<7>最小面积: 高于此值的像素变化率曲线值才被考虑成边缘点
【差异点剔除】
差异点是远离有效点集合的点,它的出现会影响形状(直线、圆、矩形)的逼近程度,需要将其剔除。下图所示为剔除圆上的差异点:
<1>滤波次数:在拟合过程中检测差异点的次数
<2>滤波阈值:该值的倒数即为所有边缘点到拟合出的直线的平均距离。
到拟合直线距离大于该平均距离的点即为差异点。
<3>有效点比例:未被剔除的点即为有效点,该参数表示有效点占所有边缘点的比例。
该参数能检测出直线边是否有损坏。
函数取值
执行 SY_IP_ImgProc()进行处理,返回 ImgProcResult 结果。其中,X、Y 为直线上某点坐标,
LineAngle 为直线角度。