用haclon做模板匹配的代码
时间: 2023-12-14 10:37:29 浏览: 69
C#调用HALCON实现模板匹配功能
5星 · 资源好评率100%
以下是使用 OpenCV 中的 `matchTemplate` 函数进行模板匹配的示例代码:
```python
import cv2
# 读取原图和模板图
img = cv2.imread('image.jpg')
template = cv2.imread('template.jpg')
# 获取模板图的宽度和高度
t_w, t_h = template.shape[:2]
# 进行模板匹配
result = cv2.matchTemplate(img, template, cv2.TM_CCOEFF_NORMED)
# 获取匹配结果中最大值及其坐标
min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(result)
# 在原图中绘制矩形框标记匹配位置
top_left = max_loc
bottom_right = (top_left[0] + t_w, top_left[1] + t_h)
cv2.rectangle(img, top_left, bottom_right, (0, 0, 255), 2)
# 显示结果图像
cv2.imshow('result', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
其中,`cv2.matchTemplate` 函数的第三个参数表示匹配方法,常用的有以下几种:
- `cv2.TM_SQDIFF`:平方差匹配法
- `cv2.TM_SQDIFF_NORMED`:归一化平方差匹配法
- `cv2.TM_CCORR`:相关匹配法
- `cv2.TM_CCORR_NORMED`:归一化相关匹配法
- `cv2.TM_CCOEFF`:相关系数匹配法
- `cv2.TM_CCOEFF_NORMED`:归一化相关系数匹配法
根据实际情况选择相应的匹配方法。
阅读全文