Tesseract训练比没有训练的结果更糟糕

时间:2015-09-17 09:06:07

标签: ocr tesseract

我使用了tesseract-ocr 3.02.02的Windows安装程序(我没有找到3.04的新版本)。我的图像是JPEG,分辨率为600dpi(3507x4960),这是一张扫描空白的“无法工作的证书”。没有经过培训的OCR结果比训练后更准确。那么我做错了什么?

这样我构建我的盒子文件:

SET LANG=arbeitsunfaehigkeit
SET FONTNAME=hausarzt
SET TESSLANG=%LANG%.%FONTNAME%.exp0

tesseract %TESSLANG%.jpg %TESSLANG% -l deu batch.nochop makebox

使用jTessBoxEditor我手动修复了每个方框。然后我开始了培训:

SET LANG=arbeitsunfaehigkeit
SET FONTNAME=hausarzt
SET TESSLANG=%LANG%.%FONTNAME%.exp0

tesseract %TESSLANG%.jpg %TESSLANG% -l deu nobatch box.train

unicharset_extractor %TESSLANG%.box

shapeclustering -F font_properties -U unicharset %TESSLANG%.tr

mftraining -F font_properties -U unicharset -O %LANG%.unicharset %TESSLANG%.tr

cntraining %TESSLANG%.tr

MOVE inttemp %LANG%.inttemp
MOVE normproto %LANG%.normproto
MOVE pffmtable %LANG%.pffmtable
MOVE shapetable %LANG%.shapetable

combine_tessdata %LANG%.

COPY %LANG%.traineddata %TESSERACT_HOME%\tessdata /Y

没有经过培训的OCR(达到最佳效果)就像:

SET LANG=arbeitsunfaehigkeit
SET FONTNAME=hausarzt
SET TESSLANG=%LANG%.%FONTNAME%.exp0

tesseract %TESSLANG%.jpg without_training -l deu

使用训练有素的数据:

SET LANG=arbeitsunfaehigkeit
SET FONTNAME=hausarzt
SET TESSLANG=%LANG%.%FONTNAME%.exp0

tesseract %TESSLANG%.jpg with_training -l %LANG%

也许我错了,但我期待一个完美的结果(我使用相同的JPEG进行训练和OCRing)。

这里是without_training.txt的第一部分:

Paul Albrechts Verlag, 22952 Lütjensee Bei verspäteter Vorlage droht Krankengeldverlust!

Krankenkasse bzw. Kostenträger

Name, Vorname des Versicherten

geb. am

Kassen—Nr. Versicherten—Nr. Status

Betriebsstätten-Nr. Arzt—Nr. Datum

with_training.txt的第一部分:

Pau/A/brechrs Ver/ag, 22952 Lüfjensee Be! verspäteter vor!age droht Krankenge!dver!ust!

Krankenkasse bzw. Kostenträger

Name, Vorname des Versicherten

geb. am

Kassen-Nr. Versicherten-Nr. status

Betriebsstätten-Nr. Arzt-Nr. Datum

1 个答案:

答案 0 :(得分:0)

在我的情况下,添加语言“deu”就可以了:

tesseract %TESSLANG%.jpg with_training -l %LANG%+deu

而不是

tesseract %TESSLANG%.jpg with_training -l %LANG%