Приложение для распознавания текста на полученном от пользователя изображении (фотографии уличной вывески) и перевода его на русский язык (при необходимости). Выполнено в качестве курсовой работы по дисциплине "Методы искусственного интеллекта" в рамках обучения по программе 01.03.04 Прикладная математика в НИТУ МИСИС.
- язык программирования: Python;
- библиотека для написания пользовательского интерфейса: PySimpleGUI [1];
- ввод-вывод изображений: OpenCV [2];
- распознавание текста на изображении: EasyOCR [3];
- машинный перевод распознанного текста на русский: TextBlob [4];
- редактор кода: VS Code.
- Пользователь указывает расположение фотографии, на которой необходимо распознать и перевести текст (программа поддерживает форматы изображений JPG, JPEG и PNG).
- Пользователь указывает язык текста, который необходимо распознать на данной фотографии (поддерживаемые языки: русский, английский, испанский, немецкий и французский).
- Если указанный язык – русский, то в текстовом окне появляется распознанный текст, а также отображается фотография с обведенными на ней участками, содержащими этот текст.
- Если указанный язык не русский, в текстовом окне появляется переведенный текст, а также отображается фотография с обведенными на ней участками, содержащими иностранный текст, и подписями на русском языке рядом.
Запустив программу, пользователь попадает в основное меню:
При нажатии на кнопку «Помощь», появляется окно с краткими пояснениями по работе с приложением:
В раскрывающемся списке основного окна приложения можно выбрать один из пяти доступных для распознавания языков: русский, английский, испанский, немецкий, французский. Русский язык – вариант по умолчанию:
Рассмотрим результат работы приложения для фотографии с текстом на русском языке: укажем путь к файлу, нажмем кнопку «Начать» и получим результат:
Рассмотрим теперь результат работы приложения для фотографии с текстом на испанском языке: укажем путь к файлу и выберем испанский язык, нажмем кнопку «Начать» и получим результат:
Для вывесок на иностранных языках в качестве результата отображается картинка с не только обведенным текстом, но и подписями на русском языке.
- PySimpleGUI URL: https://www.pysimplegui.org/en/latest/.
- Home - OpenCV URL: https://opencv.org/.
- JaidedAI / EasyOCR: Ready-to-use OCR with 80+ supported languages and all popular writing scripts including Latin, Chinese, Arabic, Devanagari, Cyrillic and etc. // GitHub URL: https://github.com/JaidedAI/EasyOCR.
- TextBlob: Simplified Text Processing - TextBlob 0.16.0 Documentation URL: https://textblob.readthedocs.io/en/dev/.