Извлечение текста из изображения с помощью Python

Распознание и извлечение текста из графического файла- задача весьма нетривиальная и решается, конечно же, не без помощи нейронных сетей. Благо, в наше время новый велосипед на нейронных колесах придумывать совсем необязательно, и задачу можно решить за пару минут, использовав готовый модуль для оптического распознания символов на Python «EasyOCR».

Для использования модуля необходимо его установить командой: pip install easyocr

Далее в теле скрипта необходимо создать объект Reader с аргументом в виде искомого языка (можно указывать сразу несколько аргументов).

У созданного объекта необходимо вызвать метод readtext, которому передать путь к графическому файлу, откуда необходимо извлечь текст. Это не единственный аргумент, который принимает метод, можно настроить точность, разбивку на параграфы и прочее.

Всё, результат получен, осталось его только вывести в консоль или записать в текстовый файл любым привычным способом. Ниже пример скрипта.

import easyocr

def image_to_text(file_path: str) -> None:
    '''Находит текст на изображении и записывает в текстовый файл.'''
    reader = easyocr.Reader(['en'])
    result = reader.readtext(file_path, detail=1, paragraph=True)

    with open('new_text.txt', 'w') as file:
        for line in result:
            for item in line:
                if type(item) is str:
                    file.write(f'{item}\n')

if __name__ == '__main__':
    image_to_text('img04.jpg')

А это результат, полученный с помощью этого скрипта при обработке несложной картинки. Если появятся вопросы, пишите в чат (ссылка в меню).