Вспомогательный класс для преобразования значений, представляющих ограничивающие рамки в прямоугольники.
Класс предоставляет статическую функцию для создания ограничивающих рамок в виде 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 . |