正方体 - 训练
Posted
技术标签:
【中文标题】正方体 - 训练【英文标题】:Tesseract - training 【发布时间】:2016-02-12 17:38:06 【问题描述】:我正在尝试通过 tesseract 学习一些东西。
我正在使用 jTessBoxEditor 和 Serak。
首先,我创建了一些 .txt,其中包含例如 10 000 个字符,它们用一个空格分隔。我将其用作 TIFF/BOX 生成器中 jTessBoxEditor 的输入。这会为我创建盒子和 .tiff 图像。
现在我验证了这些框,我发现它们是正确的。所以我在 Serak 中使用它并训练 tesseract 并创建了一些 xxx.traineddata。
现在我想验证结果。因此,我创建了一个小的 .txt,例如用空格分隔的 100 个字符,但所有字符都非常相似(文件包含类似 5 S 5 S 0 O 2 Z 等内容)。现在我用与学习相同的方法创建 .tiff,所以我使用 jTessBoxEditor、相同的字体并生成新的 .tiff 文件。在 Serak 中,我尝试对这个新的 .tiff 进行 OCR,结果是 0 与 O 混合,5 与 S 混合,依此类推。
我做错了什么?
【问题讨论】:
如果你在 jTessBoxEditor 中训练,它能够验证生成的.traineddata
文件。
当然。但我真的很困惑,因为当我使用用于训练 tesseract 的图像,然后我尝试使用新的训练数据来 ocr 相同的图像时,tesseract 给了我不好的结果(0 -> O 等等)。
【参考方案1】:
您确定您创建的新字体已放入 .traineddate 文件吗?您必须将字体添加到 font-properties 文件中,在字体上运行 unicharset_extractor,然后 mftraining 和 cntraining,然后将所有内容组合在一起以获得生成的 .traineddata 文件。我遇到了与您类似的情况,我猜想错误很可能是在创建 .traineddata 文件中。在你的新字体加入后,tesseract 应该可以确定你刚刚训练它的文件的字符是什么。
【讨论】:
以上是关于正方体 - 训练的主要内容,如果未能解决你的问题,请参考以下文章
算法训练 Balloons in a Box (枚举,模拟)