Найти текст в области
(Доступно с версии Primo.AI.Server 1.0.13)
Элемент выполняет поиск текстовых данных в заданных ячейках виртуальной сетки, наложенной на изображение документа. Основные сценарии использования:
- Извлечение данных из табличных структур
- Поиск информации в формализованных бланках
- Обработка документов с четкой структурой расположения данных
Перед началом работы
Установите в Студии библиотеку Primo.AI.Server.
Свойства
Символ *
указывает на обязательность заполнения свойства. Описание общих свойств см. в разделе Свойства элемента.
Основные параметры
Свойство | Тип | Описание | Обязательность |
---|---|---|---|
Результат распознавания | Primo.AI.Server.Model.InferenceResultContent | Результаты работы OCR-движка с координатами распознанных элементов | |
Ширина изображения | int? | Физическая ширина изображения в пикселях | |
Высота изображения | int? | Физическая высота изображения в пикселях | |
Изображение | String | Путь к файлу изображения (поддерживаемые форматы: JPG, JPEG, PNG) | |
Количество строк | int | Количество горизонтальных линий сетки (делят высоту). По умолчанию установлено значение 2 . | |
Количество колонок | int | Количество вертикальных линий сетки (делят ширину). По умолчанию установлено значение 2 . | |
Ячейки для поиска | List<Tuple<int, int>> | Список целевых ячеек в формате (строка, колонка), индексация с 1 |
Свойства выходных данных
Тип: Primo.AI.Server.Tools.SmartOcr.TextInAreaSearcherResult
Свойство | Тип | Описание |
---|---|---|
IsFound | Boolean | Флаг успешности поиска (true - если найдены совпадения) |
Items | IReadOnlyCollection<TextInArea> | Коллекция найденных текстовых элементов |
Структура TextInArea
Свойство | Тип | Описание |
---|---|---|
IsFound | Boolean | Флаг наличия текста в области |
UnifiedText | String | Объединенный текст всех найденных элементов |
Items | IReadOnlyCollection<InferenceResultItem> | Детализированные результаты распознавания |
CropArea | Rectangle | Геометрия области поиска (координаты) |
Принцип работы
-
Построение сетки:
- Изображение делится на виртуальные ячейки согласно указанным:
Количество строк
(по вертикали, по умолчанию: 2)Количество колонок
(по горизонтали, по умолчанию: 2)
- Размеры ячеек рассчитываются автоматически:
- Ширина = (ширина изображения) / (кол-во колонок)
- Высота = (высота изображения) / (кол-во строк)
- Изображение делится на виртуальные ячейки согласно указанным:
-
Определение целевых областей:
- Для каждой ячейки из
Ячейки для поиска
вычисляются фактические координаты - Пример: для ячейки (2,3) в сетке 4x3 будут рассчитаны точные границы
- По умолчанию (если ячейки не указаны) поиск выполняется во всех ячейках
- Для каждой ячейки из
-
Поиск текстовых элементов:
- Анализируются все элементы распознавания
- Отбираются только те, которые полностью попадают в целевую область
-
Формирование результата:
- Найденные элементы упорядочиваются (слева-направо, сверху-вниз)
- Тексты объединяются в свойство
UnifiedText
.