当前位置: 首页 > article >正文

模板匹配及应用

模板匹配及应用

1)模板匹配

模板匹配是一项在一幅图像中寻找与另一幅模板图像最匹配(相似)部分的技术。模板匹配不是基于直方图的, 而是通过在

输入图像上滑动图像块(模板)同时比对相似度, 来对模板和输入图像进行匹配的一种方法。
在这里插入图片描述
应用:

①目标查找定位
②运动物体跟踪
③其他…

模板匹配—cv2.matchTemplate()

在这里插入图片描述
⚫ image: 待搜索图像(大图)
⚫ templ: 搜索模板, 需和原图一样的数据类型且尺寸不能大于源图像
⚫ result: 比较结果的映射图像, 其必须为单通道, 32位浮点型图像, 如果原图(待搜索图像)尺寸为W x H,

而templ尺寸为 w x h, 则result尺寸一定是(W-w+1)x(H-h+1)
⚫ method: 指定的匹配方法, 有如下6种:
cv2.TM_SQDIFF ------平方差匹配法(最好匹配0) cv2.TM_SQDIFF_NORMED ------归一化平方差匹配法(最好匹配0) cv2.TM_CCORR ------相关匹配法(最坏匹配0) cv2.TM_CCORR_NORMED ------归一化相关匹配法(最坏匹配0) cv2.TM_CCOEFF ------系数匹配法(最好匹配1) cv2.TM_CCOEFF_NORMED ------化相关系数匹配法(最好匹配1)

res = cv2 .matchTemplate (img,temp,CV2 .TM CCORR NORMED)
min_val, max_val, min_loc, max_loc = cv2 .minMaxLoc (res)

通常,随着从简单的测量(平方差)到更复杂的测量(相关系数),我们可获得越来越准确的匹配(同时也意味着越来越大的计

算代价). 最好的办法是对所有这些设置多做一些测试实验,以便为自己的应用选择同时兼顾速度和精度的最佳方案.

在这里插入图片描述

矩阵归一化—cv2.normalize()

在这里插入图片描述
⚫src: 输入原图像
⚫dst: 输出结果图像, 需要和原图一样的尺寸和类型
⚫alpha: 归一化后的最小值, 默认值1
⚫beta:归一化后的最大值, 默认值0
⚫norm_type: 归一化类型, 可选NORM_INF, NORM_L1, NORM_L2(默认)等
⚫dtype: 默认值-1, 此参数为负值时, 输出矩阵和src有同样类型
⚫mask: 可选的掩码操作

cv2.normalize(roihist,roihist,0,255,CV2.NORM_MINMAX)

normalize0)的作用是进行矩阵归一化。

寻找最值—cv2.minMaxLoc()
在这里插入图片描述
⚫src: 输入原图像, 单通道图像
⚫minVal: 返回最小值的指针, 若无需返回, 则设置0
⚫maxVal: 返回最大值的指针, 若无需返回, 则设置0
⚫minLoc: 返回最小位置的指针,若无需返回, 则设置0
⚫maxLoc:返回最大位置的指针,若无需返回, 则设置0
⚫mask: 可选的掩码操作

res = cv2 .matchTemplate (img ,temp,CV2 .TM CCORR NORMED)
min val, max val, min loc, max loc = cv2 .minMaxLoc(res)

minMaxLoc0)函数的作用是在数组中找到全局最小值和最大值。

在这里插入图片描述


http://www.kler.cn/a/7950.html

相关文章:

  • Spring——事务
  • Ceph 中PG与PGP的概述
  • 《Python网络安全项目实战》项目5 编写网站扫描程序
  • 如何进行产线高阶能耗数据的计算和可视化?
  • C++编程:利用环形缓冲区优化 TCP 发送流程,避免 Short Write 问题
  • 密码学的基本原理
  • SpringMvc中拦截器
  • 中国版ChatGPT即将来袭-国内版ChatGPT入口
  • Leetcode字符串的排列
  • Unity Animation -- 改进动画效果
  • Leetcode.559 N 叉树的最大深度
  • Debezium报错处理系列之五十七:Can‘t compare binlog filenames with different base names
  • C++从0到1实战
  • Vector - CAPL - CRC算法介绍(续)
  • Android 中封装优雅的 MediaPlayer 音频播放器,支持多个播放器
  • Ansys Zemax | 如何使用 Zernike 凹陷表面对全反射系统进行建模
  • html中开源的视频播放器插件有哪些以及官方网站和详细介绍说明
  • linux 共享内存 shmget
  • Day924.自动化测试 -系统重构实战
  • 【Linux】进程理解与学习-程序替换
  • 小白的git入门教程(二)
  • FreeRTOS学习(一)
  • 【分享】太阳能电池性能测试指标,太阳能电池IV测试软件系统
  • JAVAWeb01-BS架构简述、HTML
  • 人脸识别:使用Python和机器学习技术实现
  • 学校的地下网站(学校的地下网站1080P高清)