BoundingBoxUtil

classe final pública BoundingBoxUtil

Classe auxiliar para converter valores que representam caixas delimitadoras em retângulos.

A classe fornece uma função estática para criar caixas delimitadoras como RectF a partir de diferentes tipos de configurações.

Geralmente, uma caixa delimitadora pode ser representada por quatro valores flutuantes, mas os valores podem ser interpretados de várias maneiras. Agora oferecemos suporte a três BoundingBoxUtil.Type de configurações, e a ordem dos elementos em cada tipo também é configurável.

Classes aninhadas

enum BoundingBoxUtil.CoordinateType Indica se as coordenadas são pixels reais ou proporções relativas. 
enum BoundingBoxUtil.Type Indica como uma caixa delimitadora é representada. 

Métodos públicos

estático List<RectF>
convert(Tensor do TensorBuffer, int[] valueIndex, int delimitadoraBoxAxis, tipo BoundingBoxUtil.Type, BoundingBoxUtil.CoordinateType coordinateType, int height, int width)
Cria uma lista de caixas delimitadoras de um TensorBuffer que representa caixas delimitadoras.

Métodos herdados

Métodos públicos

public Static List<RectF> convert (TensorBuffer tensor, int[] valueIndex, int delimitadoraBoxAxis, tipo BoundingBoxUtil.Type, BoundingBoxUtil.CoordinateType coordinateType, int height, 5}largura de int{/1

Cria uma lista de caixas delimitadoras de um TensorBuffer que representa caixas delimitadoras.

Parâmetros
Tensor contém os dados que representam algumas caixas.
valueIndex indica a ordem dos elementos definidos em cada tipo de caixa delimitadora. Uma matriz de índice vazia representa a ordem padrão de cada tipo de caixa delimitadora. Por exemplo, para indicar a ordem padrão de BOUNDARIES, {left, top, right, bottom}, o índice precisa ser {0, 1, 2, 3}. Para indicar a ordem {left, right, top, bottom}, deve ser {0, 2, 1, 3}.

A matriz de índices pode ser aplicada a todos os tipos de caixa delimitadora para ajustar a ordem dos elementos subjacentes correspondentes.

boundingBoxAxis especifica o índice da dimensão que representa a caixa delimitadora. O tamanho dessa dimensão precisa ser 4. O índice aqui começa em 0. Por exemplo, se o tensor tiver a forma 4 x 10, o eixo das caixas delimitadoras provavelmente será 0. Também é possível usar um eixo negativo: -1 indica o último eixo, e -2, o segundo etc. Para a forma 10x4, é provável que o eixo seja 1 (ou -1, equivalente).
Tipo define como os valores devem ser convertidos em caixas. Ver BoundingBoxUtil.Type
coordinateType define como os valores são interpretados como coordenadas. Ver BoundingBoxUtil.CoordinateType
height a altura da imagem à qual as caixas pertencem. Só tem efeitos quando coordinateType é BoundingBoxUtil.CoordinateType.RATIO
width a largura da imagem à qual as caixas pertencem. Só tem efeitos quando coordinateType é BoundingBoxUtil.CoordinateType.RATIO
Retorna
  • Uma lista de caixas delimitadoras que o tensor representa. Todas as dimensões, exceto boundingBoxAxis, serão recolhidas com a ordem mantida. Por exemplo, considerando tensor com as formas {1, 4, 10, 2} e boundingBoxAxis = 1, o resultado será uma lista de 20 caixas delimitadoras.
Gera
IllegalArgumentException se o tamanho da dimensão da caixa delimitadora (definida por boundingBoxAxis) não for 4.
IllegalArgumentException se boundingBoxAxis não estiver em (-(D+1), D), em que D é o número de dimensões do tensor.
IllegalArgumentException se tensor tiver um tipo de dado diferente de DataType.FLOAT32.