【发布时间】:2019-05-29 13:48:22
【问题描述】:
我正在制作一个文本识别程序,我想训练我的 Tesseract 4.0 识别特定字体(希伯来语)。我该怎么做?
我尝试了“trainyourtesseract.com”(根本不起作用)和“jTessBoxEditor”(我不明白如何使它正常工作)。
我很想在这个问题上获得一些帮助。 谢谢。
【问题讨论】:
标签: text fonts ocr tesseract text-recognition
我正在制作一个文本识别程序,我想训练我的 Tesseract 4.0 识别特定字体(希伯来语)。我该怎么做?
我尝试了“trainyourtesseract.com”(根本不起作用)和“jTessBoxEditor”(我不明白如何使它正常工作)。
我很想在这个问题上获得一些帮助。 谢谢。
【问题讨论】:
标签: text fonts ocr tesseract text-recognition
您是否尝试阅读此链接? https://github.com/tesseract-ocr/tesseract/wiki/TrainingTesseract-4.00#tutorial-guide-to-lstmtraining
粗略的方法是您必须准备自己的语言文件(最重要的是您自己的 .trainingtext 文件),然后运行 tesstrain.sh 来生成数据集。之后,您可以运行 combine_tessdata 从原始希伯来语模型中提取 .lstm 文件,并将其用作lstmtraining 工具中的参数,以使用您的新字体微调原始模型。
更新:文档链接已更改:https://tesseract-ocr.github.io/tessdoc/TrainingTesseract-4.00
【讨论】:
这里是 tesseract 自定义训练的 shell 脚本
N=3 # number of images
#image name => languagename.fontname.expN.filetype
for i in `seq 1 $N`
do
tesseract testlan.arial.exp$i.png testlan.arial.exp$i batch.nochop makebox
done
#Step 02:创建.tr文件(合成图像文件和盒子文件)
for i in `seq 1 $N`
do
tesseract testlan.arial.exp$i.png testlan.arial.exp$i box.train
unicharset_extractor testlan.arial.exp$i.box
done
echo "arial 0 0 1 0 0" > font_properties
#步骤 6
for i in `seq 1 $N`
do
mftraining -F font_properties -U unicharset -O testlan.unicharset testlan.arial.exp$i.tr
cntraining testlan.arial.exp$i.tr
done
#在第 5 步和第 6 步之后创建 shapetable、inttemp、pffmtable、normproto 文件
mv inttemp testlan.inttemp
mv normproto testlan.normproto
mv pffmtable testlan.pffmtable
mv shapetable testlan.shapetable
combine_tessdata testlan.
#move testlan.traineddata 到C:\Program Files\Tesseract-OCR\tessdata
【讨论】: