Training Tesseract – tesstrain.sh - kana112233/tesseract GitHub Wiki
tesstrain.sh是一个脚本,可以自动调用相应的程序来创建语言的新培训. 它使用各种程序进行培训,因此您需要在使用之前使用“make training”构建它们.
此页面详细介绍了用于培训3.0x分支的版本. 并非所有文件都是LSTM培训所必需的.
有关4.0 LSTM培训的使用,请参阅https://github.com/tesseract-ocr/tesseract/wiki/TrainingTesseract-4.00
#示例用法
$ ./tesstrain.sh --lang kan --langdata_dir /path/to/mylangdata --tessdata_dir /path/to/mytessdata
这是tesstrain.sh
最常见的用法.
请参阅tesstrain.sh
顶部的注释,了解它接受的所有参数的描述.
随Ubuntu一起提供的tesstrain.sh副本稍作修改,以自动获得一些默认参数
填写,因为许多目录位置是标准化的. 文档位于标准位置.
/usr/share/doc/tesseract/README.debian
修改节省了一些打字. 这是日语培训的一个例子.
git clone https://github.com/tesseract-ocr/langdata.git
apt-get install fonts-noto-cjk fonts-japanese-mincho.ttf fonts-takao-gothic fonts-vlgothic
tesstrain.sh --lang jpn --langdata_dir langdata
#Langdata
tesstrain.sh需要在培训过程中使用某些文件. 这些通常存储在'langdata'目录中. Tesseract正式支持的语言的langdata都存储在langdata存储库中,但您当然可以将langdata存储在任何您想要的位置.
##必填文件
至少需要在langdata目录中提供以下文件(请注意[lang]是语言代码,例如'kan'或'eng'):
- [lang]/[lang] .training_text(或者可以在命令行中使用
--training_text/path/to/textfile
指定)
##可选文件
这些文件可以选择在您的langdata目录中,并由tesstrain.sh用于提高培训质量:
- [lang]/[lang] .wordlist(或者可以在命令行中使用
--wordlist/path/to/wordlist
指定) - [lang]/[lang] .word.bigrams
- [lang]/[lang] .numbers
- [lang]/[lang] .punc
- [lang]/[lang] .config
- [lang]/[lang] .unicharambigs
- [lang]/[lang] .training_text.bigram_freqs
- [lang]/[lang] .training_text.unigram_freqs
##一般文件
这些是可以影响多种语言的通用文件,但如果需要可以编辑(注意[脚本]是脚本名称,例如'希腊语'或'希伯来语'或'梵文'.一个脚本可用于多种语言,例如 .印地语,梵语,马拉地语,尼泊尔语等的梵文剧本:):
- [脚本] .x高度
- [脚本] .unicharset
- font_properties
Nick White的xheight工具可用于查找不同字体的xheight.要克隆它并构建xheights工具,请执行以下操作:
$ git clone http://ancientgreekocr.org/grctraining.git
$ cd grctraining
$ make tools/xheight
要了解它如何用于希腊培训,请执行以下操作:
$ make langdata/Greek.xheights
#Langdata文件
training_text
训练文本是一个文本文件,用于训练Tesseract语言. 它应包含每个字符的几个样本,并尽可能接近实际的文本样本.
词汇表
单词列表是一个文本文件,其中包含一个单词列表,每行一个,按降低频率排序(因此最常见的单词是第一个).
training_text.bigram_freqs
这是一个文本文件,其中包含一个bigrams列表(这里表示两个字符)以及它们在training_text
中彼此相邻的频率,每行一个bigram.
training_text.unigram_freqs
这是一个文本文件,其中包含unigrams(字符)列表以及它们在training_text
中彼此相邻的频率,每行一个unigram.
word.bigrams
这是一个文本文件,其中包含由空格分隔的双字节列表(此处表示两个单词),每行一个,按照它们彼此相邻的频率排序(最常见于顶部).
numbers,punc,config,unicharambigs
这些文件都直接组合到最终培训中. 有关其功能及其使用方法的详细信息,请参阅TrainingTesseract页面.
#special- specific.sh`中的#选项
您可以选择设置一些培训选项,以及通过编辑training/language-specific.sh
脚本来设置培训语言的默认选项(例如要使用的字体).
要为您的语言设置选项,请查看language-specific.sh
的结尾,其中变量是根据语言代码(set_lang_specific_parameters()
函数)设置的.
##字体
您可以将字体设置为tesstrain.sh的参数(作为--fontlist'字体1''字体2'
)或通过指定language-specific.sh
中的字体.
##其他选项
对于其他可以设置的变量,最好只读取set_lang_specific_parameters()
函数来查看它们的作用,然后使用tesstrain_utils.sh
来查看它们的确切使用方式.
#stsstrain_utils.sh
请注意,tesstrain.sh
所做的大部分工作实际上是从[training/tesstrain_utils.sh]导入的(https://github.com/tesseract-ocr/tesseract/blob/master/training/tesstrain_utils.sh
)文件,所以如果你对它正在做什么感到好奇,或者想要改变它的行为,那就看看吧.