Найти текст в области
Элемент выполняет поиск текстовых данных в заданных ячейках виртуальной сетки, наложенной на изображение документа. Основные сценарии использования:
- Извлечение данных из табличных структур
- Поиск информации в формализованных бланках
- Обработка документов с четкой структурой расположения данных
Перед началом работы
Установите в Студии библиотеку Primo.AI.Server.
Свойства
Символ *
указывает на обязательность заполнения свойства. Описание общих свойств см. в разделе Свойства элемента.
Обработка
- Результат распознавания [
Primo.AI.Server.Model.InferenceResultContent
] - Результаты работы OCR-движка с координатами распознанных элементов. - Ширина изображения [
int?
] - Физическая ширина изображения в пикселях. - Высота изображения [
int?
] - Физическая высота изображения в пикселях. - Изображение [
String
] - Путь к файлу изображения (поддерживаемые форматы: JPG, JPEG, PNG). - Количество строк [
int
] - Количество горизонтальных линий сетки (делят высоту). По умолчанию установлено значение2
. - Количество колонок [
int
] - Количество вертикальных линий сетки (делят ширину). По умолчанию установлено значение2
. - Ячейки для поиска [
List<System.Tuple<int, int>>
] - Список целевых ячеек в формате (строка, колонка), индексация с 1.
Вывод
- Результат [Primo.AI.Server.Tools.SmartOcr.TextInAreaSearcherResult] - результат поиска текста
Свойства выходных данных
Тип: 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
.