opencv 模板匹配_详细剖析模板匹配

本文详细介绍了OpenCV中的模板匹配技术,包括基本概念、匹配原理和六种不同的匹配算法,如TM_SQDIFF、TM_CCORR等。通过匹配度量值找到最佳匹配区域,并展示了使用minMaxLoc函数定位匹配点的过程。最后提到了相关API cv::matchTemplate的使用,并引用了相关博主的文章作为参考。
摘要由CSDN通过智能技术生成

点击上方“新机器视觉”,选择加"星标"或“置顶”

重磅干货,第一时间送达ca23cd8c45248059aad0474b08e539f3.png

模板匹配介绍

我们需要2幅图像:

原图像 (I): 在这幅图像里,我们希望找到一块和模板匹配的区域

模板 (T): 将和原图像比照的图像块

acf8518d0f6d22ee29fab509a646f028.png

  • 模板匹配就是在整个图像区域发现与给定子图像匹配的小块区域。

  • 所以模板匹配首先需要一个模板图像T(给定的子图像)

  • 另外需要一个待检测的图像-源图像S

  • 工作方法,在带检测图像上,从左到右,从上向下计算模板图像与重叠子图像的匹配度,匹配程度越大,两者相同的可能性越大。

模板匹配原理

我们的目标是检测最匹配模板的原图像的区域:

4dd24bfa8468be2e92afd0f43b9f052c.png

为了确定匹配模板区域, 我们不得不滑动模板图像和原图像进行比较 :

bb9e4251227e0f44fcd2cec8b1c50378.png

对于 模板(T) 覆盖在 原图像 (I) 上的每个位置,你把度量值保存 到 结果图像矩阵 ( R ) 中. 在 R 中的每个位置 (x,y) 都包含匹配度量值:

2ad4d83c3ff95f0211324c054dd44f0c.png

上图(右)就是 TM_CCORR_NORMED 方法处理后的结果图像 R . 最白的位置代表最高的匹配. 正如您所见, 黑色框住的位置很可能是结果图像矩阵中的最大数值, 所以这个区域 (以这个点为顶点,长宽和模板图像一样大小的矩阵) 被认为是匹配的.

实际上, 我们使用函数 minMaxLoc 来定

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值