当前位置: 首页 > news >正文

VisionPro学习笔记- PMAlignTOOL

起因

之前按摸过Halcon、opencv、还有款国产的叫sci什么的图形化的视觉软件,大名鼎鼎的VisionPro还没摸过,于是,学一下,记个笔记。

PMAlignTOOL

CogPMAlignTool这个名称是几个英文单词缩写组合而成,下表是它的完整形式解析:

缩写部分 对应的完整英文单词 含义说明
Cog Cognex 指开发该软件的公司的名称,即 康耐视(Cognex Corporation)。这是其VisionPro视觉软件中工具的统一前缀。
PM Pattern Match 模式匹配模板匹配。这是该工具的核心功能,指在图像中搜索和定位与预先训练好的模板(Pattern)相匹配的目标。
Align Align 对准定位。这强调了该工具不仅能找到目标,还能精确地报告其位置(X, Y)、旋转角度和缩放比例,实现精确对准。
Tool Tool 工具。这是VisionPro软件中对各种视觉功能模块的统称。

所以,CogPMAlignTool 的完整含义是 康耐视模式匹配定位工具

🔍 核心功能与特点

  • 核心任务:它的核心任务是在一张新的(运行时)图像中,快速、准确地找到一个或多个与预先训练好的“模板”图像相同或相似的图形。
  • 技术优势:与传统的基于像素灰度的匹配方式不同,CogPMAlignTool 采用的是基于几何特征(主要是边缘轮廓)的匹配技术(如康耐视著名的 PatMax 算法)。这使得它对光线变化、部分遮挡以及目标的旋转和缩放都有更好的适应能力,更加鲁棒和精确。

相关配置-参照VisionPro联机文档

选取模板

抓取图像

双击打开CogPMAlignTool配置页面,在训练参数(Train Params)页,点击抓取训练图像(Grab Train Image)按钮。
image

选取模板

点击菜单页切换到在训练区域与原点页面.

选择图像源

将显示区上方的图像源设置为Current TrainImage

选择区域模式Region Mode

有两个选项像素配对限定框调整掩膜像素配对限定框
单看帮助文档的说明不是太容易理解,于是我咨询了AI。

** Pixel Aligned Bounding Box ** 将已定义区域包围在矩形内。这表示包含位于已定义区域之外但位于限定矩形之内的图像部分。
** Pixel Aligned Bounding Box Adjust Mask ** 将已定义区域包围在矩形内,但会遮盖区域以外、外围矩形以内的图像部分,因此已定义区域更靠近您指定的区域。
**​​Pixel Aligned Bounding Box(像素配对限定框)**​​:就像用一个​​长方形的画框​​去装一幅不规则形状的画。画框会紧紧贴着画的最上、最下、最左、最右边,把整幅画都包进去。但画框里除了画本身,还会露出一些画布或背景。
​​**Pixel Aligned Bounding Box Adjust Mask(像素配对限定框调整掩膜)**​​:同样是装那幅画,但这次不仅用了画框,还​​按照画的精确形状,把画框里露出来的多余画布或背景用卡纸遮住了​​。最后看到的,就只有画本身的形状,背景是卡纸的颜色(通常是黑色或透明)。

所以此处选择 像素配对限定框调整掩膜,这样不考虑图像背景内容.

设置区域形状并设置区域

文档说明是选CogRectangle,但因为是选的硬币作为模板,所以选CogCircle也是可以的。
image
再到图像显示区,可以找到有个浅蓝色的圆圈或方框,取决于上一步选择的区域形状。然后鼠标拖放这个模板选取框,让它正好把模板图案(硬币)圈住。然后切回训练参数页。

训练

训练参数页,点击训练按钮,可以在左侧模式区域,看到选取的模板。
image

运行

然后,点击左上角运行按键,可以看到右侧显示区实现的模板匹配结果。
同时,作业窗口选到结果页面,可以看到运行结果。
image

http://www.hskmm.com/?act=detail&tid=16743

相关文章:

  • FeignClient提示No subject alternative DNS name matching配置SSL
  • 【组合数学基础9】Catalan数(卡特兰数)笔记
  • 详细介绍:npm玩转技巧
  • 软件构造的基本原理 1章
  • 【2025-09-23】性格问题
  • mvnd 安装和配置
  • 【IEEE出版】第二届数据挖掘与智能计算国际学术会议(ICDM 2025)
  • 第五届IEEE能源工程与电力系统国际学术会议(IEEE-EEPS 2025)
  • PS字体处理
  • Gitee DevOps:国产研发效能平台的破局之道
  • 开发实用软件
  • 代码随想录算法训练营第八天 | leetcode 344 541 卡特54
  • 626. 换座位
  • 时序大模型/时序小模型
  • Gitee PPM:数据驱动的软件工厂项目管理新范式
  • 实用指南:《前端学习总结:GitLab、状态管理、组件库与 Umi.js》
  • C#中,EXCEL与表列顺序完全一致情况的导入处理(BeginBinaryImport)
  • Gitee PPM:数据驱动的DevSecOps项目管理新范式
  • acme.sh:强大的ACME协议Shell脚本,支持多DNS API
  • P9545 [湖北省选模拟 2023] 环山危路 / road 题解
  • 探秘圆周率 π:圆周率计算在线工具
  • 以史为鉴【长期置顶】
  • java21学习笔记-未命名的模式和变量 - 指南
  • 达梦数据库DM-查询指定模式下表的大小
  • 【笔记】Prfer 序列
  • win11 无线投屏(Miracast:)引发的思考附带解决方案 - Popeye
  • 2025年十大主流项目管理工具评测:功能覆盖与成本效益分析
  • 关于MCO使用配置
  • 向量那点事儿
  • c++输入输出详解