Предварительная обработка изображений для оптического распознавания текста с помощью Tesseract: различение между черным по белому и белым по черному тексту - PullRequest
0 голосов
/ 19 января 2019

В настоящее время я использую Imagemagick и Tesseract для распознавания PDF. Входной файл представляет собой таблицу, в которой заголовки содержат черный на белом тексте, а строки представлены белым на черном тексте:

table headers

Моя проблема в том, что Tesseract отлично работает с черным по белому тексту, но понятия не имеет, что делать с белым по черному тексту. Он считает, что черный цвет на изображении выше - это текст, а белый - пробел, поэтому он просто читает его как строку тарабарщины.

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

Предположительно есть статья, в которой решена эта проблема (см. Ответ на Обнаружение белых символов на черном фоне с помощью Tesseract ), в которой была реализована реализация этого алгоритма: https://github.com/jasonlfunk/ocr-text-extraction

Несмотря на то, что приведенная выше реализация отлично справляется с инвертированием заголовков таблицы, она также ошибочно инвертирует блоки белого фона на остальной части страницы, включая черно-белый текст. Кто-нибудь знает, решал ли кто-нибудь эту проблему или нашел обходной путь с тех пор, как эта статья была опубликована несколько лет назад?

...