【发布时间】:2016-10-19 09:56:15
【问题描述】:
TLDR;版本:
是否有人使用我可以看到的 .NET 包装器为 Tasseract 提供有效的“集市”配置?
我很确定这就是我想要的(只能识别列表中的一些单词),但它似乎没有任何作用
我有一个很短的可能字符串列表(1-4 个字)。 Tesseract 的文档指出:
如果你想替换整个字典,你需要解压 .traineddata文件,新建word-dawg文件,然后打包 文件回到 .traineddata 文件。有关更多信息,请参见 TrainingTesseract 详情。
这听起来像我想要的!所以我看看TrainingTesseract 看看:
训练的数据文件只是输入文件的串联, 带有包含已知文件偏移量的目录 类型。请参阅源代码中的 ccutil/tessdatamanager.h 以获取列表 当前接受的文件名。
太好了。那么,我该如何解压缩这个简单的输入文件串联,修改内容和标题并重新打包呢? :)
This post 似乎是同一个问题 - 只需关闭默认字典并改用用户词:
假设你想用英文进行 OCR,但抑制了正常的 字典并加载替代单词列表和替代列表 of patterns — 这两个文件是最常用的额外数据 文件。
如果您的语言包位于 /path/to/eng.traineddata 和 hocr config 在 /path/to/configs/hocr 然后创建三个新文件:
/path/to/eng.user-words: -snip
/path/to/eng.user-patterns: -snip
/path/to/configs/bazaar: -snip
现在,如果你通过 word bazaar 作为 Tesseract 的尾随命令行参数, Tesseract 不会打扰加载系统字典或 常用词词典,并将加载和使用 eng.user-words 和您提供的 eng.user-patterns 文件。前者是一个简单的词 列表,每行一个。后者的格式记录在 dict/trie.h on read_pattern_list()。
但是做完这些就没什么区别了!
我正在创建引擎:
using (engine = new TesseractEngine(@"C:\src\x\tessdata", "eng", EngineMode.Default, @"C:\src\x\tessdata\engine.config"))
制作了一个(UTF-8,unix 行结尾)文件engine.config:
load_system_dawg F
load_freq_dawg F
user_words_suffix user-words
user_patterns_suffix user-patterns
并在 eng.traineddata 旁边创建了 eng.user-patterns 和 eng.user-words(UTF-8,Unix 行尾)文件。
【问题讨论】:
-
我想知道这是否可能?我想知道除了开发人员之外是否有人在使用 Tesseract?