opencv模板匹配 缩放
时间: 2023-07-07 08:39:36 浏览: 101
在 OpenCV 中进行模板匹配时,如果模板与图像的尺寸不同,可以通过缩放模板来实现匹配。具体操作如下:
1. 读取模板和图像,转为灰度图像。
```
template = cv2.imread('template.png', 0)
image = cv2.imread('image.png', 0)
```
2. 缩放模板,使其与图像尺寸相同。
```
scale_percent = 60 # 缩放比例
width = int(template.shape[1] * scale_percent / 100)
height = int(template.shape[0] * scale_percent / 100)
dim = (width, height)
template = cv2.resize(template, dim, interpolation = cv2.INTER_AREA)
```
3. 进行模板匹配。
```
res = cv2.matchTemplate(image, template, cv2.TM_CCOEFF_NORMED)
```
4. 找到匹配位置。
```
min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res)
top_left = max_loc
bottom_right = (top_left[0] + width, top_left[1] + height)
cv2.rectangle(image, top_left, bottom_right, 255, 2)
cv2.imshow('Matched image', image)
```
其中,`scale_percent` 是缩放比例,可以根据实际情况进行调整。`cv2.INTER_AREA` 是缩放插值方法,可以根据实际情况选择不同的插值方法。
阅读全文