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

import cv2 as cv

import numpy as np

def 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_CCORR_NORMED,cv.TM_CCOEFF_NORMED]

#获得模板的高宽

th,tw=tpl.shape[:2]

for md in methods:

#执行模板匹配

#target:目标图片

#tpl:模板图片

#匹配模式

result=cv.matchTemplate(target,tpl,md)

#寻找矩阵(一维数组当作向量,用Mat定义) 中最小值和最大值的位置

min_val,max_val,min_loc,max_loc=cv.minMaxLoc(result)

if md==cv.TM_SQDIFF_NORMED:

tl=min_loc

else:

tl=max_loc

br=(tl[0]+tw,tl[1]+th)

#绘制矩形边框,将匹配区域标注出来

#target:目标图像

#tl:矩形定点

#br:举行的宽高

#(0,0,255):矩形边框颜色

#2:矩形边框大小

cv.rectangle(target,tl,br,(0,0,255),2)

cv.imshow('match-'+np.str(md),target)

template();

cv.waitKey(0)

cv.destroyAllWindows()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值