如何在 pytesseract 中使用经过训练的数据?

Posted

技术标签:

【中文标题】如何在 pytesseract 中使用经过训练的数据?【英文标题】:How to use trained data with pytesseract? 【发布时间】:2017-10-26 06:59:31 【问题描述】:

使用此工具http://trainyourtesseract.com/ 我希望能够在 pytesseract 中使用新字体。该工具给了我一个名为 *.traineddata 的文件

现在我正在使用这个简单的脚本:

try:
    import Image
except ImportError:
    from PIL import Image
import pytesseract as tes

results = tes.image_to_string(Image.open('./test.jpg'),boxes=True)
file = open('parsing.text','a')
file.write(results)
print(results)

如何使用我的训练数据文件,以便我能够使用 python 脚本读取新字体?

谢谢!

edit#1:所以我知道*.traineddata 可以与 Tesseract 一起用作命令行程序。所以我的问题还是一样,如何在 python 中使用traineddata?

edit#2:我的问题的答案在这里How to access the command line for Tesseract from Python?

【问题讨论】:

【参考方案1】:

下面是带有选项的pytesseract.image_to_string() 示例。

pytesseract.image_to_string(Image.open("./images***/xyz-small-gray.png"),
                                  lang="eng",boxes=False,
                                  config="--psm 4 --oem 3 
                                  -c tessedit_char_whitelist=-01234567890XYZ:"))

要使用您自己训练的语言数据,只需将lang="eng" 中的"eng" 替换为您的语言name(.traineddata)

【讨论】:

对上述答案的一个小补充:将 xyz.traineddata 文件保存在保存 tesseract 数据的路径中(例如:/usr/share/tesseract-ocr/tessdata/)并传递以下内容:@987654326 @ .traineddata 被附加到语言名称中,并且 OpenCV 4 中的白名单被破坏。

以上是关于如何在 pytesseract 中使用经过训练的数据?的主要内容,如果未能解决你的问题,请参考以下文章

Tesseract pytesseract的安装和使用

如何在 iOS 中使用经过 Tensorflow 训练的机器学习模型

如何在 Keras 中使用经过训练的模型进行预测

如何在pytesseract中获取角色位置

如何在 Matlab 中使用经过训练的神经网络在真实系统中进行分类

如何在 Keras 中保存经过训练的模型以在应用程序中使用它?