1. 什么是模板匹配

模板匹配,就是在整个图像区域发现与给定子图像匹配的小块区域,需要模板图像T和待检测图像-源图像S。
       工作方法:在待检测的图像上,从左到右,从上倒下计算模板图像与重叠子图像匹配度,匹配度越大,两者相同的可能性越大。

2. 实现函数-cv2.matchTemplate()、cv2.minMaxLoc()

2.1 cv2.matchTemplate()-模板匹配

  • 参数如下:cv2.matchTemplate(image, templ, method, result=None, mask=None)
  • 参数说明: 1. image 待检测图像 2. templ 模板图像 3. 比较方法,有以下几种:
  • CV_TM_SQDIFF 平方差匹配法:该方法采用平方差来进行匹配;最好的匹配值为0;匹配越差,匹配值越大。
    CV_TM_CCORR 相关匹配法:该方法采用乘法操作;数值越大表明匹配程度越好。
    CV_TM_CCOEFF 相关系数匹配法:1表示完美的匹配;-1表示最差的匹配。
    CV_TM_SQDIFF_NORMED 归一化平方差匹配法

    CV_TM_CCORR_NORMED 归一化相关匹配法

    CV_TM_CCOEFF_NORMED 归一化相关系数匹配法

  • 关于匹配方法,使用不同的方法产生的结果的意义可能不太一样,有些返回的值越大表示匹配程度越好,而有些方法返回的值越小表示匹配程度越好。

2.2 cv2.minMaxLoc()-获取匹配后的结果

  • 参数:cv2.matchTemplate()的返回值
  • 返回值:求出匹配结果的最小值,最大值,并得到最大值,最小值的索引

3. 实现代码:

import cv2 as cv
import numpy as np# 模板匹配,就是在整个图像区域发现与给定子图像匹配的小块区域,
# 需要模板图像T和待检测图像-源图像S
# 工作方法:在待检测的图像上,从左到右,从上倒下计算模板图像与重叠子图像匹配度,
# 匹配度越大,两者相同的可能性越大。
def template_demo():tpl = cv.imread("../images/rabbit.jpg")target = cv.imread("../images/CrystalLiu22.jpg")# cv.imshow("template", tpl)# cv.imshow("target", target)methods = [cv.TM_SQDIFF_NORMED, cv.TM_CCORR_NORMED, cv.TM_CCOEFF_NORMED]  # 三种模板匹配方法th, tw = tpl.shape[:2]       # 获取模板的高、宽for md in methods:print(md)result = cv.matchTemplate(target, tpl, md)  # 得到匹配结果min_val, max_val, min_loc, max_loc = cv.minMaxLoc(result) # if md == cv.TM_SQDIFF_NORMED:  # cv.TM_SQDIFF_NORMED最小时最相似,其他最大时最相似tl = min_locelse:tl = max_locbr = (tl[0] + tw, tl[1] + th)cv.rectangle(target, tl, br, (0, 0, 255), 2)  # tl为左上角坐标,br为右下角坐标,从而画出矩形cv.imshow("match-"+np.str(md), target)if __name__ == '__main__':template_demo()cv.waitKey(0) # 等有键输入或者1000ms后自动将窗口消除,0表示只用键输入结束窗口cv.destroyAllWindows()  # 关闭所有窗口

13. 模板匹配-cv2.matchTemplate()、cv2.minMaxLoc()相关推荐

  1. 【OpenCV3】模板匹配——cv::matchTemplate()详解

    模板匹配通常被用于目标检测.相似度分析中,opencv2和opencv3中提供了一个专门用于模板匹配的函数--cv::matchTemplate(),下面就对该函数进行详细的介绍. 先从一个实际的例子 ...

  2. Opencv(C++)笔记--模板匹配cv::matchTemplate()和最值计算cv::minMaxLoc()

    目录 1--模板匹配 1-1--OpenCV API 1-2--六种匹配方法 1-3--代码实例 2--最值计算 2-1--OpenCV API 1--模板匹配 使用模板图像与原图像进行匹配,Open ...

  3. opencv java match_OpenCV模板匹配函数matchTemplate详解

    参考文档:http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/imgproc/histograms/template_matchin ...

  4. OpenCV3学习(8.3)模板匹配函数matchTemplate详解

    opencv实现了一部分通过模板与目标图像进行寻找最佳匹配的方面matchTemplat();这个方法网上有很多讲解,基本思想是将模板图像在目标图像上滑动逐一对比,通过统计的基本方法进行匹配,比如方差 ...

  5. OpenCV笔记:模板匹配 cv2.matchTemplate()、cv2.minMaxLoc() 与 绘制矩形 cv2.rectangle() 方法介绍

    导读 模板匹配是用来在一副大图中搜寻查找模版图像位置的方法.绘制矩形是用来将模版图像的匹配结果展示出来的方法. 模板匹配实现简单(2~3行代码),计算效率高,不需要执行阈值化.边缘检测等操作来生成二值 ...

  6. OpenCV-Python:模板匹配

    啥叫模板匹配 模板匹配就是在大图中找小图,也就说在一幅图像中寻找另一幅模板图像的位置: OpenCV使用 cv2.matchTemplate() 实现模板匹配. import cv2 import n ...

  7. OpenCV中的图像处理 —— 傅里叶变换+模板匹配

    OpenCV中的图像处理 -- 傅里叶变换+模板匹配 现在也在逐渐深入啦,希望跟大家一起进步越来越强 目录 OpenCV中的图像处理 -- 傅里叶变换+模板匹配 1. 傅里叶变换 1.1 Numpy实 ...

  8. OpenCV 第七章 模板匹配和图像分割

    一.模板匹配 定义:让模板图像在输入图像中滑动逐像素遍历整个图像进行比较,查找出与模板图像最匹配的部分. 单目标匹配 定义:输入图像中只存在一个可能匹配结果 基本格式如下: result = cv2. ...

  9. Python-OpenCV 笔记9 -- 模板匹配

    Python-OpenCV 笔记9 – 模板匹配 1.模板匹配:matchTemplate() 函数原型: matchTemplate(image, templ, method[, result[, ...

最新文章

  1. OWASP top 10 (2017) 学习笔记--失效的身份验证
  2. C++继承与派生(原理归纳)
  3. 【深度学习】陶大程等人编写!最新41页深度学习理论综述
  4. 【Qt】数据库实战之QSqlTableModel模型
  5. sql语句中`和'两个符号的区别
  6. 计算机公开课教学反思,语文公开课教学反思
  7. OpenXLSX 中文字段读取问题
  8. Django项目--登录判断装饰器
  9. 《javascript高级程序设计》读书笔记1
  10. ubuntu配置硬盘开机自动挂载
  11. P1273 有线电视网 树形dp
  12. 剑指offer面试题[8]-旋转数组的最小数字
  13. ACL'22 | 一文解读复旦黄萱菁、邱锡鹏等老师NLP实验室的12篇长文
  14. Microsoft Remote Desktop 10 - 微软官方免费远程桌面控制 Windows 的软件 APP
  15. Hbase GC调优原理分析
  16. 想要做网页游戏怎么办 ?PixiJs 篇(四)
  17. Android SDK 目录和作用的分析详解
  18. 基于NRF24L01的CAN数据透传
  19. 关于RNN理论和实践的一些总结
  20. 安装MS SQL Server2000“以前的某个程序安装已在安装计算机上创建挂起的文件操作”的解决办法

热门文章

  1. polsarpro滤波后没有bmp文件_win10系统右键新建菜单中没有bmp如何解决
  2. Linux创建和删除目录
  3. jsp中c标签的详细使用
  4. python中unicode函数的包_Python unicodeutil包_程序模块 - PyPI - Python中文网
  5. jsp及Servlet经典面试题以及答案
  6. Linux-Centos7防火墙配置
  7. 内存管理(15)——UI(20)——DeleteObject
  8. cat3速度 rj45_常用RJ45网线的规格及型号总结
  9. 推荐5款Windows桌面效率工具
  10. oppo禁用android系统通知栏,OPPO全机型手机去除状态栏ROOT警告-安卓刷机教程