当前位置: 首页> 汽车> 新车 > 企业名录搜索软件app_编程手机软件_百度里面的站长工具怎么取消_大连头条热点新闻

企业名录搜索软件app_编程手机软件_百度里面的站长工具怎么取消_大连头条热点新闻

时间:2025/8/28 21:22:09来源:https://blog.csdn.net/2302_77067662/article/details/147489383 浏览次数: 0次
企业名录搜索软件app_编程手机软件_百度里面的站长工具怎么取消_大连头条热点新闻

文章目录

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


前言

  • 通过今天的学习,我掌握了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

关键字:企业名录搜索软件app_编程手机软件_百度里面的站长工具怎么取消_大连头条热点新闻

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: