Tesseract OCR无法识别某些字符

时间:2017-05-18 07:39:21

标签: c++ ocr tesseract

我正在开发一个c ++项目,我需要在OCR中编写一些文本字段。我使用Tesseract版本3.02 c ++ API函数来实现这一目标。但OCR结果与图像不同。

以下图片显示为" 31 SW19 SQU"当我使用api.GetUTF8Text()函数。 "31 SW19 SQU"

和以下图像为" 31 SW19 3OU"。 "31 SW19 3OU"

一个问题是tesseract将第一个角色识别为" 3"并且未能在" 3QU"正确。

有人可以向我解释为什么tesseract无法识别这些图像或任何解决问题的指导。

1 个答案:

答案 0 :(得分:0)

我在屏幕上抓取了那个图像并通过我的设置 (v5.0.0 alpha) 运行它,它适合我:

def TestImage2String(file):
    img = cv2.imread(file)
    gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
    gray, th = cv2.threshold(gray, 128, 255, cv2.THRESH_BINARY)
    out = pytesseract.image_to_string(th)
    print(out)

输出是:

SW19 3QU

它是 Python,但 C++ API 非常相似。