【问题标题】:Tesseract OCR - specify patternTesseract OCR - 指定模式
【发布时间】:2019-01-04 12:26:31
【问题描述】:

我正在尝试使用 Tesseract(版本 3.04.00)执行 OCR。 我所有的图像都有相同的模式(数字点数字,即精度为 2 位的小数)。我尝试使用--user-patterns 选项,但我无法让它工作。

我做了什么:

  • 在第一行创建一个patterns.txt\d.\d\d 的文件
  • 使用选项--user-patterns patterns.txt

但我收到以下错误:

pytesseract.pytesseract.TesseractError: (1, "Tesseract Open Source OCR Engine v3.04.00 with Leptonica read_params_file: Can't open 1 read_params_file: Can't open user-patterns read_params_file: parameter not found: \\d.\\d\\d")

如何将我的模式指定给 Tesseract ?这甚至是正确的方法吗? 在此先感谢您的帮助或建议,我在 Tesseract 上找不到太多文档。

编辑:添加 Python 代码

img = cv2.imread("path/to/image", cv2.IMREAD_GRAYSCALE)
text = pytesseract.image_to_string(img, config="-psm 7 --user-patterns patterns.txt")
print(text)

【问题讨论】:

  • 你能显示你尝试过的代码吗?错误信息与pytesseract有关,所以我假设你已经编写了一些代码来得到这个错误。
  • 编辑了问题。但是,我找到了一种更简单的方法,请检查我的答案。我很好奇为什么这不起作用,这将是一个更通用的解决方案。
  • 附带说明 - user-patterns 不会使 tesseract 返回 ONLY 文件中定义的模式。如果它们遵循模式,它只会稍微增加识别符号的置信度,对于用户词也是如此。
  • @DmitriiZ。是的,我在文档中读到了这一点,但我希望它会带来改进,因为有时它在所有方面都是错误的(例如,1.13 被读取为 LIE ......)。

标签: python ocr tesseract python-tesseract


【解决方案1】:

没关系,我认为 Tesseract 对我的用例来说太过分了。

我拍摄了 0 到 9 的每个数字的图像,并选择了我想要预测的图像的最小均方误差。在我的测试数据集上获得 100% 的准确率。

【讨论】:

    猜你喜欢
    • 2015-10-30
    • 2016-04-06
    • 2013-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-10
    • 2019-12-20
    相关资源
    最近更新 更多