Поиск по сайту:

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


На этой странице

  1. 1. Установите Тессеракт
  2. 2 Установка Imagemagick Выполните следующую команду, чтобы установить imagemagick
  3. 3 Использование Тессеракта
  4. 4 Предварительная обработка изображения
    1. 4.1 изменение размера
    2. 4.2. Использование изображений в оттенках серого
    3. 4.3 Бинаризация изображения

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

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

      Open
      Access
      Button
    

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

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

    1 Установите Тессеракт

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

    sudo apt update sudo apt install tesseract-ocr

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

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

    sudo apt-get install tesseract-ocr-[lang]

    В приведенной выше команде замените \[lang]\ языком, который вы хотите загрузить. Ниже приведены примеры для английского и французского языков:

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

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

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

    sudo apt-get install tesseract-ocr-all

    На этом установка Tesseract завершена.

    2 Установите Imagemagick. Запустите следующую команду, чтобы установить imagemagick.

    sudo apt install imagemagick

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

    convert -h

    3 Использование Тессеракта

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

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

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

    tesseract [image_path] [file_name]

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

    Как вы можете заметить, выполнение второй команды привело к созданию файла с именем \outfile.txt\, в котором можно найти выходные данные.

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

    Из предыдущего вывода вы могли заметить, что в выводе есть ошибка, а также ошибка о том, что размер пикселей мал. Это один из недостатков Tesseract, он ожидает, что вы предоставите обработанное изображение, на котором он может выполнить распознавание символов. В этом разделе мы рассмотрим некоторые тактики, которые вы можете использовать с помощью 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.png image7_resize.png

    4.2 Используйте изображения в градациях серого

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

    convert [input_file_path] -type Grayscale [output_file_path]

    На следующем изображении показаны результаты выполнения команды convert image6_resize.png -type Оттенки серого image6_gray.png

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

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

    convert [input_file_path] -threshold 55% [output_file_path]

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

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

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

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