ВАЖНО! Редактор в Яндекс.Дзен игнорирует все отступы, поэтому прошу смотреть конечный код по ссылке в github в конце статьи!
Привет! Сегодня познакомимся с крутой библиотекой tesseract и оптическим распознаванием символов.
1. Самое главное, это установить программу от сюда:
https://github.com/UB-Mannheim/tesseract/wiki
Также, немаловажно, в процессе установки обязательно подключите русский язык
Также нужно будет добавить вашу программу в PATH, если не знаете как это делать, то можете посмотреть полное видео установки(не забудьте добавить русский язык) ссылка
2. Вводим в терминал
pip install pytesseract pillow
Устанавливаем сразу две библиотеки для распознавания и для работы с изображениями.
3. Импортируем библиоткеи
import pytesseract
from PIL import Image
4. Создаем переменную img и помещаем туда нашу картинку (картинка должна быть в нашем файле, где наш основной python код), то есть пишем её название и расширение.
img = Image.open('pic.jpg')
5. Задаем название нашему файлу и забираем только данные то точки ( в нашем случае 'pic')
file_name = img.filename
file_name = file_name.split(".")[0]
6. Используем наш pytesseract по назначению и прописывая image_to_string преобразуем наш текст в картинку (lang='rus' - это выбор нашего языка, если вы, конечно же, его установили, по умолчанию стоит lang='eng')
text = pytesseract.image_to_string(img, lang='rus').strip()
print(text)
7. Последним же делом просто создаем документ и вписываем туда наш текст:
with open(f'{file_name}.txt', 'w') as text_file:
text_file.write(text)
Полный код доступен по ссылке: