Skip to content

tamarinvs19/screen-reader-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Screen-reader-bot

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

Зависимости

Предназначено для запуска на Linux.

Требуется установленный tesseract с русским языком (tesseract-ocr-rus для apt и tesseract-data-rus) и утила convert.

Python-зависимости:

  • python-telegram-bot
  • requests

Использование

Сначала нужно создать телеграм-бота и добавить токен в TOKEN (в файле src/config.py).

Директория со скриншотами задается также в src/config.py. ВНИМАНИЕ: Все, найденные там изображения будут распознаваться и перемещаться в заданную директорию!

Для запуска бота:

python src/bot.py

Обрезка скрина

Чтобы поиск текста был корректным, предварительно нужно подобрать параматры CROP_LEFT, CROP_TOP и CROP_RIGTH в src/config.py. Эти параметры задают обрезаемое пространство вокруг текста, протестировать это можно, запуская crop из src/img_to_text.py. Оптимально, чтобы слева, сверху и справа не было постороннего текста, а текст, который нужно распознать находился в самом верху обрезанной картинки.

Кроме предварительного подбора есть команды для изменения отступа сверху в процессе работы программы.

Команды

  • \j <text> Ищет ответ на данный вопрос, можно только подстроку.
  • \inf Запускает бесконечный цикл сканирования фотографий.
  • \inf_channal Запускает бесконечный цикл сканирования фотографий, но с отсылкой в канал с заданным в src/config.py ID.
  • \up <X: int> Поднимает верхнюю границу сканируемого изображения на X px.
  • \down <X: int> Опускает верхнюю границу сканируемого изображения на X px.
  • \reset Возвращает к стандартному значению верхнюю границу сканируемого изображения.
  • <text> Любая другая команда запускает сканирование один раз.
  • Можно запустить src/main.py. Будет активирована бесконечная проверка скринов и отсылка в канал, заданный в настройках.