Время прочтения: 3 мин.

Обрабатывать материал вручную, традиционным просмотром телепрограмм, даже если вы большой любитель нашего телевидения, будет слишком долго и затратно.  Второй способ — это использование каскадов Хаара (системы признаков цифрового изображения, используемой в распознавании образов) или обучение собственной нейронной сети. Но тут необходимы глубокие познания в области компьютерного зрения и искусственного интеллекта, которые есть не у всех…

Наиболее простым и доступным вариантом является поиск упоминания наших услуг или продуктов в тексте рекламы. Для этого будет необходимо извлекать текст из покадровой разбивки ролика рекламы, с чем нам и поможет библиотека Tesseract.

Tesseract – OCR библиотека, предназначенная для конвертации изображений, содержащих текст, в текстовые данные.

В качестве тестового примера мы будем используем кадр из рекламы Сбербанка:

Для распознавания текста необходимо выполнить следующие действия:

  • установить и импортировать необходимые библиотеки:
  • указать расположение исследуемого файла и распознать находящийся на нем текст.

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

Для того, чтобы изменить используемый учебный набор для русского алфавита, необходимо выполнить следующие действия:

  • скачать учебный набор rus.traineddata и добавить его в папку с учебными наборами.
  • указать язык, с которым необходимо работать, добавив строку lang = «rus» в качестве параметра для метода image_to_text

Выполнение данных шагов позволит улучшить качество распознанного текста.

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

Бинаризация изображения – это разделение пикселей на 2 группы: чёрные и белые. Для проверки принадлежности к определённой группе необходимо узнать, к чему ближе значение пикселя: к белому или к черному.

Ниже представлен код, позволяющий преобразовать изображение в чёрно-белое.

            Проверим качество распознавания, после преобразования изображения:

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