ApolloVision视觉之旅(2):基于形状轮廓的1对N,N对N的机器视觉模板匹配的快速实现

在机器视觉领域,最常见的功能莫过于形状匹配定位,无论是在对工件的有无判定、正反判定、工件的分类还是在工件尺寸的定位测量等需求均有非常广泛的应用。本文中我们将结合ApolloVision对此进行深入的讲解。

算法原理扫盲

基于形状的匹配算法,通常的理解是针对图像模板(从原图中截取的一部分)进行一个抽象,比如先对图像模板的分辨率进行调整,形成多个层级的图像元素(这一过程通常称为图像金字塔,主要目的是为了提高匹配速度,但同时也会对匹配精度造成对应的影响),然后对不同层级的图像元素进行边缘的提取(通常采用Canny、Sobel、laplace、Scharr等算法计算,这里同样会结合其他的参数进行微调,比如对图像模板中明暗极性、杂斑点的考虑,以及对散点断点的轮廓拟合),然后将该结果作为我们所称作的“模板”保存;在进行匹配操作时,将目标图(从相机中采集或本地加载图像获取)同样进行多层级分辨率调整以及边缘的提取,然后再将先前准备好的模板拿到目标图中进行比对,将处理完成的结果按照相似度的从高到低的顺序进行排列,最后结合用户指定的输出参数(比如最低匹配分数,期望匹配目标的个数等等)进行输出得到结果。

软件的实现

在ApolloVision中,我们需要先拿到一张原始图像来建立模板(在ApolloVision当前版本(20200428)中已内置了海康威视的相机SDK),如果手头上没有该相机,也可以使用本地任意一张图像进行相关的操作(默认使用黑白图片,彩色图像将自动转换为单通道的灰度图),本文中将使用海康相机(型号:MV-CA050-10GM黑白相机)进行讲解。

打开ApolloVision视觉软件,我们先鼠标点击“工作流程1”(表示我们将在工作流程1中添加功能模块),这里我们先添加相机图像以及形状匹配定位:

 双击“相机图像”进入设置框:

选择相机,并设置触发模式、增益和曝光时间,这里我们将默认,点击“执行”即可预览到画面: 

 确定保存,接着双击打开“形状匹配定位”,在图像来源中选择刚才配置好的模块“1 相机图像”:

 然后在运行参数中设定我们需要的大致参数,这里我们均使用默认参数(当最大匹配个数为0时表示尽可能多的寻找):

 在模板特征选项卡中我们来对模板进行创建(下图为点击了右侧工具栏中“绘制矩形区域”效果图):

 在创建绘制了模板区域后,我们可以点击“生成轮廓预览”来查阅轮廓的线条,如果存在不需要的区域,可以使用“绘制屏蔽区域”中的圆形区域进行覆盖(可以创建多个屏蔽区域,最后软件将取所有区域合成一个区域),如果需要的匹配点不是模板区域的中心点时,也可以使用“自定义匹配点”进行自定义(自定义匹配点指自定义匹配工具圆的圆心位置,即下图中粉色圆圆心位置)。

 点击确定保存模板即可,同样的流程可以创建多个形状模板进行多目标匹配:

 点击执行按钮可以获取得到图像结果:

 在右下角的模块信息框中可以获取得到测试的结果:

匹配的结果可以通过脚本工具进行一系列的计算,或者使用标定工具进行物理坐标系的转换,再通过通讯工具,例如TCP通信,以JSON的标准格式进行输出。

***********************************************************************************************************************************************

ApolloVision最新版下载地址(网盘有交流群号):

(点击跳转至首页文章,见文章最底部下载链接)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值