opencv学习(三十八)之图像模板匹配matchTemplate()

本文介绍了OpenCV中的图像模板匹配方法,包括模板匹配原理、匹配度量方法及OpenCV提供的API。通过matchTemplate()函数和minMaxLoc()函数实现匹配过程,并探讨不同匹配方法的适用场景。
摘要由CSDN通过智能技术生成
1.概述

利用计算机视觉技术对图像进行处理,通常会用到图像的匹配,图像匹配是指图像之间的比较,得到不同图像之间的相似度,在机器识别的过程中把不同传感器或同一传感器在不同时间、不同成像条件下对同一景物获得的两幅或多幅图像在空间上对准,或根据已知模式到另一幅图中寻找对应的模式。匹配方法大体分为基于灰度和基于特征两类,其中基于特征的配准方法研究较多。
基于灰度的模板匹配方法原理简单且在光照良好的条件下可以得到比较满意的匹配结果,故在本方案中根据输入的模板图像从采集图像中搜寻可进一步匹配的目标可采用此方法。
基于特征的匹配方法要先提取各个图像中的特征再完成特征间的匹配,通过匹配的特征建立图像间的映射关系求出匹配图像。一般而言提取特征点相对容易,能对图像间的分辨率、旋转、平移、光照变化等保持不变,故在利用模板匹配得到抓取的图像后进一步进行特征匹配。
基于特征匹配的方法有很多种如:FAST、HARRIS、SIFT、SURF、SUSAN等。其中SIFT算法由D.G.Lowe于1999年提出,2004年完善总结。SIFT是一种鲁棒性好的尺度不变特征描述方法,但SIFT算法计算数据量大、时间复杂度高、算法耗时长。
其中OpenCV也提供了很多图像匹配的方法,这篇文章将首先介绍一下基于图像模板进行图像匹配

2.模板匹配原理

模板匹配是通过模板在采集到的原图像进行滑动寻找与模板图像相似的目标。模板匹配不是基于直方图的方式,而是基于图像的灰度匹配。其基本原理是逐像素的把一个以一定大小的实时图像窗口的灰度矩阵与参考图像的所有可能的串口灰度阵列,按照某种相似度量方法进行搜索比较的匹配方法,从理论上说就是采用图像相关技术。
这里写图片描述
图1模板选取
这里写图片描述
图2模板匹配
如图1所示,为了利用模板匹配从源图像中得到匹配区域,从源图像选取该区域作为进行匹配的模板。模板从源图像左上角开始每次以一个像素点为单位进行移动,每到达一个位置,就会计算模板矩阵和源图像当前位置矩阵匹配的“好”“坏”程度即两个矩阵的相似程度,如图2所示。
模板滑动与源图像匹配过程中,将模板和当前模板覆盖区域的矩阵的计算结果存储在矩阵(R)中。R中每一个位置(x, y)都包含了匹配矩阵的计算结果。在OpenCV中提供了6种匹配度量方法。
(1).平方差匹配法CV_TM_SQDIFF
这里写图片描述
(2)归一化平方差匹配法CV_TM_SQDIFF_NORMED
这里写图片描述

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值