BoundingBoxUtil

Clase final pública BoundingBoxUtil

Clase auxiliar para convertir valores que representan cuadros delimitadores en rectángulos.

La clase proporciona una función estática para crear cuadros de límite como RectF desde diferentes tipos de configuraciones.

En general, un cuadro delimitador podría representarse con 4 valores de número de punto flotante, pero los valores se pueden interpretar de muchas maneras. Ahora admitimos 3 BoundingBoxUtil.Type de configuraciones, y el orden de los elementos en cada tipo también se puede configurar.

Categorías anidadas

enum BoundingBoxUtil.CoordinateType Indica si las coordenadas son píxeles reales o proporciones relativas. 
enum BoundingBoxUtil.Type Indica cómo se representa un cuadro delimitador. 

Métodos públicos

List<RectF> estático
convert(tensor TensorBuffer, int[] valueIndex, int límiteBoxAxis, tipo BoundingBoxUtil.Type, BoundingBoxUtil.CoordinateType coordenada, altura int, ancho int)
Crea una lista de cuadros de límite a partir de un TensorBuffer que representa cuadros de límite.

Métodos heredados

Métodos públicos

publica estática estática List<RectF> convert (TensorBuffer tensor, int[] valueIndex, int límiteBoxAxis, tipo BoundingBoxUtil.Type, BoundingBoxUtil.CoordinateType coordenada, altura int1, ancho int)

Crea una lista de cuadros de límite a partir de un TensorBuffer que representa cuadros de límite.

Parámetros
tensor contiene los datos que representan algunas cajas.
valueIndex denota el orden de los elementos definidos en cada tipo de cuadro delimitador. Un array de índice vacío representa el orden predeterminado de cada tipo de cuadro de límite. Por ejemplo, para indicar el orden predeterminado de los BOUNDARIES, {left, top, right, left}, el índice debe ser {0, 1, 2, 3}. Para indicar el orden {left, right, top, left}, el orden debe ser {0, 2, 1, 3}.

El array de índice se puede aplicar a todos los tipos de cuadros de límite para ajustar el orden de los elementos subyacentes correspondientes.

boundingBoxAxis especifica el índice de la dimensión que representa el cuadro delimitador. Se requiere que el tamaño de esa dimensión sea 4. Aquí, el índice comienza con 0. Por ejemplo, si el tensor tiene la forma 4 x 10, es probable que el eje para los cuadros de límite sea 0. También se admite el eje negativo: -1 muestra el último eje y -2, el segundo, .etc. Para la forma 10x4, es probable que el eje sea 1 (o -1, equivalente).
Tipo define cómo se deben convertir los valores en cuadros. Consulta BoundingBoxUtil.Type
coordinateType define cómo se interpretan los valores como coordenadas. Consulta BoundingBoxUtil.CoordinateType
height la altura de la imagen a la que pertenecen los cuadros. Solo tiene efectos cuando coordinateType es BoundingBoxUtil.CoordinateType.RATIO
width el ancho de la imagen a la que pertenecen los cuadros. Solo tiene efectos cuando coordinateType es BoundingBoxUtil.CoordinateType.RATIO
Devuelve
  • Una lista de cuadros de límite que representa el objeto tensor. Todas las dimensiones, excepto boundingBoxAxis, se contraerán y mantendrán el orden. Por ejemplo, con tensor con las formas {1, 4, 10, 2} y boundingBoxAxis = 1, el resultado será una lista de 20 cuadros delimitadores.
Arroja
IllegalArgumentException si el tamaño de la dimensión del cuadro de límite (definido por boundingBoxAxis) no es 4.
IllegalArgumentException si boundingBoxAxis no está en (-(D+1), D), donde D es la cantidad de dimensiones de tensor.
IllegalArgumentException si tensor tiene un tipo de datos distinto de DataType.FLOAT32.