Подтвердить что ты не робот

Алгоритм обнаружения наличия текста на изображении

С моим новым назначением я ищу способ обнаружения присутствия текста на изображении. Изображение - это карта - может быть, например, карта google. Задача состоит в том, чтобы определить, где расположена метка улицы/города.

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

Знаете ли вы какой-либо алгоритм, метод или библиотеку, которые могли бы это сделать (обнаружить наличие текста на изображении)?

Спасибо, Джон

4b9b3361

Ответ 1

Существует стандартная проблема в видении, называемая обнаружением текста в изображениях. это совсем другое отличие от OCR. OCR соглашается с тем, что он говорит, в то время как обнаружение текста связано с определением наличия текста в изображении. Третья ссылка Adi Shavit - это метод решения этой проблемы. Вы можете найти у google ученого хорошо цитируемые статьи в обнаружении текста.

Ответ 2

Существует несколько возможных подходов.

ОБНОВЛЕНИЕ Январь 2017
Модуль OpenCV 3.2 contrib теперь имеет модуль обнаружения текста.
Он также содержит образец о том, как его использовать.

Ответ 3

Вам нужно настроить это на определенный тип изображений на карте, или проблема будет очень сложной (см. предыдущее сообщение о ссылках на статьи).

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

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