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 4 valores flutuantes, mas os valores podem ser interpretados de várias maneiras. Agora oferecemos suporte a 3 configurações BoundingBoxUtil.Type , e a ordem dos elementos em cada tipo também é configurável.

Classes aninhadas

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

Métodos Públicos

Lista estática <RectF>
convert (tensor TensorBuffer , int[] valueIndex, intboundingBoxAxis, tipo BoundingBoxUtil.Type , BoundingBoxUtil.CoordinateType coordenaType, altura int, largura int)
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 (tensor TensorBuffer , int[] valueIndex, intboundingBoxAxis, tipo BoundingBoxUtil.Type , BoundingBoxUtil.CoordenType coordenaType, altura int, largura int)

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

Parâmetros
tensor contém os dados que representam algumas caixas.
índice de valor denota 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 denotar a ordem padrão de LIMITES, {esquerda, superior, direita, inferior}, o índice deve ser {0, 1, 2, 3}. Para denotar a ordem {esquerda, direita, superior, inferior}, a ordem deve ser {0, 2, 1, 3}.

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

delimitandoBoxAxis especifica o índice da dimensão que representa a caixa delimitadora. O tamanho dessa dimensão deve ser 4. O índice aqui começa em 0. Por exemplo, se o tensor tiver formato 4x10, o eixo para caixas delimitadoras provavelmente será 0. O eixo negativo também é suportado: -1 fornece o último eixo e -2 fornece o segundo, .etc. thePara a forma 10x4, o eixo provavelmente será 1 (ou -1, equivalentemente).
tipo define como os valores devem ser convertidos em caixas. Consulte BoundingBoxUtil.Type
coordenadaType define como os valores são interpretados nas coordenadas. Consulte BoundingBoxUtil.CoordinateType
altura a altura da imagem à qual as caixas pertencem. Só tem efeitos quando coordinateType é BoundingBoxUtil.CoordinateType.RATIO
largura a largura da imagem à qual as caixas pertencem. Só tem efeitos quando coordinateType é BoundingBoxUtil.CoordinateType.RATIO
Devoluções
  • Uma lista de caixas delimitadoras que o tensor representa. Todas as dimensões, boundingBoxAxis , serão recolhidas com a ordem mantida. Por exemplo, dado tensor com forma {1, 4, 10, 2} boundingBoxAxis = 1 , o resultado será uma lista de 20 caixas delimitadoras.
Lança
Exceção de argumento ilegal se o tamanho da dimensão da caixa delimitadora (definida boundingBoxAxis ) não for 4.
Exceção de argumento ilegal boundingBoxAxis não estiver em (-(D+1), D) onde D é o número de dimensões do tensor .
Exceção de argumento ilegal se tensor tiver um tipo de dados diferente de DataType.FLOAT32 .