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

OpenCV计算机视觉 07 图像的模块匹配

在做目标检测、图像识别时,我们经常用到模板匹配,以确定模板在输入图像中的可能位置

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 归一化相关系数匹配法,数值越大表明匹配程度越好。

比如我要在可口可乐瓶中匹配出如下的可口可乐商标,这么做呢

可口可乐瓶:

要匹配的商标:

import cv2
# 读取名为'cola.png'的图像作为原图
kele = cv2.imread('cola.png')  
# 读取名为'co_t.png'的图像作为模板
template = cv2.imread('template.png')  
​
cv2.imshow('kele', kele)  # 显示原图
cv2.imshow('c', template)  # 显示模板
cv2.waitKey(0)  # 等待按键
​
h, w = template.shape[:2]  # 获取模板的高度和宽度
# 在原图中匹配模板
res = cv2.matchTemplate(kele, template, cv2.TM_CCOEFF_NORMED)
# 获取匹配结果中的最小值、最大值及对应的位置
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('k', kele_template)  # 显示绘制了矩形的原图
cv2.waitKey(0)  # 等待按键

输出:

http://www.lryc.cn/news/519157.html

相关文章:

  • 国产游戏崛起,燕云十六移动端1.9上线,ToDesk云电脑先开玩
  • 企业级PHP异步RabbitMQ协程版客户端 2.0 正式发布
  • [OPEN SQL] 限定选择行数
  • Vite源码学习分享(一)
  • 定位,用最通俗易懂的方法2:TDOA与对应的CRLB
  • Linux第一课:c语言 学习记录day06
  • ExplaineR:集成K-means聚类算法的SHAP可解释性分析 | 可视化混淆矩阵、决策曲线、模型评估与各类SHAP图
  • 2025年第三届“华数杯”国际大学生数学建模竞赛A题题目
  • 用c实现C++类(八股)
  • 【C++多线程编程:六种锁】
  • 【Javascript Day5】for循环及典型案例
  • #渗透测试#网络安全#一文了解什么是shell反弹!!!
  • 《解锁图像的语言密码:Image Caption 开源神经网络项目全解析》
  • 抢占欧洲电商高地,TikTok 运营专线成 “秘密武器”
  • 人工智能-数据分析及特征提取思路
  • 2024 China Collegiate Programming Contest (CCPC) Zhengzhou Onsite 基础题题解
  • halcon3d 如何计算平面法向量!确实很简单
  • 浅尝Appium自动化框架
  • 网络安全测评技术与标准
  • 【经典神经网络架构解析篇】【1】LeNet网络详解:模型结构解析、优点、实现代码
  • KGA:AGeneral Machine Unlearning Framework Based on Knowledge Gap Alignment
  • GelSight Mini视触觉传感器凝胶触头升级:增加40%耐用性,拓展机器人与触觉AI 应用边界
  • springboot整合admin
  • OS--常见的网络模型(包含IO多路复用的原理)
  • LCE(Local Cascade Ensemble)预测模型和LSTM(Long Short-Term Memory)模型在效果和特点上存在显著差异
  • 【mysql】约束的基本使用
  • EasyExcel(二)导出Excel表自动换行和样式设置
  • 农产品直播带货方案拆解
  • “**H5**” 和 “**响应式**” 是前端开发中常见的术语,但它们的概念和使用场景有所不同
  • 基于EasyExcel实现通用版一对一、一对多、多层嵌套结构数据导出并支持自动合并单元格