Tesseract优化

时间:2016-07-28 19:50:00

标签: performance tesseract

我正在使用tesseract从.png文件中读取简单的时间戳,并且需要知道我可以使用哪些命令行参数来加快这个过程?

time for f in *.png; do tesseract -c tessedit_char_whitelist=0123456789-: -c load_freq_dawg=0 -c load_system_dawg=0 "$f" stdout; done
  • -c tessedit_char_whitelist=0123456789-:限制了它可以找到的内容, 在我的情况下提高准确性
  • -c load_freq_dawg=0 -c load_system_dawg=0理论上可以防止 加载标准频率词典但我无法注意到 很大的不同。

我试过-c max_permuter_attempts=12理论上限制了tesseract对一个角色的尝试次数(因为我只让它找到12 ..)但速度增加可以忽略不计。

其他参数如下:http://www.sk-spell.sk.cx/tesseract-ocr-parameters-in-302-version

图像都具有以下形式:

enter image description here

目前,十张图片需要:

real    0m1.749s
user    0m1.632s
sys     0m0.096s

所以,10,000人需要30分钟......

1 个答案:

答案 0 :(得分:2)

在以前的项目中,我看到你可以指定tesseract应该期望的“种类”文本。

在您的情况下,此选项可能会有所帮助:

  

-psm NUM指定页面分割模式。注意:这些   选项必须在任何配置文件之前发生。

     

页面分割模式:
   0方向和脚本检测(OSD)   只。
  1使用OSD自动分页。
  2自动   页面分割,但没有OSD或OCR   3全自动页面   分割,但没有OSD。 (默认)
  4假设一列   可变尺寸的文本   5假设一个统一的块   垂直对齐的文字。
  6假设一个统一的文本块   7将图像视为单个文本行   8将图像视为   一个字   9将图像视为圆圈中的单个单词   10将图像视为单个字符。

尝试为您的案例设置-psm 7.