給我python多尺度模板匹配的範例
时间: 2024-01-20 08:17:03 浏览: 60
multiscale_template_matching.zip_opencv_opencv模板匹配_python 模板匹配_p
5星 · 资源好评率100%
以下是一个使用OpenCV-Python进行多尺度模板匹配的示例:
```python
import cv2
import numpy as np
# 读取原始图像和模板图像
img = cv2.imread('image.jpg', 0)
template = cv2.imread('template.jpg', 0)
# 获取模板图像的宽度和高度
w, h = template.shape[::-1]
# 使用不同尺度的模板进行匹配
res = cv2.matchTemplate(img, template, cv2.TM_CCOEFF_NORMED)
threshold = 0.8
loc = np.where(res >= threshold)
# 在原始图像中标记匹配的区域
for pt in zip(*loc[::-1]):
cv2.rectangle(img, pt, (pt[0] + w, pt[1] + h), (0, 0, 255), 2)
# 显示结果图像
cv2.imshow('Result', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这个示例中,我们首先读取了原始图像和模板图像。然后,我们使用`cv2.matchTemplate()`函数进行模板匹配,其中`cv2.TM_CCOEFF_NORMED`表示使用相关系数归一化方法进行匹配。我们还设置了一个阈值,只有匹配程度大于等于阈值的区域才会被标记出来。最后,我们使用`cv2.rectangle()`函数在原始图像中标记出匹配的区域,并显示结果图像。
阅读全文