一、安装tesseract-ocr
教程详见:Tesseract OCR V5.0安装教程(Windows) - 简书 (jianshu.com)
安装时注意添加环境变量和语言包两点
二、视频字母识别
先导入所需要的包,注意视频、文件地址最好都在Python文件夹下
在字母识别时注意语言包的地址不要出错
import pytesseract
import cv2
import numpy as np
from scipy import stats
import os
import matplotlib.pyplot as plt
os.chdir(r'C:\Users\lenovo\AppData\Local\Programs\Python\Python37\Lib\site-packages')
if __name__ == '__main__':
path = r"C:\Users\lenovo\AppData\Local\Programs\Python\Python37\Lib\site-packages\20210701.mp4"
print(path)
cap = cv2.VideoCapture(path)
frame_count = int(cap.get(cv2.CAP_PROP_FRAME_COUNT)) #帧数
print(frame_count)
i=0
while i<frame_count:
cap.set(cv2.CAP_PROP_POS_FRAMES, i)
_, frame = cap.read(i)
if i==48:
cv2.imwrite('20210701.jpg',frame)
shape = frame.shape
print(shape)
#cv2.imshow("Frame-1", frame[580:630, 10:1270])
# plt.imshow(frame)
# plt.axis("off")
# plt.show()
img=frame[630:680, 50:1270]
plt.imshow(img)
plt.axis("off")
plt.show()
img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) # 灰度图
#cv2.imshow("Frame-2:Gray", img) #显示灰度图
_, img= cv2.threshold(img, 220, 255, cv2.THRESH_BINARY) # 图像,阈值,映射的最大值,使用什么算法一般为cv2.thresh_binary
#cv2.imshow("Frame-3:Binary", img) #显示灰度图
#从这里开始进行字母识别
tessdata_dir_config = '--tessdata-dir "C:\\Program Files\\Tesseract-OCR\\tessdata" --psm 7 -c preserve_interword_spaces=1'
word = pytesseract.image_to_string(img,
lang='chi_sim',
#config=' --psm 7 -c preserve_interword_spaces=1')
config=tessdata_dir_config)
print(word)
i=i+24*2
if cv2.waitKey(10) & 0xff == ord("q"):
break
cap.release()
cv2.destroyAllWindows()
三、最后结果显示