Pytesseract не распознает текст на некоторых изображениях

Рейтинг: 0Ответов: 1Опубликовано: 03.08.2023

Почему не распознает текст на простой картинке: pytesseract (48х22 пикс.)?

img = PIL.Image.open(...).crop(...).convert('L') # получение этого изображения в режиме L
price = tess.image_to_string(img, config='--psm 6 --oem 3 -c tessedit_char_whitelist=0123456789.,')

В price пустая строка "", даже без \n в конце

Ответы

▲ 0Принят

Попробуйте такой вариант.

Применил предобработку изображения, чтобы обеспечить бинаризацию, что позволит выделить белые цифры на черном фоне.

import pytesseract
from PIL import Image

# Загрузка изображения и предобработка
img = Image.open('путь_к_вашей_картинке.png')
img = img.convert('L')  # Преобразование в оттенки серого
threshold = 200        # Пороговое значение для бинаризации (настройте по необходимости)
img = img.point(lambda p: p > threshold and 255)  # Бинаризация

# Распознавание текста с указанием параметров
text = pytesseract.image_to_string(img, config='--psm 6 --oem 3 -c tessedit_char_whitelist=0123456789.,')

print("Результат распознавания:", text)