2016-08-05 2 views

ответ

1

Смотрите ответ на Detect white characters on black background using Tesseract. Ответ ссылается на документ, описывающий распознавание текста в фоновом режиме.

Алгоритм, описанный в статье Т. Касара, Дж. Кумара и А. Г. Рамакришнана и реализованный Джейсоном Фанком, состоит из нескольких этапов. На первом этапе выполняется определение края на каждом канале (R, G, B) с использованием Canny. Затем объединяются эти края в полутоновое изображение с использованием bitwise_or.

Далее мы находим контуры. Ключевым моментом является то, что контуры для букв и их ограничивающих прямоугольников соответствуют определенным правилам (например, контур закрыт, соотношение сторон разумно, ограничивающий прямоугольник не большой (размер страницы) или маленький (размер пикселя), количество возможных внутренние края известны - 0 для большинства букв, 1 для «o», 2 для «8» и «B»). Итак, вы просеиваете через ограничивающие коробки и сохраняете те, которые следуют правилам. Однако каждое ребро генерирует два контура, один снаружи и один внутри. Я все еще не уверен, что у меня есть логика.

В любом случае коробки, которые вы храните, окружают буквы и их внутренние пространства. Интенсивность переднего плана - это только средняя интенсивность, которую вы получаете, отслеживая контур контура, связанного с полем исходного изображения. Интенсивность фона - это средняя интенсивность, которую вы получаете при выборке пикселей вокруг четырех углов ограничивающей рамки в исходном изображении. Если интенсивность переднего плана меньше фоновой интенсивности, цвет переднего плана черный; в противном случае цвет переднего плана белый. Помните, что это делается для каждой ограничивающей рамки.

Итак, для каждого ограничивающего прямоугольника мы покрасим наш результат, основываясь на сравнении интенсивности каждого пикселя в исходном изображении с интенсивностью переднего плана для этого ограничивающего прямоугольника. Основываясь на этом сравнении, пиксель определяется как часть переднего плана или фона.

Я думаю, что подход звучит, но детали немного сложны.

+0

Я расширил оригинал, как рекомендовал рецензент. –