VisionPro - 基础 - 00 模板匹配技术和在VP中的使用 - PMAlign - PatMax - (上)
前言
模板匹配是机器视觉领域,尤其是工业视觉领域内,自动化经常要使用的一个视觉算法应用模式。在VP里面,有几种简单的模版匹配的算子,这里大致介绍一下VP的PatMax。
在视觉应用领域,搜索匹配的特征是经常要用到的方法。VP里面对于搜索匹配有几个不同类型的算子,
其中的特点我归纳于下:
本讲,我们主要讲PMAlign。
简介
Like other pattern-location technologies, PatMax trains a pattern, then locates one or more instances of that pattern in one or more run-time images. PatMax differs from other pattern-location technologies in that it is not based on pixel grid representations that cannot be efficiently and accurately rotated or scaled. Instead, PatMax uses a feature-based representation that can be transformed quickly and accurately for pattern matching.
和其他的模板匹配技术一样,PatMax通过在一个图像或者一个实时的运行图片中,设定一个或者多个匹配模版 。PatMax的主要特点,和其他的模板匹配技术不同的地方,在于他不是通过Pixel的觉得网格来匹配(这种方法往往在准确定位和缩放的时候效率低下),还是基于【案,我认为是抽象的特征】特征的表达,这样可以很快并且准确的获取匹配的结果。【由此,可以用于旋转和缩放发生的时候,单纯的pixel的对照无法实现的匹配】
模板训练和术语
1 PatMax 简介
PatMax can be trained from an image that contains features similar to those you wish to find at run time, or it can be trained from a geometric description of the target features. PatMax training results in a pattern that contains geometric features.
PatMax模板训练,通过设定的一些方法, 在实时运行的时候,找到相近的特征,并把目标特征转为几何表述。
上图为PatMax的逻辑图,模板训练有两个类型,一个是形状训练和图像训练,并由此生成包括几何特征的模板。
1.1 PatMax 模板
The PatMax software supports two pattern-location algorithms: PatMax and PatQuick. PatMax offers higher accuracy and additional score information compared to PatQuick, but requires more time to execute.
PatMax包括, PatMax and PatQuick,两种处理模式,区别就是PatMax更精确一点,并包括了一个计分的计算,由此需要更多的计算时间。
PatMax Patterns
PatMax extracts patterns from the images of objects you acquire. A PatMax pattern is a collection of geometric features and the spatial relationship between them, where each feature is a collection of points on the boundary between two regions of dissimilar pixel values.
PatMax 从待测图像中抽象出来模板。这些被抽象出来的模板就是收集了几何特征,和空间关系的一个集合,这些特征其实就是在一个阈值区域的Pixel值, 在阈值内被认为符合特征的点集,否则就是不符合特征的点集,由此图像进行了特征分割。
上图,显示了图像,模板,特征的抽象和被抽象的关系。
理解模板的变换(Transformation)的意义:
1 模板变化的衡量尺度 - degree
PatMax算子,可以表现支持一下3种图像模板的变化:
- Size (overall size change or individual x- and y-axis size change)
- Rotation
- Location
具体可以用下面6种变化来定义:
degree of freedom:
Part of a transformation that can be characterized by a single numeric value such as angle
【案,有关degree的定义,应该是在一下六个方面的变更程度的一个衡量标准】
【案,Uniform scale,应该是比例缩放的意思,图例的说明很明白,无需过多说明。每一种形式的变更,我们都可以用这种形式的程度变量degree来衡量】
2 组合的模板变化:
上图,展示了一个组合的尺度变化。
Patmax算子,可以找到训练模板【案,这个是在算子的配置的时候,通过一些设定的方法,在图像中选取匹配的特征组合】在上面6个尺度的变化情况。
当然, PatMax 可以配置到你设定的上述6个方面的某个方面的自由度[案,这里借鉴了工程力学的定义】的衡量,并以0 到 1 的数值来衡量模板匹配度【案,这里匹配度就是和训练模板和找到的特征的相识程度】
相关文章:

VisionPro - 基础 - 00 模板匹配技术和在VP中的使用 - PMAlign - PatMax - (上)
前言 模板匹配是机器视觉领域,尤其是工业视觉领域内,自动化经常要使用的一个视觉算法应用模式。在VP里面,有几种简单的模版匹配的算子,这里大致介绍一下VP的PatMax。 在视觉应用领域,搜索匹配的特征是经常要用到的方…...

容器镜像同步工具image-migrator
1 概述 image-migrator是一个用于容器镜像同步的可执行二进制命令行工具(不依赖于docker命令),能够自动将基于Docker Registry v2镜像仓库(registry、云厂商容器镜像服务、docker hub、Quay、Harbor )中的镜像迁移到基…...

嵌入式系统中的u-boot、kernel、rootfs的区别与关系
嵌入式系统中的u-boot、kernel、rootfs的区别与关系 1. 总览 在嵌入式Linux系统中,软件架构通常分为四个层次,从低到高依次为: 引导加载程序 (Bootloader):固化在硬件Flash中的引导代码,用于硬件基本配置和内核引导…...

K8s1.28 部署Dashboard获取登录信息
Kubernetes Dashboard 是一个基于 Web 的用户界面,用户可以通过它管理和监控 Kubernetes 集群。它提供了对容器化应用程序的概览、集群资源的状态查看、以及对服务和容器的简单操作管理。 配置 Dashboard 访问的方式: Kubernetes 中的服务类型默认是 C…...

智能化大数据平台引领企业迈向精准决策时代
随着科技的飞速发展,大数据平台正逐步迈向更加智能化和自动化的未来趋势。未来的数据平台不仅仅是一个简单的存储和处理数据的工具,而是一个能够自主学习、优化和做出决策的智能系统。这一转变将极大地改变企业处理数据的方式,提高决策的速度…...

1.3 计算机网络的分类
欢迎大家订阅【计算机网络】学习专栏,开启你的计算机网络学习之旅! 文章目录 前言一、按分布范围分类二、按传输技术分类三、按拓扑结构分类四、按使用者分类五、按传输介质分类 前言 计算机网络根据不同的标准可以被分为多种类型,本章从分布…...
深入剖析protobuf.js之Field类:内部机制、使用实践与高级应用指南
引言 在protobuf.js库中,Field类扮演着极其重要的角色,它定义了消息(Message)中每个字段的元数据和行为。Field类不仅包含字段的类型、编号、规则等基本信息,还负责字段的序列化和反序列化逻辑。本文将对protobuf.js的…...
docker挂载宿主机文件run命令启动报错
背景 使用docker安装mysql8,docker run 命令提示报错 命令: docker run -d \ -p 3306:3306 \ -v ~/docker/mysql8/log/mysqld.log:/var/log/mysqld.log \ -e MYSQL_ROOT_PASSWORD=123456 \ --name mysql8 mysql:8.0.36 报错信息 docker: Error response from daemon: fai…...
Python实现 Socket.IO 的在线游戏场景
博客:Python 实现 Socket.IO 的在线游戏场景 目录 引言 什么是 Socket.IO?Socket.IO 的应用场景Socket.IO 在在线游戏中的优势本文案例概述 Socket.IO 的工作原理 Socket.IO 的事件驱动机制WebSocket 与 Socket.IO 的比较Socket.IO 的握手和连接机制 …...
A+B P1001 A+B Problem
P1001 AB Problem #include <bits/stdc.h> using namespace std; int main(){int a,b;std::cin>>a>>b;std::cout<<ab; }...

git编译安装报错
编译安装步骤 卸载旧的 yum -y remove gitcd /usr/local/src/wget https://www.kernel.org/pub/software/scm/git/git-2.15.1.tar.xztar -vxf git-2.15.1.tar.xzcd git-2.15.1make prefix/usr/local/git allmake prefix/usr/local/git installecho "export PATH$PATH:/usr…...

知识|智能网联汽车多域电子电气架构会如何发展?
摘要:随着汽车智能化和网联化技术的快速发展,传统的电子电气架构已经无法满足未来车路云网一体化发展的新需求。本文聚焦于未来智能网联汽车的多域电子电气架构,并从总体设计、硬件系统、通信系统和软件系统四个方面对现有技术进行了详细的综…...

【C++算法】位运算
位运算基础知识 1.基础运算符 << : 左移 >> : 右移 ~ : 取反 & : 按位与,有0就是0 I : 按位或,有1就是1 ^ : 按位异或,(1)相同为0,相异为1(2)无进位相加 2.…...

PMP--一模--解题--101-110
文章目录 11.风险管理--过程--识别风险→实施定性风险分析→实施定量风险分析→规划风险应对→实施风险应对→监督风险101、 [单选] 在项目即将进入收尾阶段时,项目经理发现了一项原来没有考虑到的新风险。该风险一旦发生,可能给最终的可交付成果带来重要…...
为了有了ReentrantLock还需要ReentrantReadWriteLock?
ReentrantLock 和 ReentrantReadWriteLock 是 Java 中的两种不同实现的锁,它们各自适用于不同的应用场景。以下是为什么需要 ReentrantReadWriteLock 的几个原因: 1. 读写分离 ReentrantLock 是一种独占锁,适用于任何线程操作共享资源的场景…...
Vite打包zip并改名为md5sum哈希案例
通常在DevOps CICD流水线部署前端项目时,一般默认都要将dist资源打包为zip,并且把zip名称改为md5sum哈希值(用于文件完整性验证)。 md5sum是什么? md5sum 是一个在 Unix 和类 Unix 系统(如 Linux)中广泛使用的命令行…...
并行编程实战——TBB中节点的数据结构
一、节点的定义 在前面分析过了节点相关的应用和功能,也在其中分析过一些节点的数据定义情况。本文就对节点的数据定义进行一个更详细具体的分析说明,特别是对一些应用上的细节展开说明一下。知其然,然后知其所以然。 节点的定义,…...
ClickHouse总结
背景 OLAP(联机分析处理) 是一种用于在大规模数据集上进行复杂分析的数据处理方法。与OLTP(联机事务处理)系统专注于支持日常业务交易和操作不同,OLAP系统旨在提供对多维数据的快速、灵活的查询和分析能力。 OLAP场景…...
Guava中Preconditions校验
Guava中Preconditions校验 场景引入Guava 参数校验 Preconditionspom 依赖引入常用的方法 场景引入 提出疑问?为什么不直接使用 jsr330校验注解对实体类进行校验呢? 答:不同的场景,如短信码验证登录,账号密码登录此类…...
容器技术--Docker常用命令
Docker常用命令 镜像的命令 # 查看本地所有镜像 docker images # 向服务端发送请求,服务端处理 # 只获取镜像id docker images -q # 镜像管理 docker image# 查看镜像的详细信息 docker image inspect 镜像id # 查看 容器整体信息 docker info | grep -iE...

CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...

Keil 中设置 STM32 Flash 和 RAM 地址详解
文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...

高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案
随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决
Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中,新增了一个本地验证码接口 /code,使用函数式路由(RouterFunction)和 Hutool 的 Circle…...

DBLP数据库是什么?
DBLP(Digital Bibliography & Library Project)Computer Science Bibliography是全球著名的计算机科学出版物的开放书目数据库。DBLP所收录的期刊和会议论文质量较高,数据库文献更新速度很快,很好地反映了国际计算机科学学术研…...