我正在使用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
图像都具有以下形式:
目前,十张图片需要:
real 0m1.749s
user 0m1.632s
sys 0m0.096s
所以,10,000人需要30分钟......
答案 0 :(得分:2)
在以前的项目中,我看到你可以指定tesseract应该期望的“种类”文本。
在您的情况下,此选项可能会有所帮助:
-psm NUM指定页面分割模式。注意:这些 选项必须在任何配置文件之前发生。
页面分割模式:
0方向和脚本检测(OSD) 只。
1使用OSD自动分页。
2自动 页面分割,但没有OSD或OCR 3全自动页面 分割,但没有OSD。 (默认)
4假设一列 可变尺寸的文本 5假设一个统一的块 垂直对齐的文字。
6假设一个统一的文本块 7将图像视为单个文本行 8将图像视为 一个字 9将图像视为圆圈中的单个单词 10将图像视为单个字符。
尝试为您的案例设置-psm 7.