OpenCV + matchTemplate 的简单例子

这篇博客通过Q&A形式介绍了如何使用OpenCV的matchTemplate函数进行图像模板匹配。讲解了cv2.imread()的参数用法,以及cv2.rectangle()的使用。提供了多个资源链接作为学习参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# 导入所需库文件,numpy和cv2。
import cv2
import numpy as np

# 加载原始图像和要搜索的图像模板
img = cv2.imread('wife.jpg')
# OpenCV对原始图像进行处理,创建一个灰度版本
img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
# 加载将要搜索的图像模板#记录图像模板的尺寸
template = cv2.imread('template2.jpg',0)
# 记录模板尺寸
w, h,  = template.shape[::-1]#输出前两列
# 在灰度图像里进行处理和查找匹配。然后使用相同的坐标在原始图像中进行还原并输出。
# cv2.matchTemplate(image, templ, method[, result])
res = cv2.matchTemplate(img_gray,template,cv2.TM_CCOEFF_NORMED) #TM_CCOEFF_NORMED是标准相关性系数匹配,matchtemplate常用方法
# 设定阈值 
threshold = 0.7 
# 输出res大于70%的
loc = np.where( res >= threshold)
# 使用灰度图像中的坐标对原始RGB图像进行标记 
for pt in zip(*loc[::-1]): 
    cv2.rectangle(img, pt, (pt[0] + w, pt[1] + h), (7,249,151), 2) 

# 显示图像 
cv2.imshow('matchTemplate.jpg', img)

# save图像
cv2.imwrite('matchTemplate.jpg', img)

 

 

Q&A

Q1:cv2.imread()

A1:

cv2.imread()读取图片,第二个参数:

  • cv2.IMREAD_CO
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值