训练步骤:
以前我以为训练就是通过将官方提供的中文字库将不准确的字库进行调整,然后达到自我修定这样的一个过程,其实是错了,所谓的训练其实就是制作一种新的语言而以。由于模拟器上的字体多变,官方提供的中文字库(训练好的字库)识别率很低,也不一定符合我们的要求,于是我们将制定自已的字库文件
首先需要找到相应的中文汉字大全,我在测试中在网上找到一个汉字库,不是很全。主要做为demo演示一下效果而以。比如我的“邹”字就没有!
生成tif图像文件
- 如:chi.duomi.exp0.tif ([lang].[fontname].exp[num].tif)
- 最早我是通过自已写的java代码,然后将这些汉字drawString的方式搞成一张图,转换成tif,以后发现其实JTextBoxEditor工具已带了这个功能。
- 这一步的关键就是要找到模拟器中的字库,将模拟器中的字库给分离出来,放到自已的操作系统中。如果不知道是什么字体,有个网站叫求字体的网站,可以找出相似的字体。地址: http://www.qiuziti.com/ ,然后通过图象处理软件,最好将字体的大小也弄到一致,我是通过fireworks试输入相应的字体大小,当达到重合的时候,我就知道了字体大小了。
然后由JTextBoxEditor产生一个Tif图象和一个Box文件。选择好字体,以及字体大小,Tesseract识别的核心就是通过这个box文件来校对字样。
- 需要选中Anti-Aliasing 选项,要不出来的字体没有去锯齿功能。不符合我们测试用例中的文字。
- 当然制作box文件也可以由命令生成,但首先你得需要有一个需要识别的所有字的tif图象。命令格式:
E:\Tesseract-ocr\tesseract.exe chi.duomi.exp0.tif chi.duomi.exp0 batch.nochop makebox
运行以上命令也会产生一个box文件。产生box文件的过程是必须的,也是最重要的,没有box文件以下的内容都无法进行。
产生字符特征文件
tesseract chi.duomi.exp0.tif chi.duomi.exp0 nobatch box.train
这一步将会产生 chi.duomi.exp0.tr文件和一个 chi.duomi.exp0.txt文件,txt文件貌似没什么用,看看而以。
计算字符集
unicharset_extractor chi.duomi.exp0.box
这一步会产生一个unicharset字符集文件.
聚集字符特征
在运行mftraining这一步之前,需要手工建立一个文件font_property,内容为如下
duomi 0 0 0 0 0
格式为: <fontname> <italic> <bold> <fixed> <serif> <fraktur>
mftraining -U unicharset -O chi.unicharset chi.duomi.exp0.tr
使用上一步产生的字符集文件unicharset,来生成当前新语言的字符集文件chi.unicharset。同时还会产生图形原型文件inttemp和每个字符所对应的字符特征数文件pffmtable。最重要的就是这个inttemp文件了,他包含了所有需要产生的字的图形原型。
cntraining chi.duomi.exp0.tr
这一步产生字符形状正常化特征文件normproto。
产生字典文件(可选)
- wordlist2dawg freq.txt chi.freq-dawg chi.unicharset
- wordlist2dawg wordList.txt chi.word-dawg chi.unicharset
freq.txt 存放出现频率较高的字符;wordList.txt存放所有字符集,但是这个在识别率上好像没多少用处,可能主要为提高识别效率做的吧。
同样的方法产生punc-dawg文件(符号)、number-dawg文件(数字)以及user-words文件(用户自定义字符,通常为空)。
如果没有这几个dawg文件,可以把官方的语言包解压,然后分离出这些文件,解压语言包的命令是combine_tessdata
合并训练文件
- 进行这一步以前需要将上面产生的文件都加个前缀chi.
combine_tessdata chi.
这一步会产生最终的chi.traineddata文件。将chi.traineddata复制到tessdata目录中就算完事了,可以进行测试了
测试
tesseract image.png out -l chi
out表示输出结果 -l后面的参数表示使用我们刚才训练的chi字库。
总结
我写了两个bat文件,可以做为参考:
http://pan.baidu.com/s/1qWBAmTI
先运行ready.bat 再运行run
参考手册
关于一些命令的使用方法可以参考下:
相关推荐
这个压缩包提供的“Tesseract OCR 训练集”包含了不同语言和功能的数据文件,分别是 chi_sim.traineddata(简体中文训练数据)、eng.traineddata(英文训练数据)以及 osd.traineddata(页面布局分析数据)。...
Tesseract中文训练库是专为Tesseract OCR(Optical Character Recognition,光学字符识别)引擎定制的一个数据集,用于提高Tesseract在识别中文字符时的准确性和效率。Tesseract是一款开源的OCR软件,由HP开发并在...
这就是Tesseract训练工具的用武之地。 在给定的资源中,我们提到的"训练工具"主要是指`jTessBoxEditor`,这是一个用于Tesseract OCR字体库训练的图形界面工具。它使得用户能够更加直观和便捷地创建和编辑用于训练的...
**训练库介绍** “chi_sim.traineddata”是Tesseract OCR针对简体中文的训练数据文件。这个文件包含了模型参数和字典信息,使得Tesseract能够理解和识别简体中文字符。训练过程涉及大量的图像处理、特征提取和机器...
8. 持续改进:Tesseract训练并非一次性任务,随着新的样本和需求出现,可能需要对模型进行更新和微调。持续收集新的样本并定期进行训练,可以保持模型的识别性能处于最优状态。 总结,通过上述的训练过程,我们可以...
Tesseract-OCR字库训练,其中包含三个部分: 1、jTessBoxEditor安装 2、字库训练 3、合并字库
一个自制的tesseract训练脚本,可以批量生成box文件,批量修改box文件,批量训练tesseract.适合批量训练tesseract
本资源包括工具(zip)和训练好的模型以及一个java文件 工具:jTessBoxEditor工具用于调整图片上文字的内容和位置 训练好的模型在tessdata下面。注:在java代码下使用训练好的模型,训练后的模型必须放 到tessdata...
**Tesseract多样本合并训练测试**是针对OCR(光学字符识别)引擎Tesseract的一个关键步骤,特别是当你需要处理多种字体或样式时。Tesseract是一个开源的OCR软件,由Google维护,能够识别图像中的文本并将其转换为可...
**Tesseract OCR训练库制作工具:jTessBoxEditor-1.7.3** Tesseract OCR(Optical Character Recognition)是一款强大的开源OCR引擎,由谷歌维护,能够识别图像中的文字并将其转换为可编辑文本。它支持多种语言,...
训练过程涉及制作训练数据集,创建训练文件,然后使用Tesseract的训练工具进行训练。这个教程可能会涵盖这些步骤,包括如何创建Ground Truth文件、使用Tesseract的`tesstrain.sh`脚本等。 在C#中,训练后的数据可以...
公司项目要用到Tesseract 生成训练集的时候特别难受就写了个这个东西
本工具用于训练新字体,自带官方提供的训练样本,可直接训练新字体,效果佳,效率高,参考文档:https://blog.csdn.net/baoolong/article/details/122231259
Tesseract的工作原理依赖于训练数据,这些数据包括特定语言的字符模型和识别规则。"eng.traineddata"文件就是专门为英语语言定制的训练库,包含了识别英文字符所需的信息。这个文件是由一系列的训练过程产生的,包括...
首先,我们需要了解Tesseract训练的基本概念。训练过程涉及几个关键步骤,包括创建字典、制作样本图像、训练数据集、生成配置文件以及编译和打包最终的OCR引擎。这个过程是为了让Tesseract学会识别特定字体或语言的...
4. 导入/导出:可以导入已有的Box文件进行编辑,或者将编辑好的Box文件导出,供Tesseract训练使用。 三、Tesseract训练流程 1. 准备样本图像:收集大量包含目标语言或特定字体的图像作为训练样本。 2. 创建Box...
《使用Tesseract训练MNIST数据集的实战指南》 在当今的数字时代,光学字符识别(OCR)技术已经成为处理图像中文字的关键工具。Tesseract,一个由Google维护的开源OCR引擎,因其强大的识别能力和可扩展性而备受青睐...
### Tesseract-OCR 训练自定义字库详解 #### 一、简介 Tesseract-OCR 是一个开源的光学字符识别引擎,具有很高的准确度,能够处理多种语言的文字识别任务。对于特定场景或字体,Tesseract 可能无法达到理想的识别...
训练Tesseract OCR涉及到创建一个训练数据集,包括图像文件和对应的Ground Truth文本文件。这个过程分为几个关键步骤: 1. **准备训练数据**:首先,你需要收集包含要识别的字符的图像样本,这些样本应该覆盖所有...