python 使用opencv 模板匹配
时间: 2024-01-01 13:04:12 浏览: 101
以下是使用OpenCV进行模板匹配的Python代码示例:
```python
import cv2
import numpy as np
# 读取输入图像和模板
img = cv2.imread('input_image.jpg')
template = cv2.imread('template_image.jpg')
# 获取模板的宽度和高度
w, h = template.shape[:-1]
# 使用cv2.matchTemplate()函数进行模板匹配
res = cv2.matchTemplate(img, template, cv2.TM_CCOEFF_NORMED)
# 使用cv2.minMaxLoc()函数查找最大值/最小值的位置
min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res)
# 取最大值的位置为矩形的左上角,取(w,h)为矩形的宽和高
top_left = max_loc
bottom_right = (top_left[0] + w, top_left[1] + h)
# 在输入图像中绘制矩形
cv2.rectangle(img, top_left, bottom_right, (0, 0, 255), 2)
# 显示结果
cv2.imshow('Result', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在上面的代码中,我们首先使用`cv2.imread()`函数读取输入图像和模板。然后,我们使用`cv2.matchTemplate()`函数进行模板匹配,并使用`cv2.minMaxLoc()`函数查找最大值/最小值的位置。最后,我们在输入图像中绘制矩形,并使用`cv2.imshow()`函数显示结果。
阅读全文