OCR

Установка Tesseract OCR в Linux

Установка Tesseract OCR в Linux
Tesseract OCR (оптическое распознавание символов) - это бесплатный движок с открытым исходным кодом и программа командной строки для извлечения текста из изображений с использованием технологии и алгоритмов оптического распознавания символов. Проект поддерживается Google и на сегодняшний день считается лучшим движком OCR с открытым исходным кодом. Он может обнаруживать и извлекать текст на многих языках с высокой точностью.

Установка Tesseract OCR в Linux

Tesseract OCR доступен по умолчанию в большинстве дистрибутивов Linux. Вы можете установить его в Ubuntu, используя следующую команду:

$ sudo apt установить tesseract-ocr

Доступны подробные инструкции для других дистрибутивов здесь. Несмотря на то, что Tesseract OCR по умолчанию доступен в репозиториях многих дистрибутивов Linux, рекомендуется установить последнюю версию по указанной выше ссылке для повышения точности и анализа.

Установка поддержки дополнительных языков в Tesseract OCR

Tesseract OCR включает поддержку обнаружения текста на более чем 100 языках. Однако вы получаете поддержку только для обнаружения текста на английском языке с установкой по умолчанию в Ubuntu. Чтобы добавить поддержку синтаксического анализа дополнительных языков в Ubuntu, выполните команду в следующем формате:

$ sudo apt install tesseract-ocr-hin

Приведенная выше команда добавит поддержку языка хинди в Tesseract OCR. Иногда можно добиться большей точности и результатов, установив поддержку языковых скриптов. Например, установка и использование пакета tesseract для сценария Деванагари «tesseract-ocr-script-deva» дала мне гораздо более точные результаты, чем использование пакета «tesseract-ocr-hin».

В Ubuntu вы можете найти правильные имена пакетов для всех языков и сценариев, выполнив следующую команду:

$ apt-cache search tesseract-

После того, как вы определили правильное имя пакета для установки, замените им строку «tesseract-ocr-hin» в первой команде, указанной выше.

Использование Tesseract OCR для извлечения текста из изображений

Давайте возьмем пример изображения, показанного ниже (взято со страницы Википедии для Linux):

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

$ tesseract захват.png вывод -l eng

Выполнение приведенной выше команды дает следующий результат:

В приведенной выше команде "захватить.png »относится к изображению, из которого вы хотите извлечь текст. Захваченный вывод затем сохраняется в «output.txt »файл. Вы можете изменить язык, заменив аргумент «eng» на свой выбор. Чтобы увидеть все допустимые языки, выполните команду ниже:

$ tesseract --list-langs

Он покажет коды сокращений для всех языков, поддерживаемых Tesseract OCR в вашей системе. По умолчанию в качестве вывода будет отображаться только «eng». Однако, если вы устанавливаете пакеты для дополнительных языков, как описано выше, эта команда перечислит больше языков, которые вы можете использовать для обнаружения текста (в виде трехбуквенных языковых кодов ISO 639).

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

$ tesseract захват.png вывод -l eng + fra

Если вы хотите сохранить вывод в виде файла PDF с возможностью поиска, запустите команду в следующем формате:

$ tesseract захват.вывод png -l eng pdf

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

Еще один момент, на который следует обратить внимание, точность определения текста значительно возрастает, если файл изображения высокого качества. Если у вас есть выбор, всегда используйте форматы файлов без потерь или файлы PNG. Использование файлов JPG может не дать наилучших результатов.

Извлечение текста из многостраничного PDF-файла

Tesseract OCR изначально не поддерживает извлечение текста из файлов PDF. Однако можно извлечь текст из многостраничного файла PDF, преобразовав каждую страницу в файл изображения. Выполните команду ниже, чтобы преобразовать файл PDF в набор изображений:

$ pdftoppm -png файл.вывод в формате pdf

Для каждой страницы PDF-файла вы получите соответствующий «output-1.png »,« вывод-2.png ”и т. д.

Теперь, чтобы извлечь текст из этих изображений с помощью одной команды, вам нужно будет использовать цикл for в команде bash:

$ за i в *.png; do tesseract "$ i" "output- $ i" -l eng; Выполнено;

Выполнение указанной выше команды извлечет текст из всех «.png »файлы, найденные в рабочем каталоге, и сохраняют распознанный текст в« output-original_filename.txt »файлы. Вы можете изменить среднюю часть команды в соответствии с вашими потребностями.

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

$ кошка *.txt> присоединился.текст

Процесс извлечения текста из многостраничного PDF-файла в PDF-файлы с возможностью поиска практически такой же. Вы должны предоставить команде дополнительный аргумент pdf:

$ за i в *.png; do tesseract "$ i" "output- $ i" -l eng pdf; Выполнено;

Если вы хотите объединить все доступные для поиска PDF-файлы, содержащие распознанный текст, выполните следующую команду:

$ pdfunite *.pdf присоединился.pdf

И «pdftoppm», и «pdfunite» установлены по умолчанию в последней стабильной версии Ubuntu.

Преимущества и недостатки извлечения текста из файлов TXT и PDF с возможностью поиска

Если вы извлечете распознанный текст в файлы TXT, вы получите редактируемый текстовый вывод. Однако любое форматирование документа будет потеряно (жирный шрифт, курсив и т. Д.). Файлы PDF с возможностью поиска сохранят исходное форматирование, но вы потеряете возможности редактирования текста (вы все равно можете копировать необработанный текст). Если вы откроете PDF-файл с возможностью поиска в любом редакторе PDF, вы получите встроенные изображения в файл, а не исходный текст. Преобразование файлов PDF с возможностью поиска в HTML или EPUB также даст вам встроенные изображения.

Заключение

Tesseract OCR - один из наиболее широко используемых сегодня движков OCR. Это бесплатная программа с открытым исходным кодом, поддерживающая более сотни языков. При использовании Tesseract OCR обязательно используйте изображения с высоким разрешением и правильные языковые коды в аргументах командной строки, чтобы повысить точность обнаружения текста.

Shadow of the Tomb Raider для Linux Учебное пособие
Shadow of the Tomb Raider - двенадцатое дополнение к серии Tomb Raider - франшизе приключенческой игры, созданной Eidos Montreal. Игра была очень хоро...
Как увеличить FPS в Linux?
FPS означает Кадров в секунду. Задача FPS - измерить частоту кадров при воспроизведении видео или во время игры. Проще говоря, количество непрерывных ...
Лучшие игры Oculus App Lab
Если вы владелец гарнитуры Oculus, вы должны знать о загрузке неопубликованных приложений. Боковая загрузка - это процесс установки на гарнитуру содер...