Skip to content

Сопоставление шаблонов и парсинг таблиц

Метод find_icon

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

Для поиска по шаблону существует эндпоинт POST /find_icon. Метод принимает следующие параметры и тело запроса.

  • threshold - порог уверенности совпадения шаблона на изображении

  • use_cache - использовать ли кэш

  • token - токен для сессионности

Тело запроса:

  • image - изображение, в котором будет произведен поиск

  • template - шаблон

Пример запроса (curl):

curl -X 'POST' \
  'http://192.168.88.102:9464/find_icon?threshold=0.768&use_cache=false' \
  -H 'accept: application/json' \
  -H 'Content-Type: multipart/form-data' \
  -F 'image=@2021-09-29_14-51-37.png;type=image/png' \
  -F 'template=@dsf99275441699988714.png;type=image/png'

Пример ответа:

{
  "components": [
    {
      "name": "Icon",
      "bbox": {
        "x_min": 290,
        "y_min": 573,
        "x_max": 305,
        "y_max": 587
      },
      "attributes": null,
      "text": null,
      "id": 0
    }
  ]
}

Таблицы

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

1.POST /table/rows - позволяет определить строки в таблице. Имеет следующие параметры: - row_idx - массив индексов строк, которые необходимо вернуть - token - Токен сессионности - table - Изображение таблицы

2.POST /table/columns - позволяет определить столбцы в таблице. Имеет следующие параметры: - col_idx - массив индексов столбцов, которые необходимо вернуть - token - Токен сессионности - table - Изображение таблицы

3.POST /table - позволяет определить ячейки в таблице. Имеет следующие параметры: - row_idx - массив индексов строк, которые необходимо вернуть - col_idx - массив индексов столбцов, которые необходимо вернуть - token - Токен сессионности - table - Изображение таблицы

Пример запроса(curl):

curl -X 'POST' \
  'http://192.168.88.102:9464/table?row_idx=0&row_idx=1&col_idx=1' \
  -H 'accept: application/json' \
  -H 'Content-Type: multipart/form-data' \
  -F 'table=@захаров.png;type=image/png'
Этот запрос вернет ячейки (координаты и id столбца и строки), которые располагаются в 0 и 1 строки и в 1 столбце

Привет ответа:

{
  "components": [
    {
      "name": "Cell",
      "bbox": {
        "x_min": 27,
        "y_min": 6,
        "x_max": 596,
        "y_max": 31
      },
      "attributes": null,
      "text": null,
      "row_idx": 0,
      "col_idx": 1
    },
    {
      "name": "Cell",
      "bbox": {
        "x_min": 27,
        "y_min": 31,
        "x_max": 596,
        "y_max": 47
      },
      "attributes": null,
      "text": null,
      "row_idx": 1,
      "col_idx": 1
    }
  ]
}

Info

Определение структуры таблиц не возвращает текст

Сервис шаблонов

В разработке...