#python #image #ocr #tesseract
#python #изображение #ocr #tesseract
Вопрос:
Я новичок в Tesseract и хотел бы знать, есть ли какие-либо способы очистки фотографий для простой программы распознавания текста, чтобы получить лучшие результаты. Заранее спасибо за любую помощь! Код, который я использую:
#loads tesseract
tess.pytesseract.tesseract_cmd =
#filepath
file_path =
image = Image.open(file_path)
#processes image
text = tess.image_to_string(image, config='')
print(text)
Ответ №1:
Я использовал pytesseract
в прошлом и со следующими четырьмя модификациями, я мог читать практически все, если шрифт текста не был слишком маленьким для начала. pytesseract
кажется, борется с мелким написанием, даже после изменения размера.
— Преобразование в черно-белый —
Преобразование изображений в черно-белые часто улучшает распознавание программы. Для этого я использовал OpenCV и получил код из конца этой статьи.
— Обрезка —
Если все ваши фотографии имеют одинаковый формат, так как текст, который вам нужен, всегда находится в одном и том же месте, я бы рекомендовал обрезать ваши фотографии. Если возможно, передавайте только ту часть фотографии pytesseract
, которую вы хотите проанализировать, чем меньше программа должна анализировать, тем лучше. В моем случае я делал скриншоты и указывал точный регион, где их делать.
— Изменение размера —
Еще одна вещь, которую вы можете сделать, это поиграть с масштабированием исходной фотографии. Иногда после изменения размера почти вдвое его начального размера pytesseract
читать текст намного проще. Как правило, больший текст лучше, но есть ограничение, поскольку фотография может стать слишком пикселизированной после изменения размера, чтобы быть узнаваемой.
— Конфигурация —
Я заметил, что pytesseract
распознавать текст намного проще, чем цифры. Если возможно, разбейте фотографию на разделы, и всякий раз, когда у вас возникают проблемы с числами, вы можете использовать:
pytesseract.image_to_string(image, config='digits')