如何加快简单的OCR任务?

时间:2019-03-27 14:05:51

标签: python image-processing optimization ocr tesseract

我有一个玩简单的数学游戏的脚本:给定一个数学方程式(例如:1 + 1 = 3),然后在越来越短的有限时间内点击True或False按钮。

我使用:

  • 用于屏幕捕获和预处理(反转)的PIL
  • (Py)Tesseract for OCR

伪代码:

while True:
  capture_and_invert_image_with_PIL() # ~0.065+ sec
  read_image_with_pytesseract()       # ~0.100+ sec
  check_math_expression()             # ~0      sec
  click_button()                      # ~0.035+ sec
  wait_for_next_equation()
                                # total ~0.200+ sec

我已经训练了一种自定义字体语言,以将OCR处理从默认的eng.traineddata的〜0.45秒减少到0.1秒,而将快速版本的OCR处理过程从〜0.25秒减少到了0.25秒。

我认为解决方案可行,但尚未找到解决方案:

  • 在100%CPU上运行Python(大多数Google结果都说多线程是无法完成的)
  • 以100%的CPU运行Tesseract
  • 让Tesseract保持运行状态(我想每次都不会加载到内存中)

0 个答案:

没有答案