HALCON丨HDevelop常用工具之模板匹配----基于形状、基于描述、基于互相关、可变形

在工业应用中,定位是大多数应用场景必不可少的环节。通过定位,我们可以对设备作业位置或区域进行调整,如打标、切割、机械手引导等应用。除此之外,我们还可以对被测物进行定位,根据定位数据缩小检测区域以达到提高检测速度和降低误检的目的。我们一般采用模板匹配的方式对被测物进行定位。HALCON为我们提供了基于形状、基于互相关、基于描述符以及可变形的模板匹配。

以基于形状的模板匹配为例,为大家介绍如何通过HDevelop插件实现二维图像的匹配定位。

基于形状的模板匹配

在开始之前先让我们了解一下什么是基于形状的模板匹配。形状是事物或物质的一种存在或表现形式,如长方形、正方形等。在图像中,形状是一种对边缘或区域的描述方式。HALCON基于形状的匹配是一种通过图像边缘进行被测物识别和定位的模式识别算法。该算法对光照的变化有很好的鲁棒性且处理速度快,是工业视觉解决方案中常用的定位手段。

本次使用的图像位于“%HALCONIMAGES%\board”

▎创建模板

打开模板匹配插件→加载图像→选择模板区域

HALCON丨HDevelop常用工具之模板匹配----基于形状、基于描述、基于互相关、可变形_第1张图片

▎调整模板常数

// 标准模板参数

ROI选择完毕,点击“参数”选项卡,此时插件已经为我们自动配置了匹配参数。图像窗口中红色部分为用于匹配的模板边缘。

 

HALCON丨HDevelop常用工具之模板匹配----基于形状、基于描述、基于互相关、可变形_第2张图片

HALCON采用滞后阈值算法进行边缘的提取,我们可以通过修改“对比度(低)”和“对比度(高)”调整边缘的完整性。在边缘的提取过程中对比度超过“对比度(高)”像素会被算法选为边缘点,对比度低于“对比度(低)”的像素将被算法视为背景,而在这两者之间的点将作为候选点,如果这些点与已选边缘点相连则他们也会被选出。一般我们会先调整“对比度(高)”使得大部分边缘可见,再调整“对比度(低)”去除对比度较低噪声。最后调整“最小组件尺寸”去除较小的噪声边缘。

HALCON丨HDevelop常用工具之模板匹配----基于形状、基于描述、基于互相关、可变形_第3张图片

对比度“高”=32

HALCON丨HDevelop常用工具之模板匹配----基于形状、基于描述、基于互相关、可变形_第4张图片

对比度“高”=40

HALCON丨HDevelop常用工具之模板匹配----基于形状、基于描述、基于互相关、可变形_第5张图片

对比度“底”=21

HALCON丨HDevelop常用工具之模板匹配----基于形状、基于描述、基于互相关、可变形_第6张图片

对比度“底”=19

HALCON丨HDevelop常用工具之模板匹配----基于形状、基于描述、基于互相关、可变形_第7张图片

最小组件尺寸=4

HALCON丨HDevelop常用工具之模板匹配----基于形状、基于描述、基于互相关、可变形_第8张图片

最小组件尺寸=8

金字塔是图像处理提速的重要手段,HALCON的模板匹配算法也采用了这种方式,在参数中我们可以手动设置或使用插件进行自动配置,对于对实时性要求较高的应用场景,建议大家把金子塔级别调整到3或更高。设置好参数后,请大家到“创建”选项卡中,通过拖拽该选项卡下的金子塔级别滑块,查看各级金字塔图像中的边缘检测情况。一般我们认为,在整个模板区域内,边缘像素点达到二十个上才为有效模板边缘。

HALCON丨HDevelop常用工具之模板匹配----基于形状、基于描述、基于互相关、可变形_第9张图片

我需要根据被测物可能出现的角度变化来设置“起始角度”和“角度范围”。它们会影响模板创建时间、模板数据结构尺寸以及匹配时间。“角度范围”越小,创建模板和模板匹配时间越短。

缩放参数用于指定匹配过程中模板的缩放范围。设置该参数后,在匹配过程中,模板会先根据缩放范围和步长在行列方向进行缩放,而后再进行模板位置和角度的匹配计算。该参数默认为1,即不进行任何缩放变换。

 

// 高级模板参数

HALCON丨HDevelop常用工具之模板匹配----基于形状、基于描述、基于互相关、可变形_第10张图片

角度步长:

插件会根据模板数据自动计算,步长越大处理速度越快,但匹配所获得的角度数据精度越低。此参数一般选择大于等自动配置的值。

缩放步长:

插件会根据模板数据自动计算,步长越大处理速度越快,匹配所获得的缩放系数精度越低。此参数一般选择大于等自动配置的值。

度  量:

指定模板边缘极性和与匹配对象边缘极性(像素灰度从暗到亮或从亮到暗)的关系。

1.use_polarity

1.(根据边缘极性进行匹配)  

2.ignore_global_polarity

2.(忽略全局边缘极性变化)

3.ignore_local_polarity

3.(忽略局部边缘极性变化)

HALCON丨HDevelop常用工具之模板匹配----基于形状、基于描述、基于互相关、可变形_第11张图片

 

▎测试

 

点击应用选项卡中的“加载…”按钮,并选择测试图像,点击“检测所有”按钮,图像窗口中绿色边缘为搜索到的模板。

HALCON丨HDevelop常用工具之模板匹配----基于形状、基于描述、基于互相关、可变形_第12张图片

▎生成代码

 

在“代码生成”选项卡下,点击“插入代码”按钮,即可将我们刚才的设置生成HDevelop脚本并插入到代码窗口中。

HALCON丨HDevelop常用工具之模板匹配----基于形状、基于描述、基于互相关、可变形_第13张图片

默认生成代码分为两个部分

// 创建模板

HALCON丨HDevelop常用工具之模板匹配----基于形状、基于描述、基于互相关、可变形_第14张图片

// 模板匹配

HALCON丨HDevelop常用工具之模板匹配----基于形状、基于描述、基于互相关、可变形_第15张图片

 

你可能感兴趣的:(halcon,计算机,计算机视觉)