pytesseract为什么无法识别此图像?

时间:2020-02-29 16:39:59

标签: python-3.x machine-learning ocr tesseract python-tesseract

我正在尝试使用tesseract识别python中的单个数字。

我的代码是这样的:

import numpy as np
from PIL import Image
from PIL import ImageOps
import pytesseract
import cv2

def predict(imageArray):
    pytesseract.pytesseract.tesseract_cmd = r"C:\Program Files\Tesseract-OCR\tesseract.exe"
    newImageArray = Image.open(imageArray)
    number = pytesseract.image_to_string(newImageArray, lang='eng', config='--psm 10 --oem 1 -c tessedit_char_whitelist=0123456789')

    return number

毫无疑问,这是一个8

Image1

但它不能将其识别为4

Image2

我的图像只是数字0-9

这只是一个这样的例子,在其他情况下,它很难识别“明显/清晰”的数字。

目前,我对起始图片所做的唯一操作image是在转换颜色。使用以下内容:

cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)

有没有一种方法可以提高准确性。我所有的图像都是清晰的计算机键入图像,因此我认为精度应该比它高很多。

1 个答案:

答案 0 :(得分:0)

您没有提供有关tesseract版本和所用语言模型的任何信息。 最佳模型无需任何预处理即可在图像中标识“ 4”。