tesseract训练新字库

今天我要讲一下如何生成新的识别库

请注意:在您的电脑上安装有tesseract软件 和 jTessBoxEditor软件   系统为ubuntu

下载地址:tesseracthttps://code.google.com/p/tesseract-ocr/downloads/list

         jTessBoxEditor:http://vietocr.sourceforge.net/training.html

 

1.新建一个文件夹test 该文件夹会保存本次项目所有的文件

将需要的字库图片放到test目录下,文件名为lang.fond.exp0.jpg 

 

Lang 为语言 fond 为字体 我们用的是chi.test.exp0.jpg

这个图片文件需要自己生成。

2.生成box文件。

   tesseract chi.test.exp0.jpg chi.test.exp0 batch.nochop makebox

该操作将会生成chi.test.exp0.box文件。这个文件描述了图片里所有字的框架

3.下面我们就要编辑这个box文件

 

可以看出来文件识别多错了,并且文字框架也有不对的,所以我们要对所有的框架编辑。

 

修改成这样。中文先用拼音代替。因为这个软件不能打中文。

将里面的拼音改成中文

 

4.运行tesseract chi.test.exp0.jpg chi.test.exp0 box.train

  这一步生成chi.test.exp0.tr文件

5.运行unicharset_extractor chi.test.exp0.box

  这一步生成unicharset文件

6.下面就要新建字体文件

   font_properties 文件内容为test1 0 0 1 0

7.运行 shapeclustering -F font_properties -U unicharset chi.test.exp0.tr

  生成shapetable文件

8.运行mftraining -F font_properties -U unicharset -O chi.unicharset chi.test.exp0.tr

生成chi.unicharset  inttemp这两个文件。

9.运行cntraining chi.test.exp0.tr

  生成normproto这个文件

10.下面就要合并这些文件了,生成一个字体库

在inttemp normproto pffmtable加上前缀chi.

运行combine_tessdata chi.

(注意chi后面的那个点必须要输入的)

如果第2.4.5.6行不为0.那么就算生成了字体库文件。

11.测试生成的字体库文件。

    

tesseract -l chi chi.test.exp0.jpg out

打开out.txt 

 

还有一些识别错误,需要优化。

原文地址:https://www.cnblogs.com/xiaokangzi/p/3576147.html