QQ登录

只需一步,快速开始

工业视觉 halcon exhaustive_match函数介绍

[ 复制链接 ]
exhaustive_match(Image, RegionOfInterest, ImageTemplate : ImageMatch : Mode : )
exhaustive_match 在RegionOfInterest区域内匹配ImageTemplate和Image。
因此,ImageTemplate将在感兴趣区域内的所有图像点上移动。
参数Mode用于指定匹配准则。
结果值将存储在ImageMatch中。
下列配对准则(Mode )可供选择:


norm_correlation
2019-06-05_234449.jpg
其中X[j]表示图像X的第i列和第j行灰度值。
(l,c)为ImageTemplate区域的中心。
选择u和v,这样模板的所有点都将到达,i,j运行在感兴趣的区域。
在图像帧中,只考虑图像模板中位于图像内部的部分(即u和v受到相应的限制)。
取值范围:0 - 255(最佳匹配)。


dfd'
计算平均“位移帧差”:
2019-06-05_234548.jpg
这项与“norm_correlation”中的项相同。
AREA ( X ) 表示X区域的面积。取值范围为0(最佳匹配)- 255。


计算归一化相关和“移位帧差”(相对于ImageTemplate的面积)非常耗时。
因此,重要的是要限制输入区域(RegionOfInterest ,
如果可能的话,即只在一个非常有限的“ROI”中应用过滤器)。
就质量而言,两种模式返回的结果是相似的,因此模式“dfd”要快3.5倍左右。


例程:
read_image(Image,'monkey')
dev_display(Image)
gen_rectangle2(Rectangle,200,200,0.15,20,30)
reduce_domain(Image,Rectangle,Template)
exhaustive_match(Image,Image,Template,ImageMatch,'dfd')
invert_image(ImageMatch,ImageInvert)
local_max(Image,Maxima)
union1(Maxima,AllMaxima)
add_channels(AllMaxima,ImageInvert,FitMaxima)
threshold(FitMaxima,BestFit,230.0,255.0)
dev_display(BestFit)

1.exhaustive_match_mg(Image, ImageTemplate : ImageMatch : Mode, Level, Threshold : )
exhaustive_match_mg是exhaustive_match的扩充版本,
执行图像Image和模板ImageTemplate匹配。
将ImageTemplate移动到图像区域的所有点上,
根据参数Mode计算匹配准则,结果值存储在ImageMatch中。

以这种方式滤波的图像,通常只有那些具有良好匹配结果的区域是感兴趣的。
搜索区域的大小,即输入图像Image的区域大小,决定了匹配滤波器的运行时间。
因此,建议第一次使用exhaustive_match_mg时,尽量减少图像分辨率,以确定一个“感兴趣的区域”,
在其中可以期望良好的匹配结果;然后,在这个限制区域中,
只有真正的匹配(参见exhaustive_match)才会以正常的分辨率执行。

因此, Image 的高斯金字塔和ImageTemplate将被合(特别是相应的区域也将被转换)。
然后在分辨率金字塔的每一层——从startlevel开始——执行当前“感兴趣区域”内的匹配。
其中,startlevel上的“感兴趣区域”等效于输入图像Image 的区域。
过滤后,在阈值函数的帮助下,确定一个新的“感兴趣区域”,并在下一个分辨率级别进行转换:
  threshold(...:...:0,Threshold,...,   if Mode = 'dfd'
    threshold(...:...:Threshold,255,..., if Mode = 'norm_correlation'

然后以最高分辨率(0级)计算确定的“感兴趣区域”的最终匹配,
输出图像ImageMatch包括相应的滤波结果和最终的“感兴趣区域”,
在阈值函数的帮助下对结果图像进行确定。


因此,exhaustive_match_mg 不仅是一个过滤器,还可以被看作是区域转换类的成员。


例程:
read_image(Image,'monkey')
gen_rectangle2(Rectangle,200,200,0,20,30)
reduce_domain(Image,Rectangle,Template)
exhaustive_match_mg(Image,Template,ImageMatch,'dfd',1,30)
invert_image(ImageMatch,ImageInvert)
local_max(ImageInvert,BestFit)
dev_display (BestFit)
  

halcon从自学到接项目视频教程,另外再赠送全网最全资源  

  

欢迎围观我录制的一套halcon自学视频教程(进入)





回复

使用道具 举报

快速回复 返回列表 客服中心 搜索