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, dadotensor
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 . |