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

可信网站标志wordpress电商ar

可信网站标志,wordpress电商ar,开源社区源码,网站利于搜索文章目录 一、模板匹配1、什么是模板匹配?2、原理 二、单模板匹配(代码实现)1、预处理2、 开始模板匹配并绘制匹配位置的外接矩形 三、多模板匹配(代码实现)1、读取图片和模板2、模板匹配3、设置阈值1)阈值…

文章目录

  • 一、模板匹配
    • 1、什么是模板匹配?
    • 2、原理
  • 二、单模板匹配(代码实现)
    • 1、预处理
    • 2、 开始模板匹配并绘制匹配位置的外接矩形
  • 三、多模板匹配(代码实现)
    • 1、读取图片和模板
    • 2、模板匹配
    • 3、设置阈值
      • 1)阈值设置原理:
      • 2)threshold=0.9
      • 3)loc = np.where(res >= threshold)
      • 4)for pt in zip(*loc[::-1]):  cv2.rectangle(img_rgb,pt,(pt[0]+w,pt[1]+h),(0,0,255),1)
    • 4、运行结果


一、模板匹配

1、什么是模板匹配?

模板匹配是OpenCV中的一种图像处理技术,用于在一幅图像中查找与给定模板或样本图像最相似的区域。

2、原理

为了识别匹配区域,我们必须通过滑动来将模板图像与源图像进行比较:
一次移动一个像素(从左到右,从上到下)。在每个位置,都会计算一个度量(度量计算公式),以便它表示该位置的匹配“好”或“坏”程度。
在这里插入图片描述
模板从图片的左上角逐一进行匹配,针对每一个匹配位置(位置坐标是模板左上角坐标),都会根据 matchTemplate()函数设置的计算方法得到一个对应的得分值,不同的匹配方法数值大小的效果是不同的,找到最优的匹配结果返回。

函数API:
cv2.matchTemplate(image, templ, method, result=None, mask=None)

  • image:待搜索图像
  • templ:模板图像
  • method:计算匹配程度的方法,可以有:
  • TM_SQDIFF 平方差匹配法:该方法采用平方差来进行匹配;匹配越好,值越小;匹配越差,值越大。
  • TM_CCORR 相关匹配法:该方法采用乘法操作;数值越大表明匹配程度越好。
  • TM_CCOEFF 相关系数匹配法:数值越大表明匹配程度越好。
  • TM_SQDIFF_NORMED 归一化平方差匹配法,匹配越好,值越小;匹配越差,值越大。
  • TM_CCORR_NORMED 归一化相关匹配法,数值越大表明匹配程度越好。
  • TM_CCOEFF_NORMED 归一化相关系数匹配法,数值越大表明匹配程度越好。
  • 返回匹配结果的矩阵,其中每个元素表示该位置与模板的匹配程度

二、单模板匹配(代码实现)

1、预处理

kele = cv2.imread('kele.png')
template = cv2.imread('template.png')
cv2.imshow('kele',kele)
cv2.imshow('template',template)
cv2.waitKey(0)

在这里插入图片描述

2、 开始模板匹配并绘制匹配位置的外接矩形

h, w = template.shape[:2]
res = cv2.matchTemplate(kele, template, cv2.TM_CCOEFF_NORMED)   #返回匹配结果的矩阵,其中每个元素表示该位置与模板的匹配程度
# cv2.minMaxLoc可以获取矩阵中的最小值和最大值,以及最小值的索引号和最大值的索引号
min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res)  # 最小值、最大值、最小值位置、最大值位置
top_left = max_loc
bottom_right = (top_left[0] + w, top_left[1] + h)
kele_template = cv2.rectangle(kele, top_left, bottom_right, (0, 255, 0), 2)  # 绘制矩形cv2.imshow('kele_template', kele_template)
cv2.waitKey(0)

在这里插入图片描述


三、多模板匹配(代码实现)

模板:
在这里插入图片描述

原图:
在这里插入图片描述

1、读取图片和模板

img_rgb=cv2.imread('image.jpg')
img_gray=cv2.cvtColor(img_rgb,cv2.COLOR_BGR2GRAY)
template=cv2.imread('tem.jpg',0)
h,w=template.shape[:2]

2、模板匹配

def find_temp(temp):res=cv2.matchTemplate(img_gray,temp,cv2.TM_CCOEFF_NORMED)threshold=0.9loc=np.where(res>=threshold)for pt in zip(*loc[::-1]):cv2.rectangle(img_rgb,pt,(pt[0]+w,pt[1]+h),(0,0,255),1)find_temp(template)cv2.imshow('', img_rgb)
cv2.waitKey(0)

3、设置阈值

1)阈值设置原理:

在进行多对象匹配时,常常要设置阈值保证能够完全框选到对象,当阈值设置为0.9时,所有满足大于0.9的外接矩形都会被绘制出来,如果这个阈值数据设置的更小,那么符合条件的位置就越多,表现在图上的特征就是有更多的框,框的线更粗。

2)threshold=0.9

设定匹配阈值,表示匹配的相似度范围。

3)loc = np.where(res >= threshold)

获取匹配结果中所有符合阈值的点的坐标,返回索引,这里返回的是y值和x值坐标信息,条件为大于设定阈值的值的索引。

4)for pt in zip(*loc[::-1]):  cv2.rectangle(img_rgb,pt,(pt[0]+w,pt[1]+h),(0,0,255),1)

  • loc数据倒序排列,变成x,y顺序状态,zip(*)表示将可迭代对象中对应的元素打包成一个元组,这里表示返回每个点的坐标。
  • 在原图上绘制匹配区域的矩形框,pt表示矩形左上角坐标,(pt[0]+w,pt[1]+h)表示右下角坐标。

4、运行结果

在这里插入图片描述


http://www.dtcms.com/wzjs/829676.html

相关文章:

  • 淮北做网站网上做计算机一级的网站是
  • 制作企业网站新闻列表页面网页设计石家庄昨天下午出了大事
  • 2017建站之星怎么样网站制作大概多少钱
  • 北京acc网站建设江苏省建设工人考勤网站
  • 安平县护栏网站建设公司设计装修效果图
  • 十堰网站推广哪家专业深圳做网站建设的公司
  • 建网站花多少钱做网站要素
  • 图片生成链接的网站昆明网站建设教学视频
  • 怎么做健康咨询网站WORDPREss浏览量插件美化版
  • 大庆百度公司网站建设灰色关键词排名收录
  • 广东南电建设集团网站在线设计师平台
  • 永久网站域名注册ppt模板下载免费版软件
  • 网站以个人名义备案分类信息网站系统cms
  • 网站后台logo网站后台
  • 学做衣服的网站有哪些h5 网站开发
  • 云存储能用来做网站吗手机软件是怎么做出来的
  • 网站建设程序编制虚拟网站仿制教程
  • 网站改版升级方案如何让WordPress快起来
  • 盘龙网站建设公司小说网站开发的目的
  • 网站优化要做哪些南通网站优化找哪家
  • 二手房网站建设及推广方案成都有实力的网站建设
  • 上海网站建设招标大连专业网页设计
  • 南宁有多少家网站建设推广的公司wordpress在手机登录
  • 静态网站规范做美工需要知道的设计网站
  • 运城网站制作国内优秀企业网站欣赏
  • 怎么让别人找你做网站琼海网站建设公司
  • 创建网站基本流程电商系统的服务商
  • 网站建设费用明细报价北京注册公司政策
  • 门户网站官网有哪些做网站的资源有哪些
  • 12306网站开发时间秦皇岛网站团队