Вспомогательный класс для преобразования значений, представляющих ограничивающие рамки в прямоугольники.
Класс предоставляет статическую функцию для создания ограничивающих рамок в виде RectF из различных типов конфигураций.
Как правило, ограничивающий прямоугольник может быть представлен четырьмя значениями с плавающей запятой, но значения можно интерпретировать по-разному. Теперь мы поддерживаем 3 конфигурации BoundingBoxUtil.Type , а также можно настраивать порядок элементов в каждом типе.
Вложенные классы
| перечисление | BoundingBoxUtil.CoordinateType | Обозначает, являются ли координаты фактическими пикселями или относительными соотношениями. | |
| перечисление | BoundingBoxUtil.Type | Обозначает способ представления ограничивающей рамки. | |
Публичные методы
| статический список <RectF> | конвертировать (тензор TensorBuffer , int[] valueIndex, intboundingBoxAxis, тип BoundingBoxUtil.Type , BoundingBoxUtil.CoordinateType тип координат, высота int, ширина int) Создает список ограничивающих рамок из TensorBuffer , который представляет ограничивающие рамки. |
Унаследованные методы
Публичные методы
общедоступный статический список <RectF> конвертировать (тензор TensorBuffer , int [] valueIndex, intboundingBoxAxis, тип BoundingBoxUtil.Type , BoundingBoxUtil.CoordinateType координаты, высота int, ширина int)
Создает список ограничивающих рамок из TensorBuffer , который представляет ограничивающие рамки.
Параметры
| тензор | содержит данные, представляющие некоторые блоки. |
|---|---|
| значениеиндекс | обозначает порядок элементов, определенных в каждом типе ограничивающего прямоугольника. Пустой массив индексов представляет порядок по умолчанию для каждого типа ограничивающей рамки. Например, чтобы обозначить порядок ГРАНИЦ по умолчанию: {слева, сверху, справа, снизу}, индекс должен быть {0, 1, 2, 3}. Чтобы обозначить порядок {слева, справа, сверху, снизу}, порядок должен быть {0, 2, 1, 3}. Массив индексов можно применять ко всем типам ограничивающих рамок, чтобы настроить порядок соответствующих им базовых элементов. |
| границаBoxAxis | задает индекс измерения, представляющего ограничивающую рамку. Размер этого измерения должен быть равен 4. Индекс здесь начинается с 0. Например, если тензор имеет форму 4x10, ось для ограничивающих рамок, скорее всего, будет равна 0. Также поддерживается отрицательная ось: -1 дает последнюю ось. а -2 дает второе и т.д. theДля формы 10x4 ось, скорее всего, будет равна 1 (или -1, что эквивалентно). |
| тип | определяет, как значения должны быть преобразованы в поля. См. BoundingBoxUtil.Type |
| тип координаты | определяет, как значения интерпретируются в координатах. См. BoundingBoxUtil.CoordinateType . |
| высота | высота изображения, которому принадлежат блоки. Эффект действует только в том случае, если coordinateType имеет BoundingBoxUtil.CoordinateType.RATIO . |
| ширина | ширина изображения, которому принадлежат блоки. Эффект действует только в том случае, если coordinateType имеет BoundingBoxUtil.CoordinateType.RATIO . |
Возврат
- Список ограничивающих рамок, которые представляет
tensor. Все измерения, кромеboundingBoxAxisбудут свернуты с сохранением порядка. Например, для данногоtensorформы {1, 4, 10, 2}boundingBoxAxis = 1результатом будет список из 20 ограничивающих рамок.
Броски
| IllegalArgumentException | если размер ограничивающего прямоугольника (устанавливается с boundingBoxAxis ) не равен 4. |
|---|---|
| IllegalArgumentException | если boundingBoxAxis не находится в (-(D+1), D) где D — количество измерений tensor . |
| IllegalArgumentException | если tensor имеет тип данных, отличный от DataType.FLOAT32 . |