Почему pytesseract не идентифицирует это изображение? - PullRequest
0 голосов
/ 29 февраля 2020

Я пытаюсь идентифицировать однозначные числа в python с помощью tesseract.

Мой код такой:

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 голосов
/ 01 марта 2020

Вы не предоставили никакой информации о своей версии tesseract и используемой вами языковой модели. Лучшая модель идентифицирует «4» в вашем изображении без какой-либо предварительной обработки.

...