目录

一、 形状匹配模板( Shape_Based )

1.1 形状匹配常见的有四种情况

1.2 四种匹配的特点

1.3 一般形状匹配模板shape_model

1.4 线性变形匹配模板planar_deformable_model

1.5 局部变形模板

1.6 比例缩放末班匹配

二、 灰度匹配模板(Gray-Value-Based)

2.1 创建模板方法如下

2.2 匹配搜索操作

2.3 模板调整操作

三、组合模板匹配(Component-Based)

3.1 操作列表


常见的halcon有三种模板匹配方法:即Shaped_based、Gray-Value-Based、Component-Based分别是:基于形状的匹配、基于灰度值的匹配和,基于组件(组合结构)的匹配。此外还有其它匹配:

  • Correlation-Based
  • Deformable
  • Descriptor-Based

也是分属于前面的大类。

一、 形状匹配模板( Shape_Based )

形状模板是最常用,最有效,最快速的。因此需要详细说明。

1.1 形状匹配常见的有四种情况

  • 一般形状匹配模板shape_model
  • 线性变形匹配模板planar_deformable_model
  • 局部可变形模板local_deformable_model
  • 和比例缩放模板Scale_model

1.2 四种匹配的特点 

匹配函数类型 特点
shape_model 不支持投影变形的模板匹配,是速度是最高的。
planar_deformable_model 是支持投影变形的匹配
local_deformable_model 是支持局部变形的匹配
Scale_model 是支持投影变形的匹配

1.3 一般形状匹配模板shape_model

一般形状匹配模板是最常用的,模板的形状和大小一经制作完毕便不再改变,在查找模板的过程中,只会改变模板的方向和位置等来匹配目标图像中的图像。这个方法查找速度很快,但是当目标图像中与模板对应的图像存在比例放大缩小或是投影变形如倾斜等,均会影响查找结果。涉及到的算子通常为:

  • create_shape_model
  • find_shape_model

1.4 线性变形匹配模板planar_deformable_model

一般形状匹配模板是指模板在行列方向上可以进行适当的缩放。行列方向上可以分别独立的进行一个适当的缩放变形来匹配。主要参数有:

  • 行列方向查找缩放比例、
  • 图像金字塔、
  • 行列方向匹配分数(指可接受的匹配分数,大于这个值就接受,小于它就舍弃)、
  • 设置超找的角度、
  • 已经超找结果后得到的位置和匹配分数

线性变形匹配又分为两种:

  • 带标定的可变形模板匹配和
  • 不带标定的可变形模板匹配。

涉及到的算子有:

  • 不带标定的模板:

创建和查找模板算子create_planar_uncalib_deformable_modelfind_planar_uncalib_deformable_model

  • 带标定模板的匹配:

先读入摄像机内参和外参 read_cam_parread_pose       创建和查找模板算子 create_planar_calib_deformable_modelfind_planar_calib_deformable_model

1.5 局部变形模板

是指在一张图上查找模板的时候,可以改变模板的尺寸,来查找图像上具有局部变形的模板。例如包装纸袋上图案查找。参数和线性变形额差不多

算子如下:

  • create_local_deformable_model
  • find_local_deformable_model

1.6 比例缩放末班匹配

是介于一般形状匹配和线性变形匹配之间的一种方法。它可以匹配放大或是缩小的模板,但是仅限于模板大小的缩放,即行列缩放因子一样。这也是它和线性缩放最大的不同。

涉及到的算子如下:

  • create_scale_shape_model
  • find_scale_shape_model

二、 灰度匹配模板(Gray-Value-Based)

请注意,对于几乎所有应用案例,总是要首选相关的匹配基于形状的匹配这些方法,不得已才选基于灰度值的匹配。基于灰度值的匹配是经典的方法,只有当内部的灰度值对象没有变化,如果没有丢失的部分和没有杂乱。该方法对对象的旋转不敏感。

该方法典型应用场合:查找【穿蓝色衣服的人物】。对应的图像

 

用如下模板实现:

2.1 创建模板方法如下 

  • create_template
  • create_template_rot
  • clear_template
  • write_template
  • read_template

2.2 匹配搜索操作

  • best_match,
  • best_match_mg,
  • best_match_pre_mg,
  • best_match_rot;
  • best_match_not_mg,
  • fast_match,fast_match_mg;

2.3 模板调整操作

  • adapt_template
  • set_offset_template
  • set_reference_template

结论:灰度匹配就是原图像和一个模板图像的距离匹配,如果差在阈值内就算匹配成功。

三、组合模板匹配(Component-Based)

基于组件的匹配是基于形状匹配的扩展。他可以看成多个形状模板,具有一定连接结构共同组成的模板。比如,下图中的5个元器件,具有固定大小和相对的位置:

那么,要想5个物体一起匹配,需要如下组合模板:

与基于形状的匹配一样,基于组件的匹配提取轮廓并将其形状,与预先创建的模型匹配。但与基于形状的匹配相反,组件模型由多个组件组成,这些组件可以改变它们的关系,即它们可以相对于彼此移动和旋转。这在创建模型时必须确定或指定可能的关系。然后,实际匹配返回找到的模型实例的各个关系。请注意,与基于形状的 匹配比较,对于基于组件的匹配,无法进行大小缩放。

定位可以相对移动的组件的任务比 基于形状的匹配所需的过程更长。例如,不是单个 ROI,而是多个 ROI (包含初始组件)必须被选择或提取。此外,关系,即 必须确定模型组件之间可能的移动。概览,图 3.16 说明了基于组件的匹配所需的主要步骤。

参考流程图。

关于更多信息可以专题说明。

3.1 操作列表

  • clear_component_model 释放组件模型的内存。
  • clear_training_components释放组件训练结果的内存。
  • cluster_model_components在训练结果中采用用于创建模型组件的新参数。
  • create_trained_component_model根据经过训练的组件准备用于匹配的组件模型。
  • deserialize_component_model反序列化一个序列化的组件模型。
  • deserialize_training_components反序列化一个组件训练结果。
  • find_component_model在图像中找到组件模型的最佳匹配。
  • gen_initial_components提取组件模型的初始组件。
  • get_component_model_params返回组件模型的参数。
  • get_component_model_tree返回组件模型的搜索树。
  • get_component_relations返回包含在训练结果中的模型组件之间的关系。
  • get_found_component_model返回已找到的组件模型实例的组件。
  • get_training_components返回特定图像中的初始或模型组件。
  • inspect_clustered_components检查从训练中获得的刚性模型组件。
  • modify_component_relations修改训练结果中的关系。
  • read_training_components从文件中读取组件训练结果。
  • serialize_component_model序列化组件模型。
  • serialize_training_components序列化一个组件训练结果。
  • train_model_components为基于组件的匹配训练组件和关系。
  • write_training_components将组件训练结果写入文件。

halcon知识:常见三种模板匹配方法总结相关推荐

  1. halcon三种模板匹配方法

    转自 : http://blog.csdn.net/hust1900/article/details/8843270 halcon有三种模板匹配方法:即Component-Based.Gray-Val ...

  2. 图像处理HALCON中的模板匹配方法总结

    HALCON中的模板匹配方法总结 摘要 1. Shape-Based matching的基本流程 2. 基于形状匹配的参数关系与优化 摘要 德国MVTec公司开发的HALCON机器视觉开发软件,提供了 ...

  3. HALCON:模板匹配方法总结

    HALCON:模板匹配方法总结

  4. 对象转数组的方法(常见三种)

    对象转数组的方法(常见三种) Object.values(obj) //属性值 Object.keys(obj) //属性名 Object.entries(obj) //属性名和属性值

  5. 三种引流方法案例分析

    第3课课程笔记 课程主题:三种引流方法&案例分析 课程题纲: 第一节:58同城引流方法详解(图文并茂) :宠物引流的第二种方法(资料收集与分享) :第三种最高端的玩法(让客户百分百信任你) 正 ...

  6. 图像相似度测量和模板匹配方法

    摘要 本文主要总结了进行目标跟踪.检测中经常使用到的图像相似度测量和模板匹配方法,并给出了具体的基于OpenCV的代码实现. 引言 模板匹配是一种在源图像中寻找与图像patch最相似的技术,常常用来进 ...

  7. 关于ACL和NAT技术(内含PC服务器常见三种类型介绍与通配符掩码简介)

    目录 PC服务器常见三种外形介绍(硬盘尺寸相关知识普及) 一.塔式服务器 二.刀片式服务器 三.机架式服务器 四.硬盘尺寸 ACL 一.ACL概述及其组成 1.ACL的概述及技术背景 2.ACL的组成 ...

  8. 常见三种存储方式DAS、NAS、SAN的架构及比较

    随着主机.磁盘.网络等技术的发展,数据存储的方式和架构也在一直不停改变,本文主要介绍目前主流的存储架构. 存储的分类 根据服务器类型分为: 封闭系统的存储(封闭系统主要指大型机) 开放系统的存储(开放 ...

  9. 基于模板匹配方法的机场飞机起飞-目标检测

    文章目录 1. 模板匹配方法的定义 2. 标注软件labelme 标注以及数据解析裁剪模板 2.1 labelme简介 2.2 labelme标注的json文件解析 3. 基于Opencv pytho ...

最新文章

  1. php rule engine,jinchunguang
  2. Redis实战(2)安装和试用
  3. GPT分区无损转MBR分区的操作
  4. csapp:无符号数可能造成的程序bug
  5. 怎样自动提取邮件的内容_流程自动化和人工智能如何创建智慧物流?
  6. C#中Tuple的使用
  7. Linux 查看文件位置/查看文件路径的命令
  8. 智能外呼系统相关资料总结
  9. WEB系统技术开发方向
  10. 裴礼文《数学分析中的典型问题与方法》P31~60
  11. CRMEBv3.1微商城源码,含小程序商城,公众号商城,H5商城
  12. 三维扫描仪[3]——标定·理论
  13. QQ邮箱一键删除所有邮件的方法
  14. 计算机无法启动安装程序,win7电脑无法安装程序或安装的程序不能运行怎么办...
  15. GPA计算(5.0分制)
  16. echarts 好看的柱形图
  17. SQL Server 2019 开启数据库远程访问
  18. Ubuntu子系统折腾记
  19. 一文详解四种经典限流算法,面试必备。
  20. P8-从列表中移除多个元素

热门文章

  1. vue3学习日记二 setup语法糖
  2. 为mac app制作dmg
  3. Hi3559C V100超高清移动摄像头SoC
  4. 送给创业者的几句窝心话
  5. linux etcfstab 权限,etc/fstab linux开机自动挂载
  6. 交换机交换容量与包转发率的关系
  7. echarts gauge仪表盘设置
  8. STM32 USART—串口通信
  9. VUE + flv视频的播放与切换
  10. linux raw 分区 读取,在linux上使用raw device方式