一个项目只需要tesseract traineddata 中的数字部分。

实现过程简单说就是解包,去掉多余,再打包。利用了tesseract的dawg2wordlist  /  wordlist2dawg 和 combine_tessdata 这三个命令。

首先解包:

这里需要用到Tesseract安装包,而不是源码。在Tesseact-OCR文件夹下运行

combine_tessdata -u tessdata/eng.traineddata d:/temp/eng.

得到一堆零件:

裁剪Tessdata-LMLPHP

看到最大的那个eng.bigram-dawg文件。用下面命令解析成看得清的文本文档:

dawg2wordlist d:/temp/eng.unicharset d:/temp/eng.bigram-dawg d:/temp/bigram-wordlist

看到文件里是这样的东西:

I F
I Found
I Foundations
I For
I Forgot
I Forget
I Fig
I Figure
I First
I Fine
I Find
I FIND
I FINALLY
I From
I Fucked
I Family
I Fall
I FOUND
I Feel
I Feed
I Fell

原来是一些可能的文字组合,怪不得这么大。

检查了一下里面根本没有数字。后来从这里得知这个文件中的数字都用?代替了。把这个文件删除,我们自己来做一个。

新建一个mywordlist文本文件,里面只写一行(全空无法生成):

?????????? ???????????

用下面命令生成dawg文件

wordlist2dawg d:/temp/mywordlist d:/temp/eng.bigram-dawg d:/temp/eng.unicharset

再用下面命令生成eng.traineddata文件,原文件会被覆盖。

combine_tessdata d:/temp/eng.

看一下,只有3M多一点了。

放手机上试一下,能用。

05-07 15:03