halcon模板匹配学习(一) Matching 初印象
来源:互联网 发布:java jsonarray清空 编辑:程序博客网 时间:2024/05/18 00:41
什么是模板匹配呢?简单而言,就是在图像中寻找目标图像(模板),或者说,就是在图像中寻找与模板图像相似部分的一种图像处理技术。依赖于选择的方法不同,模板匹配可以处理各种情形下的变换,如照明、杂点、大小、位置以及旋转,甚至模版内部的相对移动。
模版匹配的鲁棒性和灵活性都很高,而且很多参数可以自适应生成,只有极少的参数需要配置。
在Halcon中,提供了各种不同的匹配方法。不同方法的选择依赖于图像数据以及要解决的任务。
匹配的流程
Acquire Images
对于训练和匹配,首先必须先有图像。
Create(Train) Model
为了生成一个模板,首先在训练图像中,必须指定包含模板的ROI区域。仅仅这些区域是重要的和稳定的,应该被用来训练。训练算子的输入是裁剪后的图像(可以使用reduce_domain完成)和控制参数。输出是模型句柄。模型将用来立即搜索图像。
Find Model
一旦创建好(或者读入)了模型,立即可以用于定位图像中的目标。
如果一个或者多个目标被发现,他们的姿势(位置position、旋转rotation、缩放scaling)或者
2D仿射变换矩阵和分数(score)被返回。这些值可以被作为下一步的处理。如对齐ROI。
Destroy Model
当我们不需要匹配模型时,你应该销毁它。比如,对于shape-based 匹配,可以使用
clear_shape_model来销毁。
各种匹配方法简介
需要说明的是Component-based Matching。
基于部分的匹配是基于形状匹配的加强版。原因在于它可以允许内部的各个部件
移动(旋转和平移)。比如我们常见的钳子。有两个分支组成。但是分支可开可合。这时使用基于分支的匹配可以一次性处理这样一个组合物。否则可能得分开处理。
匹配方法的快速引导
如下的几幅图简单介绍了如何针对特殊的应用,选择合适的匹配方法。
图1,总结了比较粗糙地选择匹配的方法
图1
图2,介绍了几种形变
图2
图3,介绍了不同方法可以处理的形变
图3
图4,介绍了不同方法可以返回的参数信息
图4
图5,介绍了几种典型的目标外观变换
图5
图6,介绍了不同方法可以处理的目标外观变化
图6
- halcon模板匹配学习(一) Matching 初印象
- C++学习手记(一)——初印象
- Halcon学习之基于形状的模板匹配(一)
- Halcon模板匹配一
- CSS 初印象【一】
- halcon例子学习matching书页匹配
- OpenCL学习笔记(一):摩尔定律,异构计算与OpenCL初印象
- 学习笔记:Quartz初印象
- halcon模板匹配学习(二) 准备模板
- halcon模板匹配学习(二) 准备模板
- 模板设计模式Java初印象
- AJAX系列一之初印象
- Halcon学习 Matching
- Swift 基础学习(构造方法初印象)
- Halcon参数理解(模板匹配)
- halcon模板匹配
- HALCON模板匹配
- halcon模板匹配
- Cookie和Session区别(2)
- LeetCode 389:Find the Difference
- codeforces 459E
- JAVA 方法定义及调用
- event对象的属性
- halcon模板匹配学习(一) Matching 初印象
- C++——算法基础之排序——堆排序
- 学习日记20160912
- 数据结构实验之链表六:有序链表的建立
- [verilog读书笔记]6.数据流建模
- commons-logging与log4j学习总结
- Android存储--ContentProvider
- 理解金纳米晶体的光热转换效率
- 做人要问心无愧