halcon模板形状匹配参数

上传人:新** 文档编号:379517964 上传时间:2023-02-15 格式:DOCX 页数:0 大小:13.42KB
返回 下载 相关 举报
亲,该文档总共0页,全部预览完了,如果喜欢就下载吧!
资源描述

《halcon模板形状匹配参数》由会员分享,可在线阅读,更多相关《halcon模板形状匹配参数(0页珍藏版)》请在金锄头文库上搜索。

1、NumLevels越大,找到匹配使用的时间就越小。另外必须保证最咼层的图像具有足够的信息 (至少四个点)。可以通过inspect_shape_model函数查看设置的结果。如果最高层金字塔 的消息太少,算法内部会自动减少金字塔层数,如果最底层金字塔的信息太少,函数就会报 错。如果设为auto,算法会自动计算金字塔的层数,我们可以通过get_shape_model_params 函数查看金字塔的层数。如果金字塔的层数太大,模板不容易识别出来,这是需要将 fin d_shape_model函数中Min Score和Greed in ess参数设置的低一些。如果金字塔层数太 少找到模板的时间会增加。

2、可以先使用inspect_shape_model函数的输出结果来选择一个较 好的金字塔层数。参数An gleStart、AngleExte nt定义了模板可能发生旋转的范围。注意模板在 find_shape_model函数中只能找到这个范围内的匹配。参数AngleStep定义了旋转角度范 围内的步长。如果在find_shape_model函数中没有指定亚像素精度,这个参数指定的精度 是可以实现find_shape_mode函数中的角度的。参数AngleStep的选择是基于目标的大小 的,如果模板图像太小不能产生许多不同离散角度的图像,因此对于较小的模板图像 AngleStep应该设置的比较大。

3、如果AngleExtent不是AngleStep的整数倍,将会相应的修 改 An gleStep。如果选择complete pregeneration,不同角度的模板图像将会产生并保存在内存中。用来 存储模板的内存与旋转角度的数目和模板图像的的点数是成正比的。因此,如果AngleStep 太小或是AngleExtent太大,将会出现该模型不再适合(虚拟)内存的情况。在任何情况下, 模型是完全适合主存储器的,因为这避免了操作系统的内存分页,使得寻找匹配模板的时间 变短。由于find_shape_model函数中的角度可以使用亚像素精度,一个直径小于200像素 的模板可以选择AngleStep=

4、1.如果选择AngleStep=auto (or 0向后兼 容),create_shape_model将会基于模板的大小自动定义一个合适的角度步长自动计算出 来的 AngleStep 可以使用 get_shape_model_params 函数查看。如果没有选择complete pregeneration,该模型会在每一层金字塔上建立在一个参考的位 置。这样在find_shape_model函数运行时,该模型必须转化为不同的角度和尺度在运行时 在。正因为如此,匹配该模型可能需要更多的时间。对于特别大的模板图像,将参数Optimization设置为不同于none的其他数值是非常有用的。 如果Op

5、timization= none,所有的模型点将要存储。在其他情况下,按照Optimization的数 值会将模型的点数减少.如果模型点数变少了,必须在find_shape_model函数中将参数 Greed in ess设为一个比较小的值,比如:0.7、0.8。对于比较小的模型,减少模型点数并不 能提高搜索速度,因为这种情况下通常显着更多的潜在情况的模型必须进行检查。如果 Optimization 设置为auto, create_shape_model 自动确定模型的点数。Optimization的第二个值定义了模型是否进行预处理(pregenerated completely),是通过 选

6、择prege neratio n或者n o_prege neratio n来设置的。如果不使用第二个值(例如:仅仅设 置了第一个值),默认的是系统中的设置,是通过set_system(prege nerate _shape_models,)来设置的,对于默认值是(pregenerate_shape_models = false),模型 没有进行预处理.模型的预处理设置通常会导致比较低的运行时间,因为模型不需要在运 行时间时转换。然而在这种情况下,内存的要求和创建模板所需要的时间是比较高的。还应 该指出,不能指望这两个模式返回完全相同的结果,因为在运行时变换一定会导致变换模型和预处理变换模型之间

7、不同的内部数据。比如,如果模型没有completely pregenerated, 在fin d_shape_model函数中通常返回一个较低的scores,这可能需要将Min Score设置成 一个较低的值。此外,在两个模型中插值法获得的位置可能略有不同。如果希望是最高精确 度,应该使用最小二乘调整得到模型位置。参数Contras决定着模型点的对比度。对比度是用来测量目标与背景之间和目标不同部分之 间局部的灰度值差异。Contrast的选择应该确保模板中的主要特征用于模型中。Contrast也 可以是两个数值,这时模板使用近似edges_image函数中滞后阈值的算法进行分割。这里 第一个数

8、值是比较低的阈值,第二个数值是比较高的阈值。Contrast也可以包含第三个,这 个数值是在基于组件尺寸选择重要模型组件时所设置的阈值,比如,比指定的最小尺寸的点 数还少的组件将被抑制。这个最小尺寸的阈值会在每相邻的金字塔层之间除以2。如果一个 小的模型组件被抑制,但是不使用滞后阈值,然而在Contrast中必须指定三个数值,在这 种情况下前两个数值设置成相同的数值。这个参数的设置可以在inspect_shape_model函数 中查看效果。如果Contrast设置为auto,create_shape_model将会自动确定三个上面描述 的数值。或者仅仅自动设置对比度(auto_contras

9、t),滞后阈值(auto_contrast_hyst)或是最 小尺寸(auto_min_size)中一个。其他没有自动设置的数值可以按照上面的格式再进行设置。 可以允许各种组合,例如:如果设置auto_contrast,auto_min_size,对比度和最小尺寸 自动确定;如果设置auto_min_size,20,30,最小尺寸会自动设定,而滞后阈值被设为20 和30。有时候可能对比度阈值自动设置的结果是不满意的,例如,由于一些具体应用的原 因当某一个模型组件是被包含或是被抑制时,或是目标包含几种不同的对比度时,手动设置 这些参数效果会更好。因此对比度阈值可以使用determine_shap

10、e_model_params函数自 动确定,也可以在调用create_shape_model之前使用inspect_shape_mode函数检查效果。MinContrast用来确定在执行find_shape_model函数进行识别时模型的哪一个对比度必须 存在,也就是说,这个参数将模型从噪声图像中分离出来。因此一个好的选择应该是在图像 中噪声所引起的灰度变化范围。例如,如果灰度浮动在10个灰度级内,Min Co ntrast应该设 置成10。如果模板和搜索图像是多通道图像,Metric参数设置成ignore_color_polarity,在 一个通道中的噪声必须乘以通道个数的平方根再去设置Mi

11、nCon trast。例如,如果灰度值在 一个通道的浮动范围是10个灰度级,图像是三通道的,那么MinContrast应该设置为17。 很显然,Min Co ntrast必须小于Con trast。如果要在对比度较低的图像中识别模板, MinContrast必须设置为一个相对较小的数值。如果要是模板即使严重遮挡(occluded)也 能识别出来,Min Co ntrast应该设置成一个比噪声引起的灰度浮动范围略大的数值,这样才 能确保在fin d_shape_model函数中提取出模板准确的位置和旋转角度。如果Min Co ntrast 设置为auto,最小对比度会基于模板图像中的噪声自动定义

12、。因此自动设定仅仅在搜索图 像和模板图像噪声近似时才可以使用。此外,在某些情况下为了遮挡的鲁棒性,采用自动设 定数值是比较好的。使用get_shape_model_params函数可以查询自动计算的最小对比度。参数Metric定义了在图像中匹配模板的条件。如果Metric= use_polarity,图像中的目标必 须和模型具有一样的对比度。例如,如果模型是一个亮的目标在一个暗的背景上,那么仅仅 那些比背景亮的目标可以找到。如果Metric= ig nore_global_polarity,在两者对比度完全相 反时也能找到目标。在上面的例子中,如果目标是比背景暗的也能将目标找到。 find_s

13、hape_model函数的运行时间在这种情况下将会略微增加。如果Metric= ignore_local_polarity,即使局部对比度改变也能找到模型。例如,当目标包含一部分中等 灰度,并且其中部分比较亮部分比较暗时,这种模式是非常有用的。由于这种模式下find_shape_model函数的运行时间显著增加,最好的方法是使用create_shape_model创建几个反映目标可能的对比度变化的模型,同时使用find_shape_models去匹配他们。上面三 个metrics仅仅适用于单通道图像。如果是多通道图像作为模板图像或搜索图像,仅仅第一 个通道被使用。如果 Metric=ig no

14、re_color_polarity,即使颜色对比度局部变化也能找到模型。例如,当目标的部分区域颜色发生变化(e.g. 从红到绿)的情况。如果不能提前知道目标在哪一个通道是可见的这种模式是非常有用的。在这种情况下find_shape_model函数的运行时间也会急剧增加。ignore_color_polarity可 以使用于具有任意通道数目的图像中。如果使用于单通道图像,他的效果和 ig nore_loc al_polarity是完全相同的。当 Metric= ignore_color_polarity时,create_shape_model创建的模板通道数目和find_shape_model中的图像通道数目可以是 不同的。例如,可以使用综合生成的单通道图像创建模型。另外,这些通道不需要是经过光 谱细分(像RGB图像)的。这些通道还可以包括具有在不同方向照亮同一个目标所获得的图 像。模型图像Template的domain区域的重心是模板的初始位置,可以在 set_shape_model_origin函数中设置不同的初始位置。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号