opencv有角度模板匹配举例
时间: 2023-09-22 22:10:25 浏览: 94
shapematch.zip
下面是一个使用OpenCV进行角度模板匹配的代码示例:
```python
import cv2
import numpy as np
# 加载模板图像和目标图像
template = cv2.imread('template.png',0)
img = cv2.imread('image.png',0)
# 获取模板图像的宽度和高度
w, h = template.shape[::-1]
# 二值化模板图像和目标图像
ret, template = cv2.threshold(template, 127, 255, cv2.THRESH_BINARY)
ret, img = cv2.threshold(img, 127, 255, cv2.THRESH_BINARY)
# 寻找模板图像在目标图像中的匹配位置
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.threshold()`函数将它们二值化。接下来,我们使用`cv2.matchTemplate()`函数在目标图像中寻找模板图像的匹配位置。最后,我们使用`cv2.rectangle()`函数在匹配位置上绘制矩形框,并显示结果。
阅读全文