OpenCV中怎么应用模板匹配技术

1317
2024/5/23 16:23:13
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在OpenCV中,可以使用cv2.matchTemplate()函数来应用模板匹配技术。以下是一个简单的示例代码,演示如何在一张图片中寻找另一张模板图片的位置:

import cv2
import numpy as np

# 读取图像和模板图片
img = cv2.imread('image.jpg')
template = cv2.imread('template.jpg')

# 获取模板图片的宽度和高度
w, h = template.shape[:-1]

# 应用模板匹配技术
res = cv2.matchTemplate(img, template, cv2.TM_CCOEFF_NORMED)

# 获取匹配结果中的最大值和坐标
min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res)

# 在原图上绘制矩形框标记出模板匹配的位置
top_left = max_loc
bottom_right = (top_left[0] + w, top_left[1] + h)
cv2.rectangle(img, top_left, bottom_right, (0, 255, 0), 2)

# 显示结果图像
cv2.imshow('Result', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

在上面的代码中,首先读取了原图和模板图片,然后使用cv2.matchTemplate()函数对原图进行模板匹配。最后在原图上绘制出匹配位置的矩形框并显示结果图像。通过调整模板匹配方法(比如cv2.TM_CCOEFF_NORMED)和阈值等参数,可以得到不同的匹配结果。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: opencv中widthstep的含义是什么