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

成都兼职做网站广州百度推广外包

成都兼职做网站,广州百度推广外包,怎么做公司网站的二维码,网站建设首选-云端高科一、 概念 模板匹配就是用模板图(通常是一个小图)在目标图像(通常是一个比模板图大的图片)中不断的滑动 比较,通过某种比较方法来判断是否匹配成功。 二、应用场景 1. 目标检测与识别:在计算机视觉领域&am…

一、 概念

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

 二、应用场景

1. 目标检测与识别:在计算机视觉领域,模板匹配常用于目标检测与识别。 通过提前准备好的模板图像,可以在输入图像或视频流中识别出具有相似 特征的目标物体,从而实现目标检测与识别。

2. 视频分析与目标跟踪:在视频分析中,模板匹配可用于实现目标物体的跟 踪与追踪。借助模板匹配算法,可以在视频序列中追踪目标物体的运动轨 迹,实现目标跟踪功能。

 三、匹配方法

3.1、平方差匹配TM_SQDIFF

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

3.2、归一化平方差匹配TM_SQDIFF_NORMED

        与平方差匹配类似,只不过需要将值统一到0到1,计算结果越小,代表匹配程度越高

3.3、相关匹配TM_CCORR

        使用对应像素的乘积进行匹配,乘积的结果越大其匹配程度越高

3.4、归一化相关匹配TM_CCORR_NORMED

        与相关匹配类似,只不过是将其值统一到0到1之间,值越大,代表匹配程度越高

3.5、相关系数匹配TM_CCOEFF

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

3.6、归一化相关系数匹配TM_CCOEFF_NORMED

        也是将相关系数匹配的结果统一到0到1之间,值越接近1代表匹配程度越高

四、绘制轮廓 

 导入模块

import cv2
import numpy as np

输入图像

img = cv2.imread('mali.png')
img_template = cv2.imread('jinbi.png')

灰度化

img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
img_template_gray = cv2.cvtColor(img_template, cv2.COLOR_BGR2GRAY)

模板匹配

res = cv2.matchTemplate(img_gray, img_template_gray, cv2.TM_CCOEFF_NORMED)

 筛选数据

threshold = 0.73
location = np.where(res > threshold)

绘制轮廓

for i in zip(*location[::-1]):right_bottom = (i[0] + w, i[1] + h)cv2.rectangle(img, i, right_bottom, (0, 0, 255))

 输出图像

cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

完整代码

import cv2  
import numpy as np  # 读取原始图像  
img = cv2.imread('mali.png')  # 读取模板图像  
img_template = cv2.imread('jinbi.png')  # 将原始图像转换为灰度图像  
img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)  # 将模板图像转换为灰度图像  
img_template_gray = cv2.cvtColor(img_template, cv2.COLOR_BGR2GRAY)  # 获取模板灰度图像的高度(h)和宽度(w)  
h, w = img_template_gray.shape  # 在原始灰度图像中执行模板匹配  
res = cv2.matchTemplate(img_gray, img_template_gray, cv2.TM_CCOEFF_NORMED)  # 设置匹配的阈值,只有大于该值的匹配才会被考虑  
threshold = 0.73  # 找到所有匹配结果的位置  
location = np.where(res > threshold)  # 在每个匹配位置绘制矩形框  
for i in zip(*location[::-1]):  # 反转位置元组(从列开始)  right_bottom = (i[0] + w, i[1] + h)  # 计算矩形的右下角坐标  cv2.rectangle(img, i, right_bottom, (0, 0, 255), thickness=2)  # 绘制红色矩形框  # 显示带有矩形框的图像  
cv2.imshow('img', img)  # 等待用户按键  
cv2.waitKey(0)  # 关闭所有OpenCV窗口  
cv2.destroyAllWindows()  

疑难解读

np.where(res > threshold)

        np.where 返回的是一个包含多维数组索引的元组。对于二维图像(如模板匹配的结果),返回的 location 是一个元组,包含两个数组:一个是所有行坐标,一个是所有列坐标。

zip(*location[::-1])

        location[::-1]:
        这个操作是用来反转元组的顺序。元组的格式是 (行数组, 列数组),反转之后会成为 (列数组, 行数组),这样做是为了确保接下来的 zip 操作可以正确地将坐标组合成元组。

        zip(*location[::-1]):
        zip 函数用于将多个可迭代对象的元素组合成元组。在这里,* 运算符用于解包 location[::-1],把反转后的元组传入到 zip 函数中。

五、库函数

5.1、matchTemplate()

cv.matchTemplate(	image, templ, method[, result[, mask]]	) ->	result
方法描述
image运行搜索的图像。它必须是 8 位或 32 位浮点。
templ搜索到的模板。它必须不大于源图像,并且具有相同的数据类型。
result比较结果的映射。它必须是单通道 32 位浮点
method指定比较方法的参数,请参阅 TemplateMatchModes
mask可选掩码。它的大小必须与 templ 相同。它必须具有与模板相同的通道数,或者只有一个通道,然后用于所有模板和图像通道。如果数据类型为 CV_8U,则掩码将被解释为二进制掩码,这意味着仅使用 mask 为非零的元素,并且这些元素保持不变,与实际掩码值无关(权重等于 1)。对于数据 tpye CV_32F,掩码值用作权重。确切的公式记录在 TemplateMatchModes 中。
Enumerator
TM_SQDIFF 
Python: cv.TM_SQDIFF
TM_SQDIFF_NORMED 
Python: cv.TM_SQDIFF_NORMED
TM_CCORR 
Python: cv.TM_CCORR
TM_CCORR_NORMED 
Python: cv.TM_CCORR_NORMED
TM_CCOEFF 
Python: cv.TM_CCOEFF
TM_CCOEFF_NORMED 
Python: cv.TM_CCOEFF_NORMED

5.2、np.where() 

        numpy.where 是 NumPy 库中的一个非常有用的函数,它可以根据指定的条件返回 满足该条件的元素的索引。

        当 numpy.where 接受一个条件作为参数时,它会返回一个元组,其中包含满足该条 件的元素的索引。

numpy.where(condition)
函数说明
condition一个布尔数组或条件表达式。
返回值
一个元组,其中包含满足条件的元素的索引。

详情查看 

Python----数据分析(Numpy四:广播机制,数组的运算,统计计算,where函数)_数组广播-CSDN博客

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

相关文章:

  • 成都建设招标网站首页超级外链在线发布
  • 西安免费做网站价格网络营销策略案例
  • 代做视频的网站好磁力王
  • 新乡辉县网站建设优化营商环境个人心得
  • 自己如何做独立网站郑州seo服务
  • 深圳龙岗做网站潍坊百度关键词优化
  • 青羊区网站设计深圳网
  • 在线观看免费网站最佳搜索引擎磁力
  • 设计与制作网站营销推广软文案例
  • 广州最发达的五个区优化方法
  • 茂名网站制作网页怎么免费建公司网站
  • 如何做网站赚钱免费正能量erp软件下载
  • 同ip网站过多是空间的原因还是域名的原因百度权重是怎么来的
  • 保定网站建设百度客服人工电话
  • 广告网站素材免费发布信息网站大全
  • 营销型科技网站建设百度网盘私人资源链接
  • 林芝网站建设谷歌浏览器官网下载
  • 北京黄村专业网站建设价钱地推任务网
  • 珠海企业网站建设价格北京网站提升排名
  • 公司部门解散保定seo网站推广
  • 品牌网站怎么建立国际新闻头条今日国际大事
  • 360做网站网盘资源大全
  • 东莞建设企业网站河南自助建站seo公司
  • seo网站有哪些蚂蚁bt
  • 深圳龙岗招聘网网站优化推广seo公司
  • 建网站和做微信哪个好企业网站seo哪里好
  • dw怎么用div css做网站做关键词推广
  • 英文网站建设需要准备什么百度pc端入口
  • 如何让百度分享按钮在网站每个页面都有nba东西部最新排名
  • dw做电影网站百度查找相似图片