写一个opencv摄像头实时识别文字的python
时间: 2023-11-16 13:05:47 浏览: 242
代码
```python
import cv2
import pytesseract
# 读取摄像头
cap = cv2.VideoCapture(0)
while True:
# 读取摄像头的每一帧
ret, frame = cap.read()
# 将帧转换为灰度图像
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# 对灰度图像进行二值化处理
_, thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
# 对二值化图像进行膨胀操作
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3))
dilate = cv2.dilate(thresh, kernel, iterations=1)
# 对膨胀后的图像进行文字识别
text = pytesseract.image_to_string(dilate, lang='chi_sim')
# 在窗口中显示识别结果
cv2.putText(frame, text, (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2)
cv2.imshow('frame', frame)
# 按下q键退出程序
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 释放摄像头并关闭窗口
cap.release()
cv2.destroyAllWindows()
```
说明:
- 首先读取摄像头每一帧,并将其转换为灰度图像;
- 对灰度图像进行二值化处理,并对二值化图像进行膨胀操作;
- 使用pytesseract库对膨胀后的图像进行文字识别;
- 在窗口中显示识别结果,并等待用户按下q键退出程序;
- 释放摄像头并关闭窗口。
阅读全文