我正在尝试使用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
但它不能将其识别为4
我的图像只是数字0-9
。
这只是一个这样的例子,在其他情况下,它很难识别“明显/清晰”的数字。
目前,我对起始图片所做的唯一操作image
是在转换颜色。使用以下内容:
cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
有没有一种方法可以提高准确性。我所有的图像都是清晰的计算机键入图像,因此我认为精度应该比它高很多。
答案 0 :(得分:0)
您没有提供有关tesseract版本和所用语言模型的任何信息。 最佳模型无需任何预处理即可在图像中标识“ 4”。