Pytesseract: хороший OCR или хорошие линии - никогда не оба - PullRequest
5 голосов
/ 04 июня 2019

Я использую pytesseract (tesseract version 3.05) для OCR (оптического распознавания символов) печатного документа PDF, созданного в цифровом виде.Я предварительно обработал его, чтобы удалить любой цвет и установил его в чисто черный и белый и 600 DPI.Это конфиденциальная информация, поэтому я не могу публиковать здесь, но поверьте мне, когда я говорю - она ​​совершенно прямая и очень четкая.

При обработке изображений я играл сразличные режимы сегментации страницы (PSM).

Несколько PSM (например, 11 и 12) распознали символы блестяще - почти идеально - но одна строка станет несколькими строками и часто будет перетасовываться, делая функциональный анализ данных невозможным.

Другие PSM (например, 3 и 4) сохраняют идеальные линии (что полезно для анализа данных), но OCR ужасен (пробелы вставляются, тире становятся апострофами, «l» становится «1» или даже «i»)., так далее).

Я перепробовал все PSM и не могу найти версию, которая позволяет мне сохранять линии и качества распознавания.

Есть ли дополнительные диски, которые я могу включитьчтобы я мог сделать и то, и другое, и, возможно, еще больше повысить качество получаемого текста?

Код:

psm_version = 3
text        = pytesseract.image_to_string(b_w_file, lang = 'eng', config = '-psm {}'.format(psm_version))

1 Ответ

0 голосов
/ 13 июня 2019

Я не знаком с pytesseract, но я довольно много возился с портом C #.Я кормлю его .tiffs, ирония в том, что чем выше DPI я делаю .tiff, тем хуже, по-видимому, работает Тессеракт.Я нашел сладкое место на 119 DPI.Решение, которое я нашел и которое работает, заключается в том, что я создаю два .tiffs, 1 с высоким DPI для моего вывода и 1 с низким DPI, который я передаю в Tesseract.У меня есть итератор Тессеракта, передающий мне координаты ограничивающих рамок, которые он находит, и затем я использую эти координаты на верхнем DPI .tiff, чтобы сделать то, что я пытаюсь сделать.Это не самый эффективный процесс, поэтому я перешел к другим вариантам и больше не имею кода.Надеюсь, это поможет!

...