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
tensorrepresenta. Todas as dimensões, excetoboundingBoxAxis, serão recolhidas com a ordem mantida. Por exemplo, considerandotensorcom as formas {1, 4, 10, 2} eboundingBoxAxis = 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.
|