Halcon中模板匹配方法的总结归纳

基于组件的模板匹配

应用场合:组件匹配是形状匹配的扩展,但不支持大小缩放匹配,一般用于多个对象(工件)定位的场合。

算法步骤:

1.获取组件模型里的初始控件 gen_initial_components()

参数:

ModelImage [Input] 初始组件的图片

InitialComponents [Output] 初始组件的轮廓区域

ContrastLow [Input] 对比度下限

ContrastHigh [Input] 对比度上限

MinSize [Input] 初始组件的最小尺寸

Mode[Input] 自动分段的类型

GenericName [Input] 可选控制参数的名称

GenericValue [Input] 可选控制参数的值

2.根据图像模型,初始组件,训练图片来训练组件和组件相互关系  train_model_components()

3.创建组件模型 create_trained_component_model()

4.寻找组件模型 find_component_model()

5.释放组件模型 clear_component_model()

基于形状的模板匹配:

应用场合:定位对象内部的灰度值可以有变化,但对象轮廓一定要清晰平滑。

1.创建形状模型:create_shape_model()

2.寻找形状模型:find_shpae_model()

3.释放形状模型:clear_shape_model()

基于灰度的模板匹配:

应用场合:定位对象内部的灰度值没有大的变化,没有缺失部分,没有干扰图像和噪声的场合。

1.创建模板:create_template()

2.寻找模板:best_match()

3.释放模板:clear_template()

基于互相关匹配:

应用场合:搜索对象有轻微的变形,大量的纹理,图像模糊等场合,速度快,精度低。

1.创建模板:create_ncc_model()

2.寻找模板:find_ncc_model()

3.释放模板:clear_ncc_model()

基于变形匹配:

应用场合:搜索对象有轻微的变形。

1.创建模板:create_local_deformable_model()

2.寻找模板:find_local_deformable_model()

3.释放模板:clear_deformable_model()

基于描述匹配:

应用场合:搜索对象有轻微的变形,透视的场合,根据一些描述点的位置和灰度值来进行匹配。

1.创建模板:create_calib_descriptor_model()

2.寻找模板:find_calib_descriptor_model()

3.释放模板:clear_descriptor_model()

原文地址:https://www.cnblogs.com/bile/p/10551593.html

时间: 2024-10-11 06:27:15

Halcon中模板匹配方法的总结归纳的相关文章

基于HALCON的模板匹配方法总结 (转)

很早就想总结一下前段时间学习HALCON的心得,但由于其他的事情总是抽不出时间.去年有过一段时间的集中学习,做了许多的练习和实验,并对基于HDevelop的形状匹配算法的参数优化进行了研究,写了一篇<基于HDevelop的形状匹配算法参数的优化研究>文章,总结了在形状匹配过程中哪些参数影响到模板的搜索和匹配,又如何来协调这些参数来加快匹配过程,提高匹配的精度,这篇paper放到了中国论文在线了,需要可以去下载. 德国MVTec公司开发的HALCON机器视觉开发软件,提供了许多的功能,在这里我主

halcon三种模板匹配方法

转自 : http://blog.csdn.net/hust1900/article/details/8843270 halcon有三种模板匹配方法:即Component-Based.Gray-Value-Based.Shaped_based,分别是基于组件(或成分.元素)的匹配,基于灰度值的匹配和基于形状的匹配,此外还有变形匹配和三维模型匹配也是分属于前面的大类 本文只对形状匹配做简要说明和补充: Shape_Based匹配方法: 上图介绍的是形状匹配做法的一般流程及模板制作的两种方法. 先要

OpenCV中的模板匹配方法及其应用

模板匹配(TemplateMatching)就是在一幅图像中寻找和模板图像(template)最相似的区域,该方法原理简单计算速度快,能够应用于目标识别,目标跟踪等多个领域.OpenCV中对应的函数为matchTemplate或cvMatchTemplate(参考opencvdoc),简单介绍下: 1.函数原型 C++: void matchTemplate(InputArray image, InputArray templ, OutputArray result, int method);

重新看halcon模板匹配

工业中模板匹配有很多需求. 代码如下: read_image (Image, 'J:/测试图片/test1/1.bmp') get_image_size (Image, Width, Height) gen_rectangle1 (Rectangle, 1057.01, 1698.27, 1241.98, 1898.29) *gen_rectangle1 (Rectangle, 449.726, 813.267, 669.604, 1005.06) area_center (Rectangle,

opencv学习之路(21)、模板匹配及应用

一.模板匹配概念 二.单模板匹配 1 #include "opencv2/opencv.hpp" 2 #include <iostream> 3 using namespace std; 4 using namespace cv; 5 6 void main() 7 { 8 Mat temp=imread("E://mu.jpg"); 9 Mat src=imread("E://lena.jpg"); 10 Mat dst=src.c

OpenCV学习笔记[4]模板匹配 Java version

OpenCV学习笔记:模板匹配 Java version 首先我要纠正一个错误的学习习惯,像OpenCV这样的大型库,按照官方教程一步一步调试的学习效率太低了,OpenCV就像字典一样,当我们需要计算机进行某些视觉特性模拟时,针对具体问题去检索库中对应的API即可. 尽管官方教程非常详细,但除了人脸识别的Demo和一套doc外,没有其他Java实例,教程中详细的实例都由C语言编写,我在测试的过程中会将对应部分按照OOP形式重写为Java模块,并在学习笔记中贴出. 官方教程可以在OpenCV库解压

图像相似度测量与模板匹配总结

摘要 本文主要总结了进行目标跟踪.检测中经常使用到的图像相似度测量和模板匹配方法,并给出了具体的基于OpenCV的代码实现. 引言 模板匹配是一种在源图像中寻找与图像patch最相似的技术,常常用来进行目标的识别.跟踪与检测.其中最相似肯定是基于某种相似度准则来讲的,也就是需要进行相似度的测量.另外,寻找就需要在图像上进行逐行.逐列的patch窗口扫描,当然也不一定需要逐行逐列的扫描,当几个像素的误差比计算速度来的不重要时就可以设置扫描的行列步进值,以加快扫描和计算的时间消耗.下面就对相似度测量

目标跟踪之模板匹配---简单的模板匹配

一.概述 目标跟踪是计算机视觉领域的一个重要分支.研究的人很多,近几年也出现了很多很多的算法.大家看看淋漓满目的paper就知道了.但在这里,我们也聚焦下比较简单的算法,看看它的优势在哪里.毕竟有时候简单就是一种美. 在这里我们一起来欣赏下“模板匹配”这个简单点的跟踪算法.它的思想很简单,我们把要跟踪的目标保存好,然后在每一帧来临的时候,我们在整个图像中寻找与这个目标最相似的,我们就相信这个就是目标了.那如何判断相似呢?就用到了一些相关性的东西了,这个在我之前的一篇博文里面介绍过,大家可以参考下

halcon 模板匹配 -- 转化 vector_angle_to_rigid

********************************模板匹配 ********************create_shape_model创建模板,这个函数有许多参数,其中金字塔的级数由Numlevels指定,值越大则找到物体的时间越少,AngleStart和AngleExtent决定可能的旋转范围,AngleStep指定角度范围搜索的步长:这里需要提醒的是,在任何情况下,模板应适合主内存,搜索时间会缩短.对特别大的模板,用Optimization来减少模板点的数量是很有用的:Min