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, excetoboundingBoxAxis
, serão recolhidas com a ordem mantida. Por exemplo, considerandotensor
com 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 .
|