Как извлечь форматированный текст из изображений

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

Код можно найти здесь.

Google OCR предоставляет текстовый вывод, который может не иметь ожидаемого формата, в этом случае он также предоставляет вывод JSON с информацией о позиции каждого распознанного объекта. Проблема в том, что эти данные не очень хорошо структурированы для некоторых задач, извлечение токенов (последовательности символов без пробелов между собой) не так просто с этим JSON, поскольку он не предоставляет эту информацию прямым способом. Вот почему я создал небольшую программу, чтобы обеспечить способ постобработки этих данных во что-то более управляемое, поэтому она больше подходит для задач обработки текста, таких как форматирование текста, извлечение полных строк текста или фильтрация слов.

Для этого в src/image2tokens.py предоставляется код постобработки. Это применяется для извлечения токенов, а затем еще более абстрактных понятий, таких как текстовые строки или столбцы таблицы.

Требования

  • питон 3
  • библиотеки Python (попробуйте что-то вроде: pip install google-cloud-vision)
    • google.cloud.vision
    • google.protobuf
    • google.oauth2

Как это запустить

В папке src есть пример использования по адресу table_example.pyгде токенизация используется для анализа изображения таблицы.

python src/table_example.py sample.png

Пример использования

Вход

образец.png

Выход

                          HR Information                                 Contact
                                Position                                  Salary                                  Office                                   Extn.
                              Accountant                                $162,700                                   Tokyo                                    5407
           Chief Executive Officer (CEO)                              $1,200,000                                  London                                    5797
                 Junior Technical Author                                 $86,000                           San Francisco                                    1562
                       Software Engineer                                $132,000                                  London                                    2558
                       Software Engineer                                $206,850                           San Francisco                                    1314
                  Integration Specialist                                $372,000                                New York                                    4804
                       Software Engineer                                $163,500                                  London                                    6222
                       Pre-Sales Support                                $106,450                                New York                                    8330
                         Sales Assistant                                $145,600                                New York                                    3990
             Senior Javascript Developer                                $433,060                               Edinburgh                                    6224

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *