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