【问题标题】:Recognize simple digits with pytesser使用 pytesser 识别简单数字
【发布时间】:2014-06-16 16:02:21
【问题描述】:

我正在使用 PyTesserTesseract 学习 OCR。作为第一个里程碑,我想编写一个工具来识别仅由一些数字组成的验证码。我阅读了一些教程并编写了这样一个测试程序。

from pytesser.pytesser import *
from PIL import Image, ImageFilter, ImageEnhance

im = Image.open("test.tiff")
im = im.filter(ImageFilter.MedianFilter())
enhancer = ImageEnhance.Contrast(im)
im = enhancer.enhance(2)
im = im.convert('1')
text = image_to_string(im)
print "text={}".format(text)

我用下图测试了我的代码。但结果是2(T?770。我也测试了一些其他类似的图像,在 80% 的情况下结果是不正确的。

我不熟悉图像处理。我有两个问题:

  1. 是否可以告诉PyTesser 只猜测数字?

  2. 我认为图像很容易被人类阅读。如果PyTesser 仅读取数字图像如此困难,是否有任何替代方案可以做更好的 OCR?

非常感谢任何提示。

【问题讨论】:

    标签: python python-imaging-library ocr pytesser


    【解决方案1】:

    我认为您的代码还可以。它可以识别207770。问题出在pytesser 安装处。 pytesser 中的 Tesseract 已过时。您将下载最新版本并覆盖相应的文件。您还可以编辑 pytesser.py 并更改

    tesseract_exe_name = 'tesseract'
    

    import os.path
    tesseract_exe_name = os.path.join(os.path.dirname(__file__), 'tesseract')
    

    【讨论】:

    • 你怎么知道 pytesser 中的 Tesseract 已经过时了?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-19
    • 1970-01-01
    • 1970-01-01
    • 2012-03-13
    • 1970-01-01
    • 2016-02-03
    • 1970-01-01
    相关资源
    最近更新 更多