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

网站创意设计公司网站建设ppt简介

网站创意设计公司,网站建设ppt简介,宁波咨询网站设计,引流平台有哪些文章目录 一、图像预处理18 模板匹配18.1模板匹配18.2 匹配方法18.2.1 平方差匹配18.2.2 归一化平方差匹配18.2.3 相关匹配18.2.4 归一化相关匹配18.2.5 相关系数匹配18.2.6 归一化相关系数匹配 18.3 绘制轮廓18.4案例 一、图像预处理 18 模板匹配 18.1模板匹配 模板匹配就是…

文章目录

  • 一、图像预处理
    • 18 模板匹配
      • 18.1模板匹配
      • 18.2 匹配方法
        • 18.2.1 平方差匹配
        • 18.2.2 归一化平方差匹配
        • 18.2.3 相关匹配
        • 18.2.4 归一化相关匹配
        • 18.2.5 相关系数匹配
        • 18.2.6 归一化相关系数匹配
      • 18.3 绘制轮廓
      • 18.4案例

一、图像预处理

18 模板匹配

18.1模板匹配

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

  • 不会有边缘填充。

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

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

    在这里插入图片描述

18.2 匹配方法

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

  • image:原图像,这是一个灰度图像或彩色图像(在这种情况下,匹配将在每个通道上独立进行)。

  • templ:模板图像,也是灰度图像或与原图像相同通道数的彩色图像。

  • method:匹配方法,可以是以下之一:

    • cv2.TM_CCOEFF
    • cv2.TM_CCOEFF_NORMED
    • cv2.TM_CCORR
    • cv2.TM_CCORR_NORMED
    • cv2.TM_SQDIFF
    • cv2.TM_SQDIFF_NORMED
    • 这些方法决定了如何度量模板图像与原图像子窗口之间的相似度。
  • 返回值res

    函数在完成图像模板匹配后返回一个结果矩阵,这个矩阵的大小与原图像相同。矩阵的每个元素表示原图像中相应位置与模板图像匹配的相似度。

    匹配方法不同,返回矩阵的值的含义也会有所区别。以下是几种常用的匹配方法及其返回值含义:

    1. cv2.TM_SQDIFFcv2.TM_SQDIFF_NORMED

      返回值越接近0,表示匹配程度越好。最小值对应的最佳匹配位置。

    2. cv2.TM_CCORRcv2.TM_CCORR_NORMED

      返回值越大,表示匹配程度越好。最大值对应的最佳匹配位置。

    3. cv2.TM_CCOEFFcv2.TM_CCOEFF_NORMED

      返回值越大,表示匹配程度越好。最大值对应的最佳匹配位置。

18.2.1 平方差匹配

cv2.TM_SQDIFF

以模板图与目标图所对应的像素值使用平方差公式来计算,其结果越小,代表匹配程度越高,计算过程举例如下。

注意:模板匹配过程皆不需要边缘填充,直接从目标图像的左上角开始计算。

在这里插入图片描述

18.2.2 归一化平方差匹配

cv2.TM_SQDIFF_NORMED

在基础方法(平方差)上除以归一化公式(模板图像素点平方之和*匹配区域平方之和 再开根号)

18.2.3 相关匹配

cv2.TM_CCORR

使用对应像素的乘积进行匹配,乘积的结果越大其匹配程度越高,计算过程举例如下。

在这里插入图片描述

18.2.4 归一化相关匹配

cv2.TM_CCORR_NORMED

三者的归一化方法类似,都是在基础方法(平方差)上除以归一化公式(模板图像素点平方之和*匹配区域平方之和 再开根号)

18.2.5 相关系数匹配

cv2.TM_CCOEFF

需要先计算模板与目标图像的均值,然后通过每个像素与均值之间的差的乘积再求和来表示其匹配程度,1表示完美的匹配,-1表示最差的匹配,计算过程举例如下。

在这里插入图片描述

18.2.6 归一化相关系数匹配

cv2.TM_CCOEFF_NORMED

将相关系数匹配的结果统一到0到1之间,值越接近1代表匹配程度越高,计算过程举例如下。

在这里插入图片描述

18.3 绘制轮廓

找的目标图像中匹配程度最高的点,我们可以设定一个匹配阈值来筛选出多个匹配程度高的区域。

  • 语法:根据匹配方法返回的 array(匹配结果矩阵)
    • loc=np.where(array > 0.8)
      • 筛选出匹配值大于0.8的点
    • zip(*loc):解包操作
      • *loc :把 loc 元组解包成多个一维数组
      • zip(*loc) :则是把这些一维数组中对应位置的元素组合成元组,返回迭代器
x=list([[1,2,3,4,3],[23,4,2,4,2]])
print(list(zip(*x)))#[(1, 23), (2, 4), (3, 2), (4, 4), (3, 2)]

18.4案例

# 读图
img = cv.imread('./images/game.png')  # 面板图
img2 = cv.imread('./images/temp.png')  # 匹配图
# 转为灰度图
gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
gray2 = cv.cvtColor(img2, cv.COLOR_BGR2GRAY)
# 进行 归一化相关系数匹配 ----返回(匹配的区域的左上角坐标)组成的矩阵
res = cv.matchTemplate(gray, gray2, cv.TM_CCOEFF_NORMED)
# 设置阈值,使用np.where()获取符合条件的索引
threshold = 0.8
loc = np.where(res >= threshold)
# 解包,拿到左上角坐标
h,w = img2.shape[:2]
for pt in zip(*loc):  # pt =>(y,x) 详细解释在后面left_upper = pt[::-1]  # 翻转为(x,y)right_lower = (pt[1] + w, pt[0] + h)# 根据左上角和w,h,框出匹配区域cv.rectangle(img,left_upper,right_lower,(0,0,255),2,cv.LINE_AA)cv.imshow('img',img)
cv.waitKey(0)
cv.destroyAllWindows()
  • 为什么要翻转坐标pt :

    • 在图像处理中,以图片的左上角为原点,水平向右为x轴正方向,垂直向下为y轴正方向
    • 在np数组中,行和列也是从左上角开始计算
      • 所以x轴的长短对应列的长度,y轴的长短对应行的长度
    • np.where返回值是([行坐标集索引],[列坐标集索引]),因为先遍历行,后遍历列
      • 所以返回的结果是y坐标在前,x轴坐标在后
  • 在np数组中,行和列也是从左上角开始计算

    • 所以x轴的长短对应列的长度,y轴的长短对应行的长度
  • np.where返回值是([行坐标集索引],[列坐标集索引]),因为先遍历行,后遍历列

    • 所以返回的结果是y坐标在前,x轴坐标在后

文章转载自:

http://M3oZvYYw.kjyqr.cn
http://8Xl7qj9E.kjyqr.cn
http://D2t3Wn7N.kjyqr.cn
http://7GNkzndn.kjyqr.cn
http://17lZrgZV.kjyqr.cn
http://8aYMyIIZ.kjyqr.cn
http://1eUbS5Eb.kjyqr.cn
http://4PeunRas.kjyqr.cn
http://VXeUcNzD.kjyqr.cn
http://R12AARHj.kjyqr.cn
http://xQHHndpq.kjyqr.cn
http://QvTpvE3D.kjyqr.cn
http://DaHrjymy.kjyqr.cn
http://1fzIINSt.kjyqr.cn
http://RgmVXCic.kjyqr.cn
http://Hq8E3Atz.kjyqr.cn
http://E5SVybMy.kjyqr.cn
http://2Dlg0CwR.kjyqr.cn
http://3IegBz9p.kjyqr.cn
http://GRm2RFfC.kjyqr.cn
http://1uulOuBD.kjyqr.cn
http://qy2ZZn7x.kjyqr.cn
http://DMoQVeJW.kjyqr.cn
http://u0UZVqeN.kjyqr.cn
http://fvmtmAWL.kjyqr.cn
http://VfPamB4X.kjyqr.cn
http://xq0SLXQt.kjyqr.cn
http://NKb1vVee.kjyqr.cn
http://f5DJvbm7.kjyqr.cn
http://DTKV5Icb.kjyqr.cn
http://www.dtcms.com/wzjs/610465.html

相关文章:

  • 做一个公司的门户网站多少钱福州科技网站建设怎么做
  • 做平台网站多少钱小米云网站开发
  • 在哪个网站做视频好赚钱整容网站模板
  • 个人兼职网站建设网站服务器管理系统
  • 有没有一些帮做名片的网站公益网站怎么做
  • 新乡彩票网站建设wordpress忘记用户名密码
  • 青岛营销型网站建设扫描网站漏洞的软件
  • 旧笔记本 做网站局域网内建网站
  • 网站流量的作用网站广告链接怎么做
  • 外贸建站网站公司田园官方网站建设
  • 网站建设dns解析设置seo线下培训班
  • 怎么修复网站死链格子网wordpress主题
  • 把网站放到服务器上网站信息系统建设
  • 湖南自考网站建设与管理长春高端网站建设
  • 上海网站设计成功柚v米科技百度营销官网
  • 网站套程序邢台企业网站建设
  • 自己做短视频网站机关单位网站建设管理制度
  • 广州从化网站建设wordpress研究
  • jquery网站后台模板网站设计论文前言怎么写
  • 北流网站制作南京做代账会计在哪个网站上找
  • 网站维护好的方法公众号平台官网网页版
  • 潍坊小企业网站建设泉州网站制作企业
  • 网站解析加速Wordpress如何加联盟广告
  • 最新的网站开发技术一套金蝶erp系统多少钱
  • 成都网站建设新闻网站建设的功能定位
  • 宁波网站建设网站开发哪家网站建设公司好
  • 那些做环保网站的好处常州市城乡建设局网站
  • 国内好的设计网站湖北省住房和建设厅网站
  • 专业设计网站有哪些wordpress两个侧边栏
  • 鱼台做网站多少钱提升网站转化率