基于模板匹配的摄像头数字识别简单代码
时间: 2023-10-30 18:08:49 浏览: 98
好的,下面是一个简单的基于模板匹配的摄像头数字识别代码示例:
```python
import cv2
# 加载模板图像
template = cv2.imread('template.png', 0)
# 初始化摄像头
cap = cv2.VideoCapture(0)
while True:
# 读取摄像头图像
ret, frame = cap.read()
# 将摄像头图像转为灰度图像
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# 使用模板匹配算法进行数字识别
res = cv2.matchTemplate(gray, template, cv2.TM_CCOEFF_NORMED)
min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res)
# 在图像上标注数字位置
top_left = max_loc
bottom_right = (top_left[0] + 30, top_left[1] + 30)
cv2.rectangle(frame, top_left, bottom_right, (0, 0, 255), 2)
# 显示识别结果
cv2.imshow('digits recognition', frame)
# 按下 q 键退出循环
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 释放摄像头并销毁窗口
cap.release()
cv2.destroyAllWindows()
```
需要注意的是,在这个示例代码中,假设模板图像已经提前准备好了,代码中使用的是 `template.png` 这个文件。如果需要处理多种数字,可以使用多个模板图像并逐个进行匹配。另外,代码中标注数字位置的部分可能需要根据实际情况稍作调整。
阅读全文