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

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

1. 输入图像

  1. 由于这里没有接相机,所以图像来源我们选择图像库文件:首先打开一个作业CogJob,然后选择图像,可以是单个图像,也可以是多个图像(保存图像的文件夹)。
  2. 读取一张图像:其实就是让采像工具Run一下,然后OutputImage引脚会输出一张图片。

2. 编辑PMAlign工具

拖入PMAlign工具,并将PMAlign工具的InputImage连接到图像源的OutputImage。
1. 选择训练区域:双击PMAlignTool1工具进入工具,主要分为训练、调整搜索范围、调整参数。

这里选择模板区域的方式有两种:一种是直接框选(适合背景干扰较少的图像),一种是区域掩膜(适合背景有干扰的图像),比如下图:左边可以直接框选,右边应该将红色区域掩膜掉

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

所以这里我们采用掩模的方式抓取训练区域,点击掩膜工具

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

选择不掩膜区域,也就是我们要训练的孔的区域,这里选择未掩膜方式开个孔。

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

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

然后将坐标原点设置为训练区域中心

到目前为止,训练区域已经选择完毕,最后训练模板

2. 查看训练质量:可以查看训练的特征轮廓是否清晰:绿色表示轮廓模板,如果你预期的特征轮廓没有变绿,可以通过调节“特征粒度限制“达到你想要的精度和粗糙度。

3.选择搜索区域:就是限定一个框,然后让工具在这个框内搜索刚刚训练下来的特征轮廓。
4. 调整参数:主要有限制匹配得分、角度范围、缩放范围等

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

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

                          【rad表示弧度:   **弧度  =  角度 * Math.Pi / 180**】【deg表示角度: **角度  =   弧度 * 180 / Math.Pi** 】
  1. 对比度阈值:匹配的最低对比度限制(灰度0-255)
  2. 自动边缘阈值:如果启用,则根据设置的边缘幅宽运行,否则自动找(这里请高手来补充)

3. 运行工具:


以上,如有错误,欢迎提出批评,谢谢。。。

VisionPro中分享CogPMAlignTool图像匹配工具的使用详解_史上最全相关推荐

  1. 3dmax中的UVW 贴图修改器详解(史上最全)

    3dmax中的UVW 贴图修改器 选择对象.  > "修改器"菜单  > " UV  坐标" > " UVW  贴图" 贴 ...

  2. css中float详解,CSS浮动属性Float详解?史上最全Float详解

    我们在学习css样式的时候,都知道css是盒概念,并且每一个盒子都是一个元素,下面我们就对CSS浮动属性Float进行详解,让你彻底了解Float. 一:什么是Float浮动? Float浮动是css ...

  3. JavaScript中的load事件的作用_史上最全的web前端面试题汇总及答案JavaScript之二(二)...

    作者:樱桃小丸子儿 链接:https://www.jianshu.com/p/abadcc84e2a4 JavaScript JS的基本数据类型 number,string,boolean,objec ...

  4. 数据图表与分析图_史上最全最实用的数据可视化分析图表制作工具汇总

    俗话说的好:工欲善其事,必先利其器!一款好的工具可以让你事半功倍,尤其是在大数据时代,更需要强有力的工具通过使数据有意义的方式实现数据可视化,还有数据的可交互性;我们还需要跨学科的团队,而不是单个数据 ...

  5. 在html中怎么在按回车的时候换到下一个文本框_史上最全的HTML、CSS知识点总结,浅显易懂。适合入门新手...

    一,html+css基础 1-1 Html和CSS的关系 学习web前端开发基础技术需要掌握:HTML.CSS.JavaScript语言.下面我们就来了解下这三门技术都是用来实现什么的: 1. HTM ...

  6. Hibernate_1_配置文件详解_基础案例_Hibernate工具类_API详解_持久化类编写规则

    Hibernate( ORM框架 ) Hibernate是一个数据持久化层的ORM框架. 它通过JavaBean, 数据库中的表与自身的映射关系达到表中数据的增删改查 特性 1.对JDBC访问数据库的 ...

  7. java 实现队列读写锁_史上最全的Java并发系列之Java中的锁的使用和实现介绍(二)...

    前言 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/bin392328206/six-finger 种一棵树最好的时间是十年前,其次是现在 絮叨 上节是锁的第一 ...

  8. python源代码最多的学习网站_史上最全Python学习资料大合集分享

    Python有多火就不用说了,之前也零散地分享过一些Python学习开发资料. 本次将分享Python学习资料合集.合集哦,你品,你细品! 在分享之前,还是要啰嗦一下,不然文章字数太少,不太好看. P ...

  9. python各种包安装顺序_史上最全的Python包管理工具:Anaconda教程

    事实上Anaconda 和 Jupyter notebook已成为数据分析的标准环境. 简单来说,Anaconda是包管理器和环境管理器,Jupyter notebook 可以将数据分析的代码.图像和 ...

最新文章

  1. 截图 从图片中取一部分
  2. scjp考试准备 - 2 - 逻辑运算及类型转换
  3. PHP Curl transfer closed with outstanding read data remaining
  4. 计算智能-群智能算法-粒子群算法matlab实现
  5. C# 温故知新 基础篇(1) C#概述
  6. Java DataOutputStream size()方法及示例
  7. html怎么只操作第一个li,css3如何选择第一个子元素?
  8. java生成离散型随机数_几种随机数生成方式
  9. 大规模定制的实现方法
  10. Oracle学习——第二讲(函数)
  11. vue双向绑定是如何实现的
  12. 《Python编程 从入门到实践》简单读书笔记
  13. JavaScript 深度剖析 - JavaScript 性能优化
  14. springboot日结工管理小程序毕业设计-附源码070940
  15. 什么叫刀片式服务器跟其它服务器有何区别?
  16. 好玩的熊猫头表情包图片生成PHP源码+实测可用
  17. GrapeCity Documents for Word PDF或图像报告
  18. pajek15-18:网络
  19. 贴片机对工作环境有哪些要求
  20. Three.js 做旋钮开关

热门文章

  1. SpringBoot学习笔记(三)用户登录、授权、认真、数据库整合框架
  2. 怎样区别感应电与漏电教你三招
  3. 【shell案例】由一个猜数字游戏引发的血案
  4. 基于springboot客运汽车票购票系统微信小程序源码和论文
  5. Excel条件格式,高效管理数据,高亮显示一目了然
  6. 打怪升级记录二(2019-2020)
  7. 安捷伦34970、53220、特尔斯特FSH4、普源DSA800常用采集测量仪器介绍与控制
  8. 基于javaweb的医院管理系统(java+springboot+mybatis+vue+mysql)
  9. Sqoop系列-2、Sqoop的详细介绍及操作
  10. 3个无敌实用的图片转换器,上百种图片格式任意转