VisionPro学习笔记(转载不易)

PMAlign工具: 此工具可用于训练模板,然后使用在连续的输入图像中搜索模板。可指定执行模板训练或模板搜索时要使用的 算法类型,并可选择利用图像还是利用形状模型集合创建已训练模板。输入图像内的可选搜索区域可限制模板搜索的范围。

目的: 这里主要分享一下,如何在一个ToolBlock中使用PMAlign工具对图像做训练,以及参数的修改,最后将工具的搜索区域打印出来。

  1. 输入图像
    由于这里没有接相机,所以图像来源我们选择图像库文件:首先打开一个作业CogJob,然后选择图像,可以是单个图像,也可以是多个图像(保存图像的文件夹)。
    VisionPro学习笔记(转载不易)_第1张图片

读取一张图像:其实就是让采像工具Run一下,然后OutputImage引脚会输出一张图片。
VisionPro学习笔记(转载不易)_第2张图片

  1. 编辑PMAlign工具
    VisionPro学习笔记(转载不易)_第3张图片

拖入PMAlign工具,并将PMAlign工具的InputImage连接到图像源的OutputImage。
VisionPro学习笔记(转载不易)_第4张图片

  1. 选择训练区域:双击PMAlignTool1工具进入工具,主要分为训练、调整搜索范围、调整参数。
    VisionPro学习笔记(转载不易)_第5张图片

这里选择模板区域的方式有两种:一种是直接框选(适合背景干扰较少的图像),一种是区域掩膜(适合背景有干扰的图像),比如下图:左边可以直接框选,右边应该将红色区域掩膜掉
VisionPro学习笔记(转载不易)_第6张图片

回到内容中,从下面的这张输出的图像分析,我们认为绿色部分是整个工件对比最好的,当然如果你有强迫症,将橙色区域也作为训练区也可以。这个特征区域没有固定的谁对谁错,生产环境下可能还要根据真实零件的光线变化来定一个相对稳定的区域。

所以这里我们采用掩模的方式抓取训练区域,点击掩膜工具
VisionPro学习笔记(转载不易)_第7张图片

进入掩膜窗口之后,我们首先要选择掩膜选区的形状:主要有矩形、仿射矩形、圆三种形状;
接着就是选择画笔:如果需要勾勒的区域比较细选择笔,如果粗细需要调节,就选择笔刷;
掩膜方式分为:掩膜、未掩膜两种。
这里我们首先选择矩形选区,然后选择选取方式为掩膜,然后选择4个圆形选区,选曲方式为不掩膜
VisionPro学习笔记(转载不易)_第8张图片

选择不掩膜区域,也就是我们要训练的孔的区域,这里选择未掩膜方式开个孔。
VisionPro学习笔记(转载不易)_第9张图片

另外的三个孔一样的操作(这里注意:选择第二个圆形选区的时候,区域是叠加在第一个选区上面的,需要从第一个选区拖过去)
当然,有强迫症的童鞋可以在此基础上选择笔刷选择适中的粗细,并设为未掩膜模式,在你认为对比度较好的地方画上几道。
然后点击确定
VisionPro学习笔记(转载不易)_第10张图片

然后拖动滚轮将图像缩小,将TrainImage图层下的训练选区拉直和掩膜选区一样大

然后将坐标原点设置为训练区域中心
VisionPro学习笔记(转载不易)_第11张图片

到目前为止,训练区域已经选择完毕,最后训练模板
VisionPro学习笔记(转载不易)_第12张图片

  1. 查看训练质量:可以查看训练的特征轮廓是否清晰:绿色表示轮廓模板,如果你预期的特征轮廓没有变绿,可以通过调节“特征粒度限制“达到你想要的精度和粗糙度。
    VisionPro学习笔记(转载不易)_第13张图片

3.选择搜索区域:就是限定一个框,然后让工具在这个框内搜索刚刚训练下来的特征轮廓。
VisionPro学习笔记(转载不易)_第14张图片

  1. 调整参数:主要有限制匹配得分、角度范围、缩放范围等
    VisionPro学习笔记(转载不易)_第15张图片

查找概数:指定结果总数
接受阈值:指定结果分数的接受阈值。仅接受分数大于或等于此值的结果
计分时考虑杂斑:仅适用于Patmax,如果选中,背景噪音以及杂点会拉低得分,否则得分会忽略背景干扰而升高
向左表示禁用,向右表示启用
上下限:

这里的角度特别说明一下:除了搜索范围大小,这里的角度范围也是影响工具运行速度的一大因素,范围越大,执行越慢,反之。

						 【rad表示弧度:   **弧度  =  角度 * Math.Pi / 180**】
						 【deg表示角度: **角度  =   弧度 * 180 / Math.Pi** 】

1
2
对比度阈值:匹配的最低对比度限制(灰度0-255)
自动边缘阈值:如果启用,则根据设置的边缘幅宽运行,否则自动找(这里请高手来补充)
3. 运行工具:
VisionPro学习笔记(转载不易)_第16张图片

你可能感兴趣的:(开发语言)