环境设置:
1、安装pip3 install pytesseract
2、安装tessract-OCR(将安装路径添加至环境路径,此处我安装在D:Tesseract-OCR中)
导入pytesseract包时注意,修改D:Python 32Libsite-packagespytesseract中【pytesseract.py】文件中的代码修改至OCR的所在路径:
tesseract_cmd = 'D:Tesseract-OCRtesseract.exe’
import pytesseract
import cv2
import numpy as np
from scipy import stats
import os
import matplotlib.pyplot as plt
os.chdir('d:\image')
读取视频的各个帧,将有字幕的图片片段提取出来,并以灰度图显示。
if __name__ == '__main__':
path = "a.mp4"
print(path)
cap = cv2.VideoCapture(path)
frame_count = int(cap.get(cv2.CAP_PROP_frame_COUNT))
print(frame_count)
i=0
while i
用Tesseract-OCR对截取出的字幕图片进行分析,按每秒24帧计算,间隔2.5秒截取一次,提取字幕。
#tessdata_dir_config = '--tessdata-dir "D:\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.5
if cv2.waitKey(10) & 0xff == ord("q"):
break
cap.release()
cv2.destroyAllWindows()
结果显示:



