python + opencv图像处理(十四)模板匹配

python批量实现模板匹配处理,并将图片进行标记和裁剪保存 批量进行图片的模板匹配,并进行图片的裁剪和保存 阅读详情

模板匹配原理:(模式识别中最简单的一个识别方法,就是图像处理中最简单的)
模板匹配就是在整个图像区域发现与给定子图像匹配的小块区域;
模板匹配需要一个模板图图像T(给定的子图像);
需要一个待检测的图像——源图像S;
工作方法:在待检测图像上,从左到右,从上到下计算模板图像与重叠子图像的匹配度,匹配程度越大,两者相同的可能性越大。

from matplotlib import pyplot as plt 
from cv2 import cv2 as cv
import numpy as np 

def template_demo():
    tpl = cv.imread("C:\\pictures\\xiaotaohua.jpg")
    target = cv.imread("C:\\pictures\\dataohua.jpg")
    cv.imshow("template image",tpl)
    cv.imshow("target image",target)
    methods = [cv.TM_SQDIFF_NORMED,cv.TM_CCOEFF_NORMED,cv.TM_CCORR_NORMED]  #各种匹配算法
    th,tw = tpl.shape[:2]   #获取模板图像的高宽
    for md in methods:
        print(md)
        result = cv.matchTemplate(target,tpl,md) 
        # result是我们各种算法下匹配后的图像
        # cv.imshow("%s"%md,result)
        #获取的是每种公式中计算出来的值,每个像素点都对应一个值
        min_val,max_val,min_loc,max_loc = cv.minMaxLoc(result)
        if md == cv.TM_SQDIFF_NORMED:
            tl = min_loc    #tl是左上角点
        else:
            tl = max_loc
        br = (tl[0]+tw,tl[1]+th)    #右下点
        cv.rectangle(target,tl,br,(0,0,255),2)  #画矩形 到原图上去
        # cv.imshow("match-%s"%md,target)
        cv.imshow('math-'+np.str(md),target)
        # cv.imshow("match-%s"%md,result)



if __name__ == "__main__":
	template_demo()
	cv.waitKey(0)
	cv.destroyAllWindows()

显示的结果
在这里插入图片描述

基于Python图像处理—模板匹配 模板匹配 模板匹配是图像处理中最基本、最常用的匹配方法,能够实现对图像中某一特定图案的识别、定位,算法简单,类似于图像的卷积操作,模板匹配的局限性明显,主要表现在它只能进行平行移动,若原图像中的匹配目标发生旋转或大小变化,该算法无效。 匹配算法 模板匹配的原理非常简单,模板遍历原图像中的每一个可能的位置,比较各处与模板是否“相似”,当相似度足够高时,就认为找到了我们的目标,评价匹配“好”和“坏”的算法有多种,OpenCV提供了6种模板匹配算法:平方差匹配法:利用平方差来进行匹配,匹配效果越好,匹配值越小。相 阅读详情

相关推荐

Python OpenCV 模板匹配

什么是模板匹配? 模板匹配是一项在一幅图像中寻找与另一幅模板图像最匹配(相似)部分的技术。 如何实现模板匹配? 我们需要2幅图像:原图像和模板,我们希望在原图像中找到一块和模板图像最匹配的区域。 为了确定匹配区域,我们在原图像上滑动模板图像和原图像进行比较: 模板图像块一次移动一个像素 (从左往右,从上往下),在每一个位置都进行一次度量计算它与这个位置的匹配程度 (或者说模板图像和原...

人生当苦无妨 4344

openCV-python模板匹配(旋转)

openCV-python实现多角度模板匹配

weixin_43737866的博客 9792

OpenCV 的模板匹配

模板匹配(Template Matching)是一种在图像中查找和匹配小图像片段(模板)的技术。OpenCV 提供了一些函数来执行模板匹配,并可以通过多种方法来计算匹配程度。将图像转换为灰度图像。模板匹配通常在灰度图像上进行,以减少计算复杂度。OpenCV 提供了几种不同的模板匹配方法,可以通过。函数在原图像中搜索模板图像,并返回匹配结果。函数找到匹配结果中大于或等于阈值的位置。函数在原图像中绘制矩形框标记匹配区域。或 OpenCV 显示结果图像。函数读取原始图像和模板图像。

像风一样自由的博客 2529

Python图像处理笔记——基于Harris角点的图像匹配(skimage)

基于Harris角点实现两幅(不同角度拍摄)的图像匹配,基于RANSAC算法进行鲁棒性估计。

霜晨月的博客 2595

Python3与OpenCV3.3 图像处理(十四)--模板匹配

一、什么是模板匹配 在整个图像区域发现与给定子图像匹配的区域,模板匹配的工作方式是在待检测图像上从左到右,从上到下计算模板图象与重叠子图像的匹配度,匹配度越大,两者越相同 二、OpenCV中的模板匹配 CV_TM_SQDIFF 平方差匹配法:该方法采用平方差来进行匹配;最好的匹配值为0;匹配越差,匹配值越大。 CV_TM_CCORR 相关匹配法:该方法采用乘法操作;数值越大表明匹配程度...

喵叔 6080

Python+OpenCV图像处理实验

该项目可实现图像的多样化处理,基本上包含了OpenCV模块常用的图像处理功能,非常适合初学者理解和应用,包括:灰度化功能、反转功能、通道分离功能、噪音滤波功能、高斯双边滤波功能、均值偏移滤波功能、图像二值化功能、Canny边缘检测功能、直线检测功能、圆形检测功能、轮廓发现功能和人脸检测功能。

不脱发的程序猿 3万+

python +opencv 多尺度缩放与旋转的模板匹配

print('在当前最优匹配角度周围10的区间以1为步长循环进行循环匹配所花时间为:' + str(1000 * (toc - tic)) + 'ms'+'-----angle:'+str(angle))print('在当前最优匹配角度周围2的区间以0.1为步长进行循环匹配所花时间为:' + str(1000 * (toc - tic)) + 'ms'+"---angle:"+str(angle))height, width = img.shape[:2] # 输入(H,W,C),取 H,W 的值。

qq_41598736的博客 4723

使用Python,OpenCV进行模板匹配单对象、多对象及多尺度模板匹配

这篇博客将介绍如何使用模板匹配在图像中查找对象。模板匹配是一种在较大的图像中寻找模板图像位置的方法。OpenCV使用cv2.matchTemplate() 、cv2.minMaxLoc()实现模板匹配。 主要分为3部分: 1. 模板匹配单对象 2. 模板匹配多对象 3. 多尺度模板匹配

qq_40985985的博客 5859

python opencv入门 模板匹配(26)

内容来自OpenCV-Python Tutorials 自己翻译整理目标: 使用模板匹配在图像中查找目标 学习函数cv2.matchTemplate(),cv2.minMaxLoc()原理: 模板匹配是在一副图像中寻找模板图像的方法。opencv中有函数cv2.matchTemplate()来实现。与2D卷积一样,它也是用模板图像在输入图像上滑动(类似窗口),在每一个位置对模板图像和输入图像的

@fei 1万+

OpenV2X 车路协同开源平台 Columbia 版本正式发布!

OpenV2X车路协同开源平台Columbia 版本正式发布!

weixin_65571684的博客 1199

使用GDScript(godot)生成仿杀戮尖塔地图

使用GDScript(godot)生成仿杀戮尖塔地图 extends Node2D export (PackedScene) var Ball var 被连接数 = {} # 每个怪物被下层怪物连接的数量 最多为2 var 连接1 = {} # 第一次连接的上层怪物位置 var 连接2 = {} # 第二次连接的上层怪物位置 var 怪物数量 = [0,0,0,0,0,0,0,0,0,0,0,0,0,0] # 每层怪物的数量 var 总层数 =8 # 总层数 var 怪物坐标行 = {} #

weixin_45038716的博客 3011

python3 opencv 模板匹配_Python3与OpenCV3.3 图像处理(十四)--模板匹配

import cv2 as cvimport numpy as npdef template():#模板图片tpl=cv.imread('12tem.jpg')#目标图片target=cv.imread('12.jpg')cv.imshow('template',tpl)cv.imshow('target',target)methods=[cv.TM_SQDIFF_NORMED,cv.TM_CCO...

weixin_39903176的博客 152

ArcGIS属性表汉字转拼音

接着我安装了一个编辑器“PyCharm Community Edition 2019.3.3\bin\pycharm64.exe”,在里面添加“pypinyin”包,然后将其设置为arcgis的编辑器和调试程序,还是失败;我在10.6的机器上折腾了上面几步,直到两周后脚本突然运行成功,我也不确定是哪一步导致pypinyin包配置成功,因此将心得体会写出来,如果过一段时间,打开10.2的机器运行脚本成功了,再写后续.......,按照“配置方法1:”进行尝试,显示配置失败。

2301_77413856的博客 1295

opencv+python实现图像匹配----模板匹配、特征点匹配

文章目录模板匹配与特征匹配python的版本及依赖的库的安装opencv+python模板匹配[^1]匹配材料Template Matchingopencv+python特征匹配[^2]匹配材料BFMatching描述特征点--运行结果不精确基于FLANN的匹配器(FLANN based Matcher)描述特征点基于FLANN的匹配器(FLANN based Matcher)定位图片参考资料 模...

GaoSimin 10万+

MATLAB实战:5步搞定GNSS单点定位解算(附完整代码)

本文提供了一份基于MATLAB的GNSS单点定位实战指南。通过5个核心步骤,详细讲解了如何从卫星坐标和伪距观测值出发,利用最小二乘迭代算法,构建并实现一个完整的单点定位解算器。文章附有完整代码,并涵盖精度评估与结果分析,适合GNSS初学者和MATLAB用户快速上手实践。

a2b3c4d5e的博客 250

昇腾910安装驱动出错,降低Centos7.6的内核版本

Centos7.6 启动内核修改,解决昇腾910安装驱动错误的问题。

深蓝 3301

OpenCV-Python(24):模板匹配

模板匹配是一种常用的图像处理技术,它用于。模板匹配的基本思想是将模板图像在目标图像上滑动,并计算它们的相似度,找到相似度最高的位置即为匹配位置。下面介绍一种模板匹配算法——平方差匹配算法(Sum of Squared Differences, SSD)。算法步骤:1.加载目标图像和模板图像。2.将模板图像在目标图像上滑动,计算每个位置的相似度。3.找到相似度最高的位置即为匹配位置。在上述代码中,我们首先加载了目标图像和模板图像,然后使用函数进行模板匹配,得到匹配结果。最后,通过。

图灵追幕者博客录 3452

信号编辑软件ZX/SignalEditing

信号编辑软件ZX/SignalEditing

weixin_45661395的博客 963

Python+Opencv实现模板匹配

目录一、模板匹配简介二、传统模板匹配算法不足之处三、多尺度模板匹配实现步骤四、多尺度模板匹配实现代码五、多尺度模板匹配效果展示和分析六、思维扩展参考资料注意事项 一、模板匹配简介   所谓的模板匹配,即在给定的图片中查找和模板最相似的区域,该算法的输入包括模板和测试图片,整个任务的思路就是按照滑窗的思路不断的移动模板图片,计算其与图像中对应区域的匹配度,最终将匹配度最高的区域选择为最终的结果。下图...

WZZ18191171661的博客 1万+

三维重建/SLAM笔记_最佳学习路线/攻略

本文目的 学习三维重建,需要不少知识,而知识之间又存在不同的依赖关系,为了后来人能少走弯路,也为了对自己的知识框架系统总结,特记录自己的学习路线。 学习心得 关于读书,了解基础知识是一方面,产生疑问也是一方面,为以后知道学习什么留下印象; 一回生,二回熟,看不懂时,大多是因为先验知识不够,没关系,多查多想,总会搞懂的。 学习路线 1.计算机图形学基础(OpenGL基础版)(徐文鹏 清...

惊鸿一博 3294

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

OpenCV图像处理——模板匹配

模板匹配

lzh的博客 2450

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Python opencv图像处理基础总结(四) 模板匹配 图像二值化

python与opencv图像处理基础总结,模板匹配的匹配的原理和几种常用算法,python调用opencv相关API的方法,图像二值化的处理,python调用opencv中的全局阈值函数和局部阈值函数,对图像图像阈值分割,实现图像二值化处理。 ...

叶庭云 成为自己的光 5290

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

如何用 Python 和 OpenCV 实现模板匹配

在本文中,我将使用 Python 和 OpenCV 库来实现一个简单的模板匹配脚本,它可以在屏幕上寻找和点击指定的图像。这个脚本可以用于一些自动化的任务,比如网页刷新、游戏操作等。

脚踏实地,实事求是。 2777

OpenCV - 模板匹配(Python实现)

原理 模板匹配是在一幅图像中寻找一个特定目标的方法之一,这种方法的原理非常简单,遍历图像中的每一个可能的位置,比较各处与模板是否“相似”,当相似度足够高时,就认为找到了我们的目标。OpenCV提供了6种模板匹配算法: 匹配算法 method 平方差匹配法 CV.TM_SQDIFF 归一化平方差匹配法 CV.TM_SQDIFF_NORMED 相关匹配法 CV.TM_CCORR...

C橘子 2万+

OpenCV-Python快速入门(十四):模板匹配

Python、OpenCV、模板匹配(cv2.matchTemplate())、查找最值(极值)与最值所在的位置(cv2.minMaxLoc())

FriendshipTang的博客 3316
上一篇: python + opencv图像处理(十三)——直方图的反向投影
下一篇: pyhton +opencv图像处理(十五)——图像二值化
xiao黄
xiao黄 优质创作者: 人工智能技术领域 优质创作者: 人工智能技术领域 领域专家: 数据科学与机器学习技术领域 领域专家: 数据科学与机器学习技术领域
博客等级 码龄8年 1万+粉丝 250原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiao黄

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值