Как установить pytesseract linux

Обновлено: 04.07.2024

Установка библиотеки Tesseract-oct в сочетании с pytesseract для распознавания изображений

(1) Загрузка библиотеки tesseract-ocr:

Это движок с открытым исходным кодом Google, эффект использования лучше

Тем не менее, скорость установки слишком низкая (хотя упрощенный пакет установки chi-sim на китайском языке составляет всего 4 МБ, скорость загрузки 10 Кбит / с действительно трогательна, и кажется, что нет очевидного улучшения скорости при работе через стену), рекомендуется выбирать меньше при проверке дополнительных языковых данных. Для некоторых из них автор проверил только математическую библиотеку и упростил китайский язык. При необходимости вы можете выбрать небольшие языки, такие как японский и корейский.

После завершения установки вам необходимо настроить две переменные среды (автор здесь, чтобы сделать крупную сделкуДругие блогеры, кажется, редко упоминают об этом)

Для получения подробной информации, пожалуйста, смотрите подробный учебник Baidu ExperienceНажмите, чтобы открыть ссылку

(2) библиотека Pytesseract

Это соответствующая библиотека распознавания Python. С этой библиотекой вы можете напрямую вызывать tesseract-ocr в Python

ПервыйНажмите, чтобы открыть ссылкуЗагрузите установочный пакет здесь, а затем используйте pip install pytesseract для его установки

После установки его нельзя запустить напрямую. Вам нужно добавить путь к ранее загруженному tesseract-ocr в pytesseract.py

Добавьте метод пути один:

Вам необходимо добавить путь, по которому вы ранее установили tesseract-ocr, в файл pytesseract, чтобы можно было вызвать библиотеку tesseract-ocr, где необходимо экранировать адрес пути (\ t - это вкладка, плюс \ для ее решения)

Добавьте второй метод пути:

Можно также перейти к В файле pytesseract.py замените tesseract_cmd = 'tesseract' на tesseract_cmd = r'C: \ Program Files (x86) \ Tesseract-OCR \ tesseract.exe 'Используйте r для обработки без удаления

Это сможет успешно установить

Кроме того, вы можете использовать pip install tesserocr Pillow для установки tesserocr, но pip обычно сообщает об ошибках, и вам сначала нужно установить whl и другие файлы, что более проблематично.Автор неуспешен, и библиотека pytesseract также может быть использована, поэтому я слишком ленив для установки tesserocr

(3) PIL доступен в Anaconda, прост в установке, поэтому я не буду его повторять

Пример операции:

(1) Операция командной строки Tesseract-ocr: Откройте консоль в каталоге установки.

Введите tesseract, если появляется следующая команда справки, это означает, что установка tesseract-ocr прошла успешно, и настройка переменных среды не вызывает проблем.



В демонстрационных целях для доступа к изображениям используется только относительный путь, поэтому заранее поместите изображение с текстом в каталог установки.

Затем введите в командной строке tesseract 1.jpg 1.txt -l chi_sim + equ + eng команда, чтобы увидеть результат txt (подробнее см. ссылку на опыт Baidu выше)

(2) Вызовите pytesseract:



Я заранее перехватил изображение TensorFlow и поместил его в каталог файлов pycharm, и сохранил его как tennsflow.jpg (если вы используете абсолютный путь, вы можете поместить его по желанию)

Тогда вы можете запустить код




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

Код здесь просто показывает распознавание текста на английском языке, другое использование может относиться кНажмите, чтобы открыть ссылкуВ учебнике.

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

подводить итоги:

Библиотека tesseract-ocr очень полезна, с открытым исходным кодом и бесплатна, а эффект распознавания относительно хорош после обработки бинаризации изображения. Код проверки может быть распознан в сканере, а затем реализован имитированный вход в систему.

Далее, автор будет использовать селен, tesseract-ocr, PIL для имитации входа в систему и попыток автоматического выбора курса на веб-сайте выбора курса физического эксперимента Университета Бейхан (вы должны ввести проверочный код, чтобы войти, вы усложняете мне задачу). Будет поделено, пожалуйста, с нетерпением жду этого.

Установите tesseract и python под linux и используйте tesseract-ocr для распознавания изображений

Centos7 устанавливает зависимые библиотеки

Установите системные зависимости centos

Если tesseract3.0 установите leptonica 1.7.2

Выдает ошибку при запуске ./autogen.sh, отсутствие пакетов, таких как autoconf, необходимость установки пакетов

Загрузите отсюда архив autoconf, распакуйте его, загрузите на сервер и установите

Установка glib должна быть установлена ​​следующим образом

Ниже приведены библиотеки, необходимые для установки python.

метод установки ubuntu

sudo apt-get install tesseract-ocr

sudo apt-get install libpng12-dev
sudo apt-get install libjpeg62-dev
sudo apt-get install libtiff4-dev
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install automake

1. установка тессеракт-окр
sudo apt-get install tesseract-ocr

2. установка pytesseract
sudo pip install pytesseract

3. Установка подушки
sudo pip install pillow

В centos появляется следующая ошибка 1:

pytesseract.pytesseract.TesseractError: (127, u’tesseract: error while loading shared libraries: libtesseract.so.3: cannot open shared object file: No such file or directory’)

Этот тип ошибки указывает на то, что система не знает, в какой каталог находится xxx.so. В это время добавьте каталог, в котором находится xxx.so, в /etc/ld.so.conf.
Вообще говоря, многие из них будут храниться в каталоге / usr / local / lib. Я поискал в этом каталоге и нашел нужный мне файл .so.
Итак, добавьте строку / usr / local / lib в /etc/ld.so.conf, сохраните ее, а затем запустите: / sbin / ldconfig -v, чтобы обновить конфигурацию.
sudo ldconfig



Это связано с тем, что путь к библиотеке LIBTOOL.m4 aclocal настроен неправильно
Решение:
- просмотреть путь к aclocal

Сначала проверьте путь:


Приложение представляет собой полную последовательность установки:

Если вы ранее установили tesseract3.0, вам необходимо удалить старую версию


Затем установите tesseract4.0, если вы запустите tesseract, команду не удастся найти
Просто скопируйте файл / root / local / bin / tesseract в каталог / usr / bin /

Коллекция материалов по работе с системой Linux С наступающим Новым годом!

понедельник, 15 октября 2018 г.

Tesseract OCR: установка и использование на Ubuntu 16.04


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

Выход из OCR-модуля, как только обработка будет выполнена, будет примерно такой:

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

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

1 Установите Tesseract

Достаточно просто установить tesseract, запустить следующие команды:

Это устанавливает двигатель Tesseract. На рисунке ниже показан вывод, когда он установлен правильно:

Установить Tesseract

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

sudo apt-get install tesseract-ocr-eng sudo apt-get install tesseract-ocr-fra

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

установка tesseract

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

2 Установите Imagemagick Выполните следующую команду для установки imagemagick

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

Установка Imagemagick Запустите следующую команду для установки imagemagick

3 Использование Tesseract

Tesseract способен принимать изображения из разных форматов, таких как jpg, png, tiff и т. Д. И извлекать из него текст. В этом разделе основное внимание уделяется запуску tesseract и в следующем разделе мы увидим, как мы можем повысить точность. Вот несколько основных команд для запуска tesseract:

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

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

Следуя двум изображениям, покажите используемое изображение и результат выполнения приведенных выше команд на этом изображении

пример текста

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

4 Предварительная обработка изображения

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

4.1 изменение размера

Изменение размера является одним из наиболее полезных приемов для повышения точности распознавания. Это связано с тем, что большинство изображений времени имеют очень маленький размер шрифта, который Tesseract не может быть правильно прочитан. Вы можете изменить размер изображения, используя следующую команду. Процентная сумма указывает предел изменения размера. Поскольку мы хотим увеличить размер, нам нужно дать значение больше 100. Здесь мы дали значение 150% (используйте метод проб и ошибок, чтобы определить идеальное изменение размера% для вашего варианта использования).

convert -resize 150% [input_file_path] [output_file_path]

в приведенной выше команде замените путь [input_file_path] на путь изображения, размер которого должен быть изменен, а [output_file_path] - на путь изображения, в котором должен храниться выход. Следующим изображением является вывод, когда я запускал команду: convert -resize 150% image7.jpg image7_resize.jpg

Предварительная обработка изображения - изменение размера

4.2. Использование изображений в оттенках серого

Если у вас есть цветное изображение, рекомендуется сначала преобразовать его в оттенки серого. Существует хороший шанс, что этого достаточно, чтобы получить точность OCR, которую вы хотите. В противном случае для дальнейшей обработки вы можете использовать изображения в оттенках серого для бинаризации изображения. Используйте следующую команду для преобразования вашего изображения, чтобы преобразовать его в оттенки серого

convert [input_file_path] -тип Grayscale [output_file_path]

На следующем рисунке показан вывод для запуска команды convert image6_resize.jpg -type Grayscale image6_gray.jpg

Предварительная обработка изображения - оттенки серого

4.3. Бинаризация изображения

Бинаризация или пороговое значение включает в себя преобразование изображения в значения только черного и белого. Каждый пиксель на этом изображении имеет только одно из двух значений: черный или белый. Это значительно снижает сложность изображений. Если у вас есть изображения с шумом или изображениями с тенью или много текста, вы можете использовать этот метод предварительной обработки. Чтобы разбить это изображение на два, убедитесь, что у вас сначала есть изображение в градациях серого, а затем используйте следующую команду:

convert [input_file_path] -пороговый 55% [output_file_path]

Порог% можно варьировать, чтобы получить наилучший результат для вашего варианта использования. На следующем рисунке показан пример. Важно отметить, что для имеющегося изображения бинаризация не является лучшим вариантом, так как она теряет некоторые данные.

Бинаризовать изображение

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

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

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

Комментариев нет:

Поиск по этому блогу

Понравилось?Поделись с друзьями!

Архив блога



Viber является кросс-платформенным приложением (iPhone, Android, Windows Phone, Blackberry, Windows, Mac, Symbian, Nokia и устройства .



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




Tesseract-ocr is an optical character recognition engine for various operating systems. It is free software, released under the Apache License. And made open source in 2005 and has been sponsored by google since 2006.

This engine has it’s binaries, a CLI program and it’s original API is made in C++. Other programming languages have their own libraries which act as wrappers over the CLI program or original tesseract API on C++.

In this article, we are going to discuss about the different options out there for using tesseract with python (their installation, executing different API ends)and some important problems encountered during there usage.

In python there are two most popular options: pytesseract and tesserocr.

tesserocr is a python wrapper around the Tesseract C++ API. On the other hand, pytesseract is a wrapper the tesseract-ocr CLI program.

And as you can guess tesserocr gives a lot more flexibility and control over tesseract. Tesserocr has multi-processing capabilities which are much faster in actual practise as compared to PyTesseract.

According to your use case you might require legacy package 3.05 or the latest tesseract version 4+ . For example tesseract 4.0 doesn’t provide font information of the recognized texts and therefore you would require the older version to gather that information.

Generic Setup:

For trying the examples you need to install anaconda for package and environment variable management.
Once installed, create a new environment with python installation which is required by the tesseract version being used (Note: for our examples use python 3.7)and activate the environment every time you run any example:

For using any tesseract python wrapper we need to install tesseract-ocr first. To install tesseract on Debian/Ubuntu:

Note: the above command lines would install the latest available version of tesseract-ocr i.e. tesseract 4. You have to manually compile tesseract repository if you want to use an earlier version like 3.05 which might be necessary if you want to extract font-related information of texts, If it is too complex for you to manually compile tesseract 3.05 then, we will discuss further on a work around solution to complete the setup.

Now, We will look into some APIs of first PyTesseract and then Tesserocr
This article will cover topics in the following parts:
1. Setup
2. exposed API description
3. Code snippet example

Setup:
for installing Pytesseract in your environment:

If tesseract is not in your path you would have to provide path to the installation using pytesseract.pytesseract.tesseract_cmd variable in your code.

API Description

pytesseract has the following popular apis exposed:
1. pytesseract.image_to_string(image) returns text recognized in the image
2. pytesseract.image_to_boxes(image) bounding boxes of each recognized word
3. pytesseract.image_to_data(image) data related to dimensions, line, paragraph info of a recognized word
4. pytesseract.image_to_osd(image) confidence and other page related info
5. pytesseract.image_to_pdf_or_hocr(image, extension=’pdf’ /’hocr’) pdf form of image or xml formatted information

Code Snippet Example

Run the following code snippet to get a good idea about the apis
Note: please provide path to the tesseract executable in the tesseract_cmd variable if the below snippet is not working.

Install the latest stable version,but if you want to extract font info you need to use tesserocr v2.3.1 because that is compatible with tesseract3.05.

Setup

for installing tesserocr in your environment:

API Description

Tesserocr has the following useful apis:
1. tesserocr.image_to_text(image)
2. PyTessBaseAPI().GetUTF8Text()
3. PyTessBaseAPI().MeanTextConf()
4. PyTessBaseAPI().DetectOrientationScript()
The above apis are pretty straight forward and there examples could be easily understood via there documentation.

The task what I want to focus on is how extract font data. You can get a pretty good idea by trying the following script.
Note: please provide the tessdata path being used in the path variable if you want to use some specific pretrained model.

Well we reached end of this session. Hope you enjoyed and found this article useful!!

Читайте также: