示例6:学习模板匹配工具代替斑点分析工具进行定位
示例5我们使用“斑点分析”工具进行定位,示例6将讲解用“特征模板匹配”工具代替“斑点分析”工具,实现同样的定位功能。
此示例在示例5的基础上操作执行。
运行效果
编辑工程文件
6.1:删除“斑点分析1”工具,添加“特征模板匹配1”工具
选择“斑点分析1”工具,右键单击,删除即可。
点击工具箱“定位工具”,选择“特征模板匹配”工具,双击添加,命名为:特征模板匹配1,如图所示:
6.2:设置模板
设置“特征模板匹配1”工具参数时,我们需要先设置一个模板,所谓模板,我们可以理解为一个识别检测目标的样本。
在“特征模板匹配1”工具的参数界面上点击“设置模板”,我们就可以在“图像信息显示窗口”点击鼠标左键,这时会出现模板区域编辑框,移动鼠标再次点击鼠标左键,会完成模板区域的选择,将编辑框拖动和编辑以选择合适的样本区域作为模板,点击“完成”即可,如图所示:
第二步“图像信息显示窗口”的篮色线框为编辑好的模板区域,将以此区域图像作为模板;
当鼠标移动到模板区域编辑框附近时为蓝色,这时如果鼠标不在编辑点上,可以通过鼠标拖拽改变模板区域编辑框的位置,如果在编辑点上,可以通过鼠标拖拽改变模板区域编辑框的形状,移开后模板区域编辑框为绿色,这时图形不受鼠标控制;
第三步点击完成后,“特征模板匹配1”工具会将设置的模板区域用“紫色”框显示,定位的位置用“+”指示并显示匹配的得分。
6.3:编辑模板
“设置模板”完成之后,我们需要根据实际需求对模板进行进一步编辑,点击“编辑模板”,对特征点进行选择,并调整实际检测目标可能旋转的角度范围和定位点位置,如图所示:
调整参数“最大特征数量”指定自动提取特征点的数量,点击“提取”按钮之后,软件会自动按照设置的特征点数量进行筛选提取,并以绿色的点在图像上显示,作为特征模板匹配时的关键特征点;
特征点是识别被测目标的重要信息,通过观察提取出的“绿色特征点”,使用“橡皮”擦去不需要的特征点,或通过画笔恢复橡皮擦除的特征点;
螺母是六角形的,内角为120度,根据螺母形状特征设置”角度范围“为0-65度,这样螺母随意摆放时可以通过旋转进行匹配定位,并输出角度信息;
“特征模板匹配”工具会自动根据匹配的特征点计算出中心位置,也就是定位点的位置,在左侧图像上以蓝点标记,如果自动计算的中心位置需要调整,可以点击“手动”按钮,然后在图像上点击理想的中心位置,这样特征模板匹配工具会根据此设置,自动调整每次检测的中心位置。
编辑模板完成后,可以点击“运行”按钮进行测试,“特征模板匹配1”工具会将实际匹配到的目标用紫色的线框包围,得分会显示在定位位置,如果模板匹配不理想,可以再次“设置模板”或“编辑模板”,也可以通过适当降低“得分”来适应现场环境的干扰变化,直至模板匹配理想后,点击“确认”,完成工具添加。
6.4:修改“循环1”工具参数
选择“循环1”工具,双击并设置参数值,调整参数以“{特征模版匹配1.Num[0]}”作为“循环1”工具的“终止值”,确定循环的执行次数,如图所示:
6.5: 修改“定位坐标1”参数
选择“定位坐标1”工具,双击并设置参数,“原点”修改为“{特征模版匹配1.Point[#循环1]}”,也就是在循环中依次以“特征模板匹配1”的每个定位点作为“定位坐标1”的原点,如图所示:
6.6:修改显示计数值 | 修改“显示字符1”工具参数
选择“显示字符1”工具,双击并设置参数,调整参数“格式”以“Number:{特征模板匹配1.Num[0]}”作为显示计数值,如图所示:
“格式”内容调整为:“Number:{特征模板匹配1.Num[0]}”
6.7显示运行结果 | 修改“立即显示3”工具
双击“立即显示3”,调整并设置参数值,以显示“特征模板匹配1”工具的输出结果。
“特征模板匹配”工具的默认显示结果是区域框、定位点和得分,如果要显示其他的输出结果需要通过“显示字符”工具完成。
6.8:运行工程文件
点击“运行”,查看运行结果。
拓展学习
1、通过添加不同的“特征模板匹配”工具,对不同的目标进行定位和分类。