ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

Как установить и использовать EasyOCR в Linux

Как установить и использовать EasyOCR в Linux

В этой статье будет описано руководство по установке и использованию инструмента командной строки EasyOCR и модуля Python. Доступно как бесплатное приложение с открытым исходным кодом, его можно использовать для идентификации и извлечения текста из изображений. Он использует технологию оптического распознавания символов (OCR) и множество различных алгоритмов и языковых моделей для обнаружения текста.

 

Основные возможности EasyOCR

EasyOCR может обнаруживать текст на более чем 80 языках и скриптах. Он включает предварительно обученные модели для этих языков, но вы можете использовать EasyOCR для обучения собственных моделей с нуля. Помимо цифрового и печатного текстового контента в изображениях, EasyOCR также может обнаруживать и извлекать рукописный текст. Другие основные функции EasyOCR включают возможность пакетной обработки нескольких изображений одновременно, возможность ограничивать и блокировать определенные символы на языке, возможность преобразования извлеченных строк в абзацы, возможность изменять размер и увеличивать изображения для повышения точности обнаружения и т. д.

 

Установка EasyOCR в Linux

Вы можете установить EasyOCR в Linux с помощью диспетчера пакетов pip. Чтобы установить диспетчер пакетов pip в Ubuntu, используйте следующую команду:

$ sudo apt install python3-pip

 

Менеджер пакетов Pip доступен в официальных репозиториях многих дистрибутивов Linux, поэтому вы можете установить его из стандартного менеджера пакетов. Вы также можете следовать официальным инструкциям по установке, доступным здесь, чтобы установить диспетчер пакетов pip в вашу систему Linux.

После успешной установки диспетчера пакетов pip выполните следующую команду для установки EasyOCR в Linux:

$ pip3 install easyocr

 

Использование EasyOCR в Linux

Чтобы извлечь текст из изображения выше, вам нужно будет запустить команду в следующем формате:

$ easyocr -l en -f image.png

 

Первый параметр «-l» может использоваться для указания языка текстового содержимого, которое вы хотите захватить с помощью EasyOCR. Вы можете указать несколько языков, используя коды языков, разделенные командами. Переключатель «-f» используется для указания файла входного изображения. Список всех языков, поддерживаемых EasyOCR, и их коды можно найти здесь (прокрутите вниз, чтобы увидеть их).

На выходе отображаются определенные числа и текст, извлеченный из изображения. Этот вывод можно прочитать в следующем формате: координаты отдельных фрагментов текста> обнаруженный текст> уровень достоверности. Таким образом, числа в крайней левой части представляют координаты идентифицированных текстовых полей, в то время как число в крайней правой части указывает, насколько точен извлеченный текст.

Если вы просто хотите получить обнаруженный текст в удобочитаемой форме, добавьте переключатель «–detail 0» в приведенную выше команду:

$ easyocr -l en --detail 0 -f image.png

 

Как вы можете видеть в выводе, извлеченный текст находится в неправильном порядке. Вы можете попробовать опцию командной строки «–paragraph True», чтобы соединить отдельные части и предложения в правильном порядке.

$ easyocr -l en --detail 0 --paragraph True -f image.png

 

Обратите внимание, что в зависимости от качества и четкости изображения и текстового содержания изображения в извлеченном тексте всегда могут присутствовать определенные неточности, и вам, возможно, придется внести исправления вручную, чтобы исправить их.

Чтобы сохранить идентифицированный текст во внешний файл, используйте символ «>» и укажите имя для выходного файла. Вот пример команды:

$ easyocr -l en --detail 0 --paragraph True -f image.png > output.txt

 

Чтобы узнать больше обо всех параметрах командной строки, поддерживаемых EasyOCR, используйте следующую команду:

$ easyocr --help

 

Использование EasyOCR в программах на Python

EasyOCR также доступен в виде библиотеки Python, поэтому вы можете импортировать его основной модуль в свои программы Python. Ниже приведен пример кода, иллюстрирующий его использование в программе Python:

import easyocr

reader = easyocr.Reader(['en'])
result = reader.readtext('image.png', detail=0, paragraph=True)
with open("output.txt", "w") as f:
for line in result:
print(line, file=f)

 

Первый оператор используется для импорта модуля easyocr в вашу программу Python. Затем создается новый экземпляр класса «Reader» (базовый класс), предоставляя в качестве основного аргумента список языков, поддерживаемых EasyOCR. Если ваше изображение содержит текст на нескольких языках, вы можете добавить в список другие коды языков. Затем для экземпляра «reader» вызывается метод «readtext», и путь к файлу изображения предоставляется в качестве первого параметра. Этот метод идентифицирует и извлекает текст из предоставленного изображения. Два необязательных аргумента, «detail» и «paragraph», аналогичны параметрам командной строки, описанным выше. Они упрощают текст, удаляя ненужные элементы.

 

Заключение

EasyOCR – это инструмент для извлечения текста из командной строки, который поставляется с предварительно обученными моделями для многих языков. Это позволяет конечным пользователям быстро идентифицировать и извлекать текст из изображений, не имея собственных языковых моделей. Он также предоставляет подробные координаты ограничивающих рамок вокруг идентифицированных и размеченных слов, что упрощает анализ отдельных фрагментов текста.

Exit mobile version