Tesseract的自定义词典

14

我目前正在使用Tesseract OCR在Android上开发一个项目。希望通过添加词典来微调用户获取的结果。根据 tesseract OCR wiki 的说明,最好的方法是:

用与之相同格式的UTF8文本文件替换tessdata/eng.user-words中的单词列表,每行一个单词。

然而,在tessdata文件夹中没有eng.user-words文件。我猜想如果我只是创建一个包含我的字典的文本文件,它将永远不会被使用……

是否有人有类似的经历并知道该怎么做?

1个回答

13
如果您正在使用的是 tesseract 3(我认为是这样的),那么您需要重新构建eng.trainddata文件。 我打算完全替换单词 DAWG 文件以尝试获得更好的结果(即 - 我检测到的单词总是相同的)。 在编译tesseract时,您需要在训练目录中包含combine_tessdatawordlist2dawg可执行文件。 按照以下步骤操作:
  1. 解压所有内容(我这样做只是为了备份我的 eng.word-dawg,您稍后还需要 unicharset)

    ./combine_tessdata -u eng.traineddata

  2. 创建您的单词列表文本文件(wordlistfile)

  3. 创建 eng.word-dawg

    ./wordlist2dawg wordlistfile eng.word-dawg traineddat_backup/.unicharset

  4. 替换单词 DAWG 文件

    ./combine_tessdata -o eng.traineddata eng.word-dawg

完成。

1
我正在尝试执行第3步,但出现了以下错误: 从'traineddat_backup/.unicharset'加载unicharset 无法从'traineddat_backup/.unicharset'加载unicharset 请帮忙,我正在Ubuntu 12.04和tesseract 3.02上尝试。 - Muaz Usmani
1
@MuhammadMuaz:traineddat_backup/.unicharset 是第一个命令的输出文件夹路径。如果第一个命令是 ./combine_tessdata -u ita.traineddata /path/to/folder/tmp/ita.,那么第三个命令就是 ./wordlist2dawg wordlist ita.word-dawg /path/to/folder/tmp/ita.unicharset。希望能对你有所帮助,我在这上面浪费了30分钟。 - Tenaciousd93

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接