模板匹配Template Matching

这篇具有很好参考价值的文章主要介绍了模板匹配Template Matching。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

模板匹配Template Matching

模板匹配Template Matching

模板匹配Template Matching

模板匹配Template Matching

 实现代码:

import cv2
import numpy as np
def template_demo(tpl,target):
    methods=[cv2.TM_SQDIFF_NORMED,cv2.TM_CCORR_NORMED,cv2.TM_CCOEFF_NORMED]
    th,tw=tpl.shape[:2]
    for md in methods:
        start_time=cv2.getTickCount()
        # 匹配结果
        result=cv2.matchTemplate(target,tpl,md)

        # 对匹配结果进行分析
        min_val,max_val,min_loc,max_loc=cv2.minMaxLoc(result)

        if md==cv2.TM_SQDIFF_NORMED:
            tl=min_loc
        else:
            tl=max_loc
        # 矩形右下角的点的坐标
        br=(tl[0]+tw,tl[1]+th)
        # 画矩形
        cv2.rectangle(target,tl,br,(0,0,255),2)
        cv2.imshow("match-"+str(md),target)
        print("method: %d, time: %d ms"%(md,(cv2.getTickCount()-start_time)*1000/cv2.getTickFrequency()))


tpl=cv2.imread("./template.png")
print(tpl.shape)
target=cv2.imread("./target.png")
print(target.shape)
cv2.namedWindow("template image",cv2.WINDOW_NORMAL)
cv2.imshow("template image",tpl)
cv2.namedWindow("target image",cv2.WINDOW_NORMAL)
cv2.imshow("target image",target)
template_demo(tpl,target)
cv2.waitKey(0)
cv2.destroyAllWindows()


运行结果:

模板匹配Template Matching模板匹配Template Matching文章来源地址https://www.toymoban.com/news/detail-501791.html

到了这里,关于模板匹配Template Matching的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Opencv入门到项目实战】(九):项目实战|信用卡识别|模板匹配|(附代码解读)

    所有订阅专栏的同学可以私信博主获取源码文件 接下来我们正式进入 项目实战 部分,这一章要介绍的是一个 信用卡号识别 的项目。首先,我们来明确一下研究的问题,假设我们有一张信用卡如下所示,我们要做的就是识别出这上面卡号信息,然后会输出一个序列,第一个

    2024年02月13日
    浏览(49)
  • 图像模板匹配 opencv c++实现

    用T表示模板图像,I表示待匹配图像,切模板图像的宽为w高为h,用R表示匹配结果,匹配过程如下图所示: 1、平方差匹配算法method=TM_SQDIFF 这类方法利用平法差来进行匹配,最好匹配为0,而若匹配越差,匹配值则越大 2、归一化平方差匹配法method=TM_SQDIFF_NORMED 3、相关匹配法

    2024年02月04日
    浏览(47)
  • 图匹配(Graph Matching)入门学习笔记——以《Factorized Graph Matching》为例(一)

    这篇文章本身是图匹配经典论文《Factorized Graph Matching》的阅读笔记,后来发现该文介绍并串联了许多图匹配相关的知识,甚至可以看作一个小小的综述性文章,因此就作为图匹配的学习笔记了。因为笔者本人才疏学浅,对于图匹配也是刚刚开始接触,所以文章内容难免存在纰

    2024年01月20日
    浏览(43)
  • 【halcon 实现模板匹配,定位,找线,找点,找圆】

    c#联合halcon 链接: https://www.bilibili.com/video/BV1aR4y1473b/. halcon函数速查 链接: https://pan.baidu.com/s/1rbxf62bMh61Ie0pB4t3AHw . 提取码:0000 图片链接 链接: https://pan.baidu.com/s/1f0ld6nHcqzblvTnekEoSiQ . 0000 读取 选择模板 将模板从原图中截取出来 然后就可以开始找目标定位了 得到 x, y, angle, 分数 通

    2024年02月05日
    浏览(76)
  • 【Rust 基础篇】Rust 匹配(Pattern Matching)

    在 Rust 中,匹配(Pattern Matching)是一种强大的语言特性,它允许我们根据不同的模式来执行不同的操作。匹配可以用于多种情况,例如处理枚举类型、解构元组和结构体、处理条件表达式等。本篇博客将详细介绍 Rust 中的匹配语法,并通过示例代码来说明其用法和优势。 R

    2024年02月12日
    浏览(48)
  • 浅谈WPF之控件模板Control Template和数据模板Data Template

    WPF不仅支持传统的Windows Forms编程的用户界面和用户体验设计,同时还推出了以模板为核心的新一代设计理念。在WPF中,通过引入模板,将数据和算法的“内容”和“形式”进行解耦。模板主要分为两大类:数据模板【Data Template】和控件模板【Control Template】 基本上,ControlT

    2024年02月03日
    浏览(36)
  • 基于C#调用halcon实现模板匹配【附部分源码】

    本文主要实现基于C#实现视觉定位的基础框架,与前面的python版、MFC版、Qt版一样,可供不同的开发者进行学习使用。 本文也是包括多模板算法匹配:基于形状、基于灰度、基于相关性、基于可变比例等。 编程环境:dotnet4.7 halcon20.05 IDE: VisualStudio 2022 本次项目的效果视频:

    2024年02月06日
    浏览(84)
  • 基于qt+halcon实现视觉定位模板匹配【附部分源码】

    本文主要实现基于qt5.3做一个视觉定位识别的功能,halcon版本使用的是halcon12.0,调用halcon的dll来实现二次开发,下边从头开始设置。 与前面的python版、MFC版、Qt版一样,可供不同的开发者进行学习使用。 编程环境:qt5.3 halcon12.0 IDE: VisualStudio 2010 本次项目的效果视频: 基于

    2024年01月24日
    浏览(75)
  • 【跟小嘉学 Rust 编程】十八、模式匹配(Patterns and Matching)

    【跟小嘉学 Rust 编程】一、Rust 编程基础 【跟小嘉学 Rust 编程】二、Rust 包管理工具使用 【跟小嘉学 Rust 编程】三、Rust 的基本程序概念 【跟小嘉学 Rust 编程】四、理解 Rust 的所有权概念 【跟小嘉学 Rust 编程】五、使用结构体关联结构化数据 【跟小嘉学 Rust 编程】六、枚举

    2024年02月11日
    浏览(44)
  • 【C++】模板template

           🔥🔥 欢迎来到小林的博客!!       🛰️博客主页:✈️林 子       🛰️博客专栏:✈️ C++       🛰️社区 :✈️ 进步学堂       🛰️欢迎关注:👍点赞🙌收藏✍️留言 模板是C++中泛型编程的基础,一个模板就是一个创建

    2024年02月12日
    浏览(93)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包