Почему Pytesseract не распознает правильно? - PullRequest
0 голосов
/ 11 ноября 2019

Хорошо, поэтому я пытался изменить свое изображение, чтобы оно работало, но я не могу найти правильные настройки.

Это изображение: enter image description here

Как вы можете видеть, картинка уже такая же простая, как и все, но она все еще не может распознать '1 BB' по изображению. Любые советы?

img = Image.fromarray(img)
imp_arr = np.asarray(img)
imp_arr = (np.floor(imp_arr / 140.0) * 255.0).astype('uint8')
img = Image.fromarray(imp_arr, mode='L')
width, height = img.size 
img = img.resize((width*3, height*3), Image.BICUBIC)
width, height = img.size 
img = img.resize((width*2, height*2), Image.HAMMING)
width, height = img.size 
img = img.resize((int(width*0.3), int(height*0.3)), Image.BICUBIC)
img = ImageEnhance.Brightness(img).enhance(0.7)
img = ImageEnhance.Sharpness(img).enhance(2)
img = ImageEnhance.Contrast(img).enhance(2)
amount = pytesseract.image_to_string(img, config='--psm 10 --oem 3 -c tessedit_char_whitelist=0123456789')

Это всего лишь примерчто я пытался отрегулировать правильно, чтобы получить правильный текст в строку. В некоторых случаях это работает, в других случаях печатается тарабарщина. Дело в том, что ... Он должен работать каждый раз, особенно для такой четкой картинки, как эта. Есть ли вдохновитель, который имеет простое решение этой проблемы? Заранее спасибо.

1 Ответ

1 голос
/ 11 ноября 2019

После установки Tesseract OCR, Pillow и pytesseract я сохранил ваше изображение как igor.png и запустил следующий код, который нашел в документах по pytesseract :

#!/usr/bin/env python

from PIL import Image
import pytesseract

print(pytesseract.image_to_string(Image.open("igor.png")))

Он печатает ожидаемый результат:

1BB

Если я немного исправлю ваш исходный код, добавив букву B к tessedit_char_whitelist, он также будет работать.

...