博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python OpenCV 模版匹配
阅读量:4101 次
发布时间:2019-05-25

本文共 1431 字,大约阅读时间需要 4 分钟。

模版匹配
© Fu Xianjun. All Rights Reserved.

第一章: 模版匹配

文章目录

一.模版匹配是什么?

二.使用步骤

   1 ,引入库

  2,读入数据

  3,效果图展示

  4,多个印花检测

   


模版匹配是什么?

模版匹配:模板匹配是一种最原始、最基本的模式识别方法,研究某一特定对象物的图案位于图像的什么地方,进而识别对象物,这就是一个匹配问题。它是图像处理中最基本、最常用的匹配方法。模板匹配具有自身的局限性,主要表现在它只能进行平行移动,若原图像中的匹配目标发生旋转或大小变化,该算法无效,是通过一张模板图片去另一张图中找到与模板相似部分的一种算法。一个模板是一张小图片,这个图片有一定的尺寸,有角度(一般是不旋转的矩形, 角度为0)。

二,使用步骤

1,引入库

代码如下:

import cv2import numpyter as np

2 ,读入数据

代码如下:

import cv2import numpy as np img = cv2.imread("yinhua2.png")#读取原图template = cv2.imread("yinhua.png")#读取模板 result = cv2.matchTemplate(img,template,0)#进行模板匹配 min_val,max_val,min_loc,max_loc = cv2.minMaxLoc(result)#查找最大最小值位置h,w = template.shape[:2]#获取模板的高和宽top_left = min_loc#查找最小值位置bottom_right = (top_left[0]+w , top_left[1]+h)#查找右下角位置 cv2.rectangle(img,top_left,bottom_right,255,2)#绘制匹配到的矩形 cv2.imshow("img",img)cv2.imshow("template",template)cv2.waitKey(0)cv2.destroyAllWindows()

3,效果图展示

 

4,如何实现多个印花检测

代码如下:

import cv2import numpy as np img = cv2.imread("yinhua2.png")#读取原图template = cv2.imread("yinhua.png")#读取模板 result = cv2.matchTemplate(img,template,cv2.TM_SQDIFF_NORMED)#进行模板匹配threshold = 0.01#定义阈值,因为TM_SQDIFF_NORMED越接近0越匹配,所以设置阈值为0.01 loc = np.where(result <= threshold)#匹配结果小于阈值的位置print(*loc[::-1]) for pt in zip(*loc[::-1]):#遍历位置,zip把两个列表依次参数打包    right_bottom = (pt[0] + w,pt[1] + h)#右下角位置    cv2.rectangle(img,pt,right_bottom, (0,0,255),2) cv2.imshow("img",img)cv2.imshow("template",template)cv2.waitKey(0)cv2.destroyAllWindows()

 

 

 

 

 

转载地址:http://lkusi.baihongyu.com/

你可能感兴趣的文章
【增强学习在无人驾驶中的应用】
查看>>
OpenCV meanshift目标跟踪总结
查看>>
人工神经网络——神经元模型介绍
查看>>
Windows 窗口底层原理
查看>>
一种函数指针的运用
查看>>
今天,Python信息量很大!
查看>>
Flash 已死,Deno 当立?
查看>>
编程差的程序员,90%都是吃了数学的亏!骨灰级开发:方法不对,努力也白费...
查看>>
都无代码了,还要程序员吗?
查看>>
面试想拿 10K,HR 说我只配7k?
查看>>
那些人生“开挂”的程序员,都在干什么?
查看>>
影响科学圈的那些计算机代码
查看>>
乐视视频 App 图标改为“欠 122 亿”,网友:我在别家分红包,却在你家随份子!...
查看>>
为何程序员总喜欢写技术博客,看完恍然大悟...
查看>>
假如计算机是中国人发明的,那代码应该这么写
查看>>
触目惊心:比特币到底消耗了多少能源?
查看>>
如何判断一家互联网公司要倒闭了?
查看>>
想快速上手机器学习?来看下这个 GitHub 项目!
查看>>
GitHub 标星 3.6k,一本开源的深度学习中文教程!
查看>>
9 款你不能错过的 JSON 工具
查看>>