Найти тему
Python Machine

Распознавание текста с картинки на Python в 9 строк

ВАЖНО! Редактор в Яндекс.Дзен игнорирует все отступы, поэтому прошу смотреть конечный код по ссылке в github в конце статьи!

Привет! Сегодня познакомимся с крутой библиотекой tesseract и оптическим распознаванием символов.

1. Самое главное, это установить программу от сюда:

https://github.com/UB-Mannheim/tesseract/wiki

Выберите для своей версии
Выберите для своей версии

Также, немаловажно, в процессе установки обязательно подключите русский язык

-3

Также нужно будет добавить вашу программу в 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)

Полный код доступен по ссылке:

https://github.com/cogesum/OCR_app