visionpro官方示例分析(一) 模板匹配工具 缺陷检测工具

1.需求:找出图像中的这个图形。

在这里插入图片描述

2.步骤
使用CogPMAlignTool工具,该工具是模板匹配工具,见名知意,所谓模板匹配工具就是说先使用该工具对一张图像建立模板,然后用这个模板在其他图像上进行匹配,匹配上了就说明找到了,匹配不上就说明没有找到。

在这里插入图片描述

将输入图像给到CogPMAlignTool工具。
抓取一张训练图像,将矩形框移到该图形的位置,表明自己对该图形感兴趣,确定训练区域和原点。

在这里插入图片描述
在这里插入图片描述

训练。
调整运行参数,使模板的适应范围更广。

在这里插入图片描述

这样就可以使用训练好的模板到其他图像中去检测目标图形了。

在这里插入图片描述


在这里插入图片描述
在官方示例中还有下面这部分,这又是干什么的呢?且听我娓娓道来。
在这里插入图片描述

之前我们是以这张图像为模板来找中间的图形的,既然我们是拿这张图像作为模板的,那就说明这张图像很优秀,优秀到可以作为其他图像的参考,那么我们就假设这张图像中的所有图形都是标准的。
现在有一个需求是:在这张图像的右上角有一个三角形,我们把它当作标准件,我们想要以该形状为标准检测其他图像中的这个形状是否是标准的(是否是有缺陷的),因此就需要用到CogPatInspectTool工具。
CogPatInspectTool工具通过将当前图像与训练图像对比,获取原始差异图像,再将原始差异图像与阈值图像进行对比,进而获取阈值差异图像得到最终的当前图像与训练图像的差异,通常差异区域为缺陷所在。

还有一个问题:CogPatInspectTool工具放在CogPMAlignTool工具后面是偶然吗?还是必然?

在这里插入图片描述
答案是必然的。如上图,我们想要使用CogPatInspectTool工具判断待检测图像中的该图形是否有缺陷,待检测图像实际上只是在模板图像的基础上旋转了一个角度而已,也就是说待检测图像除了位姿和模板图像不一样,其他地方都一摸一样。但是CogPatInspectTool工具并不能智能到让两张图像现在位姿上保持一致,然后进行缺陷检测。因此CogPatInspectTool工具需要搭配着CogPMAlignTool工具使用,由CogPMAlignTool工具告诉它图像之间的位姿关系和大小关系,然后CogPatInspectTool工具就可以排除掉位姿和大小的影响,进行缺陷检测了。

在作业中添加CogPatInspectTool工具。
该工具需要以下几个参数:

在这里插入图片描述
那么我们就需要CogPMAlignTool工具的输出参数中有这么几个参数。为CogPMAlignTool工具添加终端。

  • InputImage:原始的输入图像。
  • Pose:输入图像与模板相比的位姿关系。
  • Pattern.TrainImage:模板图像。
  • Pattern.Origin:模板图像的原点。

在这里插入图片描述

打开CogPatInspectTool工具,框选训练区域,训练模板。

在这里插入图片描述
在这里插入图片描述

OK,大功告成。下面来分析一下。

在这里插入图片描述

选择MatchImage,表示图像与模板图像的匹配度。
在这里插入图片描述
当输入的图像为模板图像自身时,也就是说当拿自身和自身进行匹配时,是这样的。

在这里插入图片描述

当输入的是其他图像时,匹配的结果是这样的。因此就很容易看出来,图像中不同的颜色代表匹配度,图像中的红色区域说明匹配度很低,因此该区域可能存在缺陷。

也可以选择DifferenceImageAbsolute。在这里插入图片描述

当输入的是模板图像本身时:

在这里插入图片描述

漆黑一片。

当输入的是其他图像时:

在这里插入图片描述

像素值越大的地方说明该区域与模板图像的差异越大。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/925344.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

代码随想录算法训练营第六十天|Day60 图论

Bellman_ford 队列优化算法(又名SPFA) https://www.programmercarl.com/kamacoder/0094.%E5%9F%8E%E5%B8%82%E9%97%B4%E8%B4%A7%E7%89%A9%E8%BF%90%E8%BE%93I-SPFA.html 本题我们来系统讲解 Bellman_ford 队列优化算法 ,也叫SPFA算法&#xf…

LAMP环境的部署

一、软件安装介绍 在Linux系统中安装软件有rpm安装、yum安装、源码安装等方法,在这里主要给大家介绍 yum 安装,这是一种最简单方便的一种安装方法。 YUM(Yellow dog Upadate Modifie)是改进版的 RPM 管理器,很好地解…

搭建文件服务器并使用Qt实现文件上传和下载(带账号和密码)

文章目录 0 背景1 搭建文件服务器2 代码实现文件上传和下载2.1 在pro文件中添加网络支持2.2 创建网络管理类2.3 文件上传2.4 文件下载 3 扩展(其他方法实现文件上传和下载)3.1 python3.2 npm3.3 ftp服务器 4 完整的代码 0 背景 因为需要使程序具备在远程…

matlab导出3D彩色模型(surface类转stl,并对白模上色)

在matlab中绘制3维图形时,需要将3维图形导出到PPT中展示。但是直接导出图片效果欠佳,无法全方位展示。 最近学习了如何将matlab中的图形导出为stl模型,然后再采用简单的方法对模型上色。 中间尝试过matlab导出stl、ply、3dm等多种格式&…

Java项目中加缓存

Java项目中加缓存 1.更新频率低;但读写频率高的数据很适合加缓存; 2.可以加缓存的地方很多:浏览器的缓存;CDN的缓存;服务器的缓存; 本地内存;分布式远端缓存; 加缓存的时候不要…

VTK的基本概念(一)

文章目录 三维场景的基本要素1.灯光2.相机3.颜色4.纹理映射 三维场景的基本要素 1.灯光 在三维渲染场景中,可以有多个灯光的存在,灯光和相机是三维渲染场景的必备要素,如果没有指定的话,vtkRenderer会自动创建默认的灯光和相机。…

【C知道】数据包捕获(wire shark)

请解释一下数据包捕获和分析工具(如Wireshark)的工作原理和用途。 数据包捕获和分析工具,例如Wireshark(以前称为 Ethereal),是一种网络协议分析软件,它允许用户实时监控计算机网络中的数据传输…

浮点数计算,不丢失精度

在js中对于浮点数直接计算会存在精度丢失的情况,为了保证精度问题,可以做如下处理: 浮点数精度计算 主要流程如下: 浮点数转换成整数 示例代码如下 /** 将一个浮点数转成整数,返回整数和倍数。如 3.14 >> 314…

计算机网络八股整理(三)

目录 计算机网络八股(三)传输层1:说一下tcp的头部?2:tcp三次握手的过程说一下?拓展linux中查看tcp状态: 3:tcp为什么需要三次握手建立连接?4:tcp三次握手,如果…

C#基础控制台程序

11.有一个54的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。 12.从键盘输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。 13.输入一个数,判断它是奇数还是偶数,如果…

小程序-基于java+SpringBoot+Vue的微信小程序养老院系统设计与实现

项目运行 1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境&#xff1a…

LeetCode—74. 搜索二维矩阵(中等)

仅供个人学习使用 题目描述: 给你一个满足下述两条属性的 m x n 整数矩阵: 每行中的整数从左到右按非严格递增顺序排列。 每行的第一个整数大于前一行的最后一个整数。 给你一个整数 target ,如果 target 在矩阵中,返回 true…

命令行使用ssh隧道连接远程mysql

本地电脑A 跳板机B 主机2.2.2.2 用户名 B ssh端口号22 登录密码bbb 远程mysql C 地址 3.3.3.3 端口号3306 用户名C 密码ccc A需要通过跳板机B才能访问C; navicat中配置ssh可以实现在A电脑上访问C 如何实现本地代码中访问C呢? # 假设本地使…

海康VsionMaster学习笔记(学习工具+思路)

一、前言 VisionMaster算法平台集成机器视觉多种算法组件,适用多种应用场景,可快速组合算法,实现对工件或被测物的查找测量与缺陷检测等。VM算法平台依托海康威视在图像领域多年的技术积淀,自带强大的视觉分析工具库,可…

⭐️ GitHub Star 数量前十的工作流项目

文章开始前,我们先做个小调查:在日常工作中,你会使用自动化工作流工具吗?🙋 事实上,工作流工具已经变成了提升效率的关键。其实在此之前我们已经写过一篇博客,跟大家分享五个好用的工作流工具。…

视频汇聚平台Liveweb国标GB28181视频平台监控中心设计

在现代安防视频监控领域,Liveweb视频汇聚平台以其卓越的兼容性和灵活的拓展能力,为用户提供了一套全面的解决方案。该平台不仅能够实现视频的远程监控、录像、存储与回放等基础功能,还涵盖了视频转码、视频快照、告警、云台控制、语音对讲以及…

安装SQL Server 2022提示需要Microsoft .NET Framework 4.7.2 或更高版本

安装SQL Server 2022提示需要Microsoft .NET Framework 4.7.2 或更高版本。 原因是:当前操作系统版本为Windows Server 2016 Standard版本,其自带的Microsoft .NET Framework 版本为4.6太低,不满足要求。 根据报错的提示,点击链接…

重塑视频新语言,让每一帧都焕发新生——Video-Retalking,开启数字人沉浸式交流新纪元!

模型简介 Video-Retalking 模型是一种基于深度学习的视频再谈话技术,它通过分析视频中的音频和图像信息,实现视频角色口型、表情乃至肢体动作的精准控制与合成。这一技术的实现依赖于强大的技术架构和核心算法,特别是生成对抗网络&#xff0…

Llama-2-7b:vocab size:32000;embeddings:4096;hidden_layers是什么意思

目录 Llama-2-7b:vocab size:32000;embeddings:4096 vocab size:模型能解析词汇数量==n_vocab num_hidden_layers: 32 nanogpt隐藏层4 "initializer_range": 0.02 Token Embed是什么 举例说明 不同Chat版本的Token Embed(Token Embeddings) 区别 Llama…

Spring Boot【三】

自动注入 xml中可以在bean元素中通过autowire属性来设置自动注入的方式&#xff1a; <bean id"" class"" autowire"byType|byName|constructor|default" /> byName&#xff1a;按照名称进行注入 byType&#xff1a;按类型进行注入 constr…