Halcon模板匹配之Shape

Shape模板创建

create_shape_model(Template : : NumLevels, AngleStart, AngleExtent, AngleStep, Optimization, Metric, Contrast, MinContrast : ModelID)

参数说明:

NumLevels: 金字塔层数,可以理解为金字塔最顶层最小,储存的信息最少,相对的读取速度就越快。(金字塔)金字塔层数太大了的话,搜索到的物体的信息就会很少,可以适当的减小金字塔层数,如果金字塔层数处于合适的状态,但是匹配速度还比较慢的话,可以试一试增大金字塔数,并且进行图像增强、平滑和去噪等处理。

AngleStart,AngleExtent,AngleStep: 对于这三个参数并且对于shape来说可以设置成推荐之或者’auto’,因为shape匹配本身就很快,这三个参数的具体说法会在下一篇文章互相关中具体介绍。

Optimization: 模板点储存,有两个参数,第一个是是否减少模板点数,第二个是是否进行预处理。
参数一:【 ‘auto’, ‘none’, ‘point_reduction_high’, ‘point_reduction_low’,
‘point_reduction_medium’】'none’就是把所有的点都存起来,和金字塔差不多,全点储存的话就导致运行的比较慢,占用更大的内存,而相对的较少的储存的话匹配分值可能会比较低。
参数二:【‘pregeneration’,‘no_pregeneration’ 】如果不使用第二个值(例如:仅仅设置了第一个值), 默认的是系统中的设置,是通过set_system (‘pregenerate _shape_models’…)来设置的,对于默认值是 (‘pregenerate_shape_models’ =‘false’), 模型没有进行预处理. 模型的预处理设置通常会导致比较低的运行时间。【一般不会用pregeneration,占内存太多】。

Metric: 定义了在图像中匹配模板的条件。
如果Metric= ‘use_ polarity’图像中的目标必须和模型具有一样的对比度。例如,如果模型是一个亮的目标在一个暗的背景上,那么仅仅那些比背景亮的目标可以找到。
如果Metric= ‘ignore_global_polarity’,在两者对比度完全相反时也能找到目标。在上面的例子中,如果目标是比背景暗的也能将目标找到。(明暗不同)find_shape_model函数的运行时间在这种情况下将会略微增加。
如果Metric= ignore_local_polarity’,(对比度不同) 即使局部对比度改变也能找到模型。例如,当目标包含一部分中等灰度,并且其中部分比较亮部分比较暗时,这种模式是非常有用的。由于这种模式下find_shape_model函数的运行时间显著增加,最好的方法是使用create_shape_model创建几个反映目标可能的对比度变化的模型,同时使用find_shape_models去匹配它们。上
面三个metrics仅仅适用于单通道图像。如果是多通道图像作为模板图像或搜索图像,仅仅第一个通道被使用。如果Metric=‘ignore_color_polarity’, 即使颜色对比度局部变化也能找到模型。例如,当目标的部分区域颜色发生变化(e.g.从红到绿)的情况。如果不能提前知道目标在哪一个通道是可见的,这种模式将非常有用。在这种情况下find_shape_model函数的运行时间也会急剧增。‘ignore_color_polarity’可以用于具有任意通道数目的图像中。如果使用于单通道图像,他的效果和’ignore_local_polarity’是完全相同的。【取值 :‘ignore_color_polarity’, ‘ignore_global_polarity’, ‘ignore_local_polarity’, ‘use_polarity’】。

Contrast : 决定着模型点的对比度。环境对比不是很高的情况下可以设置成自动的。
由于一些具体应用的原因当某一个模型组件是被包含或是被抑制时,或是目标包含几种不同的对比度时,手动设置这些参数效果会更好。因此对比度阈值可以使用determine_shape_model_params函数自动确定,也可以在调用create_shape_model之前使用inspect_shape_mode函数检查效果。

MinContrast : 模型搜索的最小对比度,小于该对比度不考虑。MinConstrast将模板从图像的噪声中分离出来,如果灰度值的波动范围是10,则MinConstrast应当设为10。

find_shape_model(Image : : ModelID, AngleStart, AngleExtent, MinScore, NumMatches, MaxOverlap, SubPixel, NumLevels,
Greediness : Row, Column, Angle, Score)

参数说明:

AngleStart, AngleExtent: 可以理解成给一个image从中间分成四个象限,一般AE是AS绝对值的二倍,也可以不是,但是要保证一般是整数倍。AS就是0-360对应的象限里面的的角度。举个例子AS设置成-40,AE设置成80,就是图像在第四象限-40到第一象限的40进项搜索匹配。也可以设置成auto。

MinScore: 定义模板匹配时至少有个什么样的质量系数才算是在图像中找到模板。MinScore设置的越大,搜索的就越快。如果模板在图像中没有被遮挡,MinScore可以设置为0.8这么高甚至0.9。

NumMatches: 定义了在图像上找到模板的最大的个数。如果匹配时的质量系数大于MinScore的目标个数多于NumMatches,仅仅返回质量系数最好的NumMatches个目标位置。如果找的匹配目标不足NumMatches,那么就只返回找到的这几个。参数MinScore优于NumMatches。

MaxOverlap: 如果模型具有对称性,会在搜索图像的同一位置和不同角度上找到多个与目标匹配的区域。参数MaxOverlap是0到1之间的,定义了找到的两个目标区域最多重叠的系数,以便于把他们作为两个不同的目标区域分别返回。如果找到的两个目标区域彼此重叠并且大于MaxOverlap,仅仅返回效果最好的一个。重叠的计算方法是基于找到的目标区域的任意方向的最小外接矩形(看smallest_rectangle2)。如果MaxOverlap=0, 找到的目标区域不能存在重叠, 如果MaxOverla p=1,所有找到的目标区域都要返回。(对称的话就是0.5,只查一半)

SubPixel: 确定找到的目标是否使用亚像素精度提取。如果SubPixel设置为’none’(或者’false’ 背景兼容),模型的位置仅仅是一个像素精度和在create_shape_model中定义的角度分辨率。如果SubPixel设置为’interpolation’(或’true’),位置和角度都是亚像素精度的。在这种模式下模型的位置是在质量系数函数中插入的,这种模式几乎不花费计算时间,并且能达到足够高的精度,被广泛使用。

NumLevels: 搜索时使用的金字塔层数,如有必要,层数截成创建模型时的范围。当NumLevels=0时,使用创建模板时的金字塔级别。

Greediness: 确定在搜索时的“贪婪程度”。如果Greediness=0,使用一个安全的搜索启发式,只要模板在图像中存在就一定能找到模板,然而这种方式下搜索是相对浪费时间的。如果Greediness=1,使用不安全的搜索启发式,这样即使模板存在于图像中,也有可能找不到模板,但只是少数情况。如果设置Greediness=0.9,在几乎所有的情况下,总能找到模型的匹配。

参考超级无敌大泡泡的halcon模板匹配之shape/ncc模板匹配参数详解
原文链接附上:https://blog.csdn.net/baidu_36363174/article/details/105846684

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Halcon模板匹配是一种基于Halcon软件的图像处理技术,用于在图像搜索指定的目标物体,并确定其位置和姿态。模板匹配技术在计算机视觉领域具有广泛的应用,可用于工业自动化、机器人视觉、品质检测等领域。 在Halcon,我们可以通过创建一个模板对象来完成模板匹配的过程。首先,我们需要准备模板图像,这是指我们希望在待测图像找到的目标物体的图像。然后,我们可以使用Halcon提供的函数,如create_template,对模板图像进行处理,生成一个模板对象。 接下来,我们将模板对象与待测图像进行匹配。Halcon提供了多种匹配函数,如find_shape_model和find_template,在匹配过程Halcon会根据模板的特征,在待测图像搜索与模板相似的区域,并给出匹配结果,包括物体的位置和姿态信息。 除了基本的模板匹配功能,Halcon还提供了丰富的参数设置和功能选项,以满足不同应用场景的需求。例如,我们可以调整匹配算法的灵敏度,改变匹配结果的阈值,甚至可以进行多尺度匹配或非刚性匹配。 在CSDN社区,我们可以找到很多与Halcon模板匹配相关的文章和教程。这些资源可以帮助我们深入了解Halcon模板匹配的原理和实现方法,以及解决实际问题时可能遇到的困难。 总之,Halcon模板匹配是一项高效、精确的图像处理技术,可以帮助我们自动化地检测和定位目标物体。通过在CSDN社区分享和学习,我们可以进一步提升对Halcon模板匹配的理解和应用能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值