Halcon 二维匹配

news2024/9/21 0:39:25

匹配:在训练图像中呈现一个所谓的模板。系统从这个模板中派生出一个模型,通过使用该模型来定位于搜索图像中的相似模板对象。此方法能够处理打光、杂乱、位置和旋转变换的图像。
匹配优点:鲁棒性和灵活性。匹配不需要对目标进行任何形式的分割。通过某些匹配方法,即使对象与其他对象重叠,也可以定位对象。
Halcon提供不同的匹配方法,选择哪种方法取决于图像和需要解决的问题。
不同的匹配方法如下:
基于相关性的匹配是根据灰度值和归一化的关系。
基于形状匹配代表机器视觉最新技术,而不适应灰度值,沿着轮廓提取特征,并用于模型的生产和匹配。
局部变换匹配类似于形状匹配,这可处理和返回不同的变形。特别是,除位置和分数外,匹配可以返回搜索图像重要特征,描述变换的向量场以及找到的模型实例的轮廓变换。
透视可变换匹配也类似基于形状匹配,此方法可处理变换较大的透视图,并且返回二维投影变换矩阵而不是2D姿态。
基于描述符的匹配与透视可变形匹配意义相同,在未校准情况下课二维投影变换矩阵,在校准情况下课获得三维位置信息。注意区别是点而不是轮廓被用来创建和识别模型。因此,适应于高纹理对象,但不适合具有圆形边缘的低纹理对象。下图总结二维匹配方法:在这里插入图片描述

1 基本概念

匹配分为以下几步:
在这里插入图片描述

1.1 读取图像

获取图像进行模板匹配和训练。

1.2 创建模板

创建模板对象,需要指定覆盖训练图像中模板的感兴趣区域。图像稳定的部分才适合用于训练,训练算子的输入是简化图和控制参数,模型的句柄是训练输出。然后将用于立即搜索或存储到文件中。

1.3 寻找模型

创建(或加载)模型后,现在可以使用它来定位图像中的对象。每个方法都提供直线此任务的特定方法。如果找到一个或多个对象,则返回他妈的姿态(位置、旋转和缩放)或二维投影变换矩阵以及分数。这些值是期望结果可作为视觉过程的下一步的输入,例如定位感兴趣区域。

2 程序示例

2.1 简单示例

read_image(ReferenceImage,'board/board_01')
create_generic_shape_model(ModelID)
gen_rectangle1(ROI,450,470,580,755)
reduce_domain(ReferenceImage,ROI,TrainingImage)
train_generic_shape_model(TrainingImage,ModelID)
set_generic_shape_model_param(ModelID,'num_matches',1)
set_generic_shape_model_param(ModelID,'min_score',0.6)

*
for i:=1 to 9 by 1
    read_image(SearchImage,'board/board_'+i$'02')
    find_generic_shape_model(SearchImage,ModelID,MatchResultID,NumMatchResult)
    
    *检索图像匹配结果
    get_generic_shape_model_result_object(Objects,MatchResultID,'all','contours')
    
    * 显示结果
    dev_display(SearchImage)
    dev_display(Objects)
    Text:='Found instances'
    dev_disp_text(Text,'window',12,12,'black', [], [])
    wait_seconds(1)
endfor

在这里插入图片描述

2.2 基于关联的匹配:在纹理中识别标签

read_image(Image,'face_masks/face_mask_01')
create_generic_shape_model(ModelID)
gen_rectangle2(ROI,616.5,708.5,rad(-82.4054),50,35)
reduce_domain(Image,ROI,ImageReduced)
create_ncc_model(ImageReduced,'auto',rad(0),rad(360),'auto','use_polarity',ModelID)

NumImages:=9
Color:='green'
for Index:=1 to NumImages by 1
    read_image(Image,'face_masks/face_mask_'+Index$'02')
    find_ncc_model(Image,ModelID,rad(0),rad(360),0.7,1,0.5,'true',0,Row,Column,Angle,Score)
    dev_display_ncc_matching_results(ModelID,Color,Row,Column,Angle,0)
endfor

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

50 选择结构

常见的选择结构有单分支选择结构、双分支选择结构、多分支选择结构及嵌套的分支结构,也可以构造跳转表来实现类似的逻辑。循环结构和异常处理结构中也可以实现带有 else 子句,可以看作特殊形式的选择结构。 所有的 Python 合法表达式都可以作为条件表达…

MySQL数据库入门:掌握数据管理的关键步骤!

前言 竹竹零将带您深入探索MySQL数据库的基础知识和实用技能,一同走进Java逻辑控制语句的 学习吧!!! 本节目标 数据库的操作:创建数据库、删除数据库常用数据类型表的操作:创建表、删除表 1. 数据库的操作…

跨域以及解决方案

禹神:一小时彻底搞懂跨域&解决方案_哔哩哔哩_bilibili该直播回放对跨域的多种解决方案进行了梳理,内容包括:分析同源策略、分析预检请求、跨域的多种解决方案(CORS、JSONP、代理)、同时也从后端人员角度梳理了各种…

计算机毕业设计选题推荐-学生作业管理系统-Java/Python项目实战

✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…

一次性下发100w的优惠券/短信/二维码,兼顾线程池参数可配置

1、场景需求分析 针对6.18,11.11这种场景,平台一次性发布500w张优惠券,或者对于锁单用户统一发下100w张确认信息,同时我们平时有抢购茅台的场景,京东一次性发布10w个验证码,主要是针对高并发多线程大数据批处理任务的场景,一般用于二维码、优惠券、邮件、短信等场景。 …

MyBatis的适用场合与优势

MyBatis的适用场合与优势 1、适用场合2、优势 💖The Begin💖点点关注,收藏不迷路💖 1、适用场合 SQL灵活控制: 适合需要精确控制SQL语句生成和执行的项目。 高性能需求: 对于性能要求高的系统,…

02:【stm32】工程模板的创建

工程模板的创建 1、创建工程文件2、创建STM32的启动文件3、Keil软件里面添加启动文件4、创建我们编写程序的文件夹5、创建存放标准库函数的文件夹6、Keil软件的一些设置 1、创建工程文件 2、创建STM32的启动文件 ①创建Start文件夹用来保存STM32的启动文件 ②下载STM32的固件库…

Apple在Swift中引入同态加密

--->更多内容&#xff0c;请移步“鲁班秘笈”&#xff01;&#xff01;<--- 在计算过程中确保数据隐私和安全性很重要&#xff0c;尤其是在使用云服务。传统的加密方法要求在处理数据之前对数据进行解密&#xff0c;使其面临潜在风险。同态加密是隐私计算的分支&#xf…

C Primer Plus 第5章——第二篇

你该逆袭了 第5 章:重点摘录 三、表达式和语句1、表达式2、语句&#xff08;1&#xff09;副作用 和 序列点&#xff08;a&#xff09;副作用&#xff08;b&#xff09;序列点1、完整表达式 3、复合语句&#xff08;块&#xff09; 四、类型转换1、强制类型转换运算符2、总结&a…

修改 WSL 安装的子系统的位置,节约C盘空间

问题描述 由于 WSL 玩了一阵子&#xff0c;发现C盘的磁盘空间快没了&#xff0c;如下图所示 感觉以后还是不要磁盘分区了&#xff0c;全部在C盘也没什么不好的。 挪动子系统方法 如下图所示&#xff0c;为了方便演示&#xff0c;我们安装了 ubuntu 子系统&#xff0c;并且打…

快讯 | AI牙医震撼登场:15分钟完成牙冠准备,速度超人类8倍!

在数字化浪潮的推动下&#xff0c;人工智能&#xff08;AI&#xff09;正成为塑造未来的关键力量。硅纪元视角栏目紧跟AI科技的最新发展&#xff0c;捕捉行业动态&#xff1b;提供深入的新闻解读&#xff0c;助您洞悉技术背后的逻辑&#xff1b;汇聚行业专家的见解&#xff0c;…

计算几何 点乘 两点间距离 两向量夹角

点乘 点乘&#xff08;也称为内积、标量积或数量积&#xff09;是线性代数中两个向量之间的一种运算&#xff0c;其结果是一个标量&#xff08;即一个单一的数&#xff0c;而不是向量&#xff09;。对于两个n维向量a(a 1 ,a 2 ,…,a n )和b(b 1 ,b 2 ,…,b n )&#xff0c;它们…

翻译: 梯度下降 深度学习神经网络如何学习一

在上一节影片里我讲解了神经网络的结构 首先我们来快速回顾一下 在本节影片里&#xff0c;我们有两个目标 首介绍梯度下降的概念 它不仅是神经网络工作的基础 也是很多其他机器学习方法的基础 然后我们会研究一下这个特别的网络是如何工作的 以及这些隐藏的神经元层究竟在寻找什…

【RDMA项目】如何使用rdma-core进行调用开发一个实战项目

RDMA (Remote Direct Memory Access) 是一种网络协议&#xff0c;可以在计算节点之间实现高效的内存数据传输&#xff0c;而无需CPU的干预。rdma-core 是 RDMA 的一个用户空间库&#xff0c;提供了一些简单易用的接口来使用 RDMA 功能。 开发了一套高级 RDMA&#xff08;远程直…

浅谈Trie树算法(c++)

文章目录 于是他错误的点名开始了题目背景题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 提示思路AC代码 01Trie求n个数两两异或的最大值AC代码 Nikitosh 和异或思路AC代码 The XOR-longest Path思路AC代码 又称字典树&#xff0c;用边来代表字母&#xff0c;而从根结…

《最终幻想14》手游版已获准在中国发行

上个月&#xff0c;有传言称史克威尔和腾讯正在合作开发前者大获成功的MMORPG《最终幻想14》的手机版。Niko Partners分析师丹尼尔艾哈迈德在推特上提到&#xff0c;中国国家新闻出版署已批准发行新一批进口游戏&#xff0c;其中包括《最终幻想14》的手机版&#xff0c;名为《最…

AI智能名片小程序:匹配法则下的粉丝经济新探索

摘要&#xff1a;在数字化时代&#xff0c;企业与消费者之间的互动方式正经历着前所未有的变革。AI智能名片小程序作为这一变革中的新兴产物&#xff0c;不仅重塑了传统商务交流的场景&#xff0c;更在匹配法则的指导下&#xff0c;深刻影响着品牌与粉丝关系的构建与维护。本文…

网络安全数字化转型

1. 背景介绍 在当今数字化浪潮席卷全球的背景下&#xff0c;推行数字化网络安全建设显得尤为迫切与重要&#xff0c;这主要根植于两大核心驱动力&#xff1a;实战挑战的严峻性与行业发展的迫切需求。 1.1. 实战难题的迫切应对 随着信息技术的飞速发展&#xff0c;网络…

全球汽车用粉末涂料市场规划预测:2030年市场规模将接近199亿元,未来六年CAGR为4.3%

一、引言 随着全球汽车行业的持续发展&#xff0c;汽车用粉末涂料作为车辆涂装的重要材料&#xff0c;其市场重要性日益凸显。本文旨在探索汽车用粉末涂料行业的发展趋势、潜在商机及其未来展望。 二、市场趋势 全球汽车用粉末涂料市场的增长主要受全球汽车产量增加、消费者对…

OpenCV||超详细的几何变换

2D图像几何变换的33矩阵&#xff1a; 图像常见的几何变换&#xff1a; 图像来源&#xff1a;《OpenCV 4.5计算机视觉开发实战&#xff1a;基于Python》作者&#xff1a;朱文伟 李建英&#xff1b; 1. 平移&#xff08;Translation&#xff09; 在OpenCV中&#xff0c;平移不是…