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

day 32 学习笔记

文章目录

  • 前言
  • 一、模版匹配的概念
  • 二、模版匹配方法


前言

  • 通过今天的学习,我掌握了OpenCV中有关模版匹配和模版匹配方法的相关原理和操作

一、模版匹配的概念

  • 模板匹配就是用模板图(通常是一个小图)在目标图像(通常是一个比模板图大的图片)中不断的滑动比较,通过某种比较方法来判断是否匹配成功,找到模板图所在的位置。

需要注意的是:

  • 模版匹配不会进行边缘填充。

  • 类似于卷积,滑动比较,挨个比较象素。

  • 返回结果大小是:目标图大小-模板图大小-1。

二、模版匹配方法

res=cv2.matchTemplate(image, templ, method)

  • img:指原图像,一个灰度图或者彩色图
  • temp:模版图像,要求与原图像具有相同的通道数
  • method:匹配方法,包括以下几种
    • cv2.TM_CCOEFF
    • cv2.TM_CCOEFF_NORMED
    • cv2.TM_CCORR
    • cv2.TM_CCORR_NORMED
    • cv2.TM_SQDIFF
    • cv2.TM_SQDIFF_NORMED

实际上共有三种方法,只不过每一种方法对应一种归一化方法

  • 该方法的返回值是一个矩阵,矩阵中的每个元素代表原图像对应位置与模版图的匹配相似度
  • 可以想象成将将原图分为大小与模版相同的许多小块,每一个小块对应着一个索引坐标,而res则每一个小块上的匹配得分
# 读取图像
img = cv.imread(r"D:\AI\笔记课件\images\game.png")
temp = cv.imread(r"D:\AI\笔记课件\images\temp.png")
# 灰度化处理
# 这里的灰度化处理需要根据实际匹配的图像来选择是否要使用
img_gray = cv.cvtColor(img,cv.COLOR_BGR2GRAY)
temp_gray = cv.cvtColor(temp,cv.COLOR_BGR2GRAY)
# 模版匹配
res = cv.matchTemplate(img_gray,temp_gray,cv.TM_CCOEFF_NORMED)
# 设置阈值,找到符合条件的坐标
threshold = 0.8
loc = np.where(res>=threshold)
# 获取模版宽高
h,w = temp.shape[:2]
# print(res[loc[0][0],loc[1][0]])
# 解包获取坐标
for i in zip(*loc): #y在前,x在后 (y,x)left_point = i[::-1]right_point = (i[1] + w,i[0] + h)# 绘制匹配区域cv.rectangle(img,left_point,right_point,(0,255,0),2,cv.LINE_AA)
# 显示图像
cv.imshow('img',img)
cv.waitKey(0)
cv.destroyAllWindows()

tips:注意这里使用到了where函数,该函数是使用行优先进行遍历和返回的,因此最后的结果中y坐标在前,x坐标在后


THE END

相关文章:

  • 【前端】【业务场景】【面试】在前端开发中,如何优化 SVG(可缩放矢量图形)的性能,特别是在处理复杂图形和动画时
  • ZooKeeper配置优化秘籍:核心参数说明与性能优化
  • 多维时序 | LightGBM多变量时序预测(Matlab完整源码和数据,适合基础小白研究)
  • 最高支持高速L3商用,华为发布ADS 4智驾系统
  • AT45DB161串行FLASH操作
  • 晶振不集成到芯片内部的原因分析
  • Ubuntu中选择Python虚拟环境
  • 考拉悠然:科技与匠心,以烟草虫情AI监测系统共筑品质未来
  • git tag使用场景和实践
  • BDO分厂开展地沟“大清肠”工作
  • 交通运输行业综合智慧监管平台:商贸物流的安全与效率引擎
  • G3学习笔记
  • ejs列表渲染,条件渲染,在node中使用ejs
  • 【C++入门:类和对象】[3]
  • JS 应用算法逆向三重断点调试调用堆栈BP 插件发包安全结合
  • java中final以及static的作用
  • Linux并发与竞争:从生活例子到内核实战
  • 从对数变换到深度框架:逻辑回归与交叉熵的数学原理及PyTorch实战
  • 高企复审奖补!2025年合肥市高新技术企业重新认定奖励补贴政策及申报条件
  • 【AI论文】ToolRL:奖励是工具学习所需的一切
  • 中国驻英国大使郑泽光:中国需要世界,世界也需要中国
  • 巴基斯坦召开国家安全委员会紧急会议,应对印方连环举措
  • 大理洱源4.8级地震致442户房屋受损,无人员伤亡
  • 联手华为猛攻主流市场,上汽集团总裁:上汽不做生态孤岛
  • 秦洪看盘|平淡走势中或将孕育主旋律
  • 教培机构向学员提供盗版教材,法院:应承担著作权侵权责任