BoundingBoxUtil

публичный финальный класс BoundingBoxUtil

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

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