目录
一、安装tesseract具体步骤
1.在GitHub上打开这个网址 https://github.com/UB-Mannheim/tesseract/wiki;
2.点击这个“64 bit”版本下载;
3.安装时选择语言为“English”,默认下载版本“Tesseract-OCR”,可更改下载路径;
二、应用案例1:识别摄像头中的字符并输出
import cv2
import pytesseract
pytesseract.pytesseract.tesseract_cmd = 'D:\\PycharmProjects\\tesseract\\tesseract.exe'
# 开摄像头
cap = cv2.VideoCapture(0)
# 循环读取每一帧
while cap.isOpened():
ret, frame = cap.read()
if not ret:
print('fail to open it')
break
# BGR转化为RGB
img = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
cv2.imshow('img', img)
#若识别到的字符串非空,则在控制台输出识别到的字符
if pytesseract.image_to_string(img) != '':
print(pytesseract.image_to_string(img))
if cv2.waitKey(1) & 0xFF == ord("q"):
break
cap.release()
cv2.destroyAllWindows()
运行结果:(书包上的“R”不太标准,所以这里识别到有时候是“A",有时是“R”)
三、应用案例2:在识别的图片上框出单个字母
import cv2
import pytesseract
pytesseract.pytesseract.tesseract_cmd = 'D:\\PycharmProjects\\tesseract\\tesseract.exe'
# 读取图片,转为RGB,显示图片
img = cv2.imread('./charbaliuv.jpg')
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
# 传回图片尺寸
himg, wimg, _ = img.shape
# 把识别到的字母传如boxes
boxes = pytesseract.image_to_boxes(img)
for b in boxes.splitlines():
print(b)
b = b.split(' ')
print(b)
x, y, w, h = int(b[1]), int(b[2]), int(b[3]), int(b[4])
# 画矩形
cv2.rectangle(img, (x, himg-y), (w, himg-h), (0, 0, 255), 1)
# 显示画了矩形的图片
cv2.imshow('img', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
运行结果: