OpenCV+python:模板匹配

本文介绍了模板匹配的基本概念和原理,通过使用OpenCV库和Python,详细讲解如何在图像中查找与模板图像最匹配的区域。内容包括模板匹配的步骤、度量计算以及OpenCV中的matchTemplate函数应用,通过实例展示了如何确定最佳匹配位置。
摘要由CSDN通过智能技术生成

1,模板匹配的概念及原理
模板匹配是一项在一幅图像中寻找与另一幅模板图像最匹配(相似)部分的技术.

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

我们的目标是检测最匹配的区域:
在这里插入图片描述
为了确定匹配区域, 我们不得不滑动模板图像和原图像进行比较:
在这里插入图片描述
通过滑动, 我们的意思是图像块一次移动一个像素 (从左往右,从上往下). 在每一个位置, 都进行一次度量计算来表明它是 “好” 或 “坏” 地与那个位置匹配 (或者说块图像和原图像的特定区域有多么相似)
对于 T 覆盖在 I 上的每个位置,你把度量值 保存 到 结果图像矩阵 R中. 在 R 中的每个位置 (x,y) 都包含匹配度量值:
在这里插入图片描述上图就是 TM_CCORR_NORMED 方法处理后的结果图像 R . 最白的位置代表最高的匹配. 正如您所见, 红色椭圆框住的位置很可能是结果图像矩阵中的最大数值, 所以这个区域 (以这个点为顶点,长宽和模板图像一样大小的矩阵) 被认为是匹配的.
实际上, 我们使用函数 minMaxLoc 来定位在矩阵 R 中的最大值点 (或者最小值, 根据函数输入的匹配参数) .
OpenCV通过函数 matchTemplate 实现了模板匹配算法. 可用的方法有6个:

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值