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, exceptoboundingBoxAxis
, se contraerán y mantendrán el orden. Por ejemplo, contensor
con las formas {1, 4, 10, 2} yboundingBoxAxis = 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 .
|