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