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 delimitadores como RectF a partir de diferentes tipos de configuraciones.

Generalmente, un cuadro delimitador podría representarse mediante 4 valores flotantes, pero los valores podrían interpretarse de muchas maneras. Ahora admitimos 3 BoundingBoxUtil.Type de configuraciones, y el orden de los elementos en cada tipo también es configurable.

Clases anidadas

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

Métodos públicos

Lista estática <RectF>
convertir (tensor TensorBuffer , int[] valueIndex, intboundingBoxAxis, BoundingBoxUtil.Type tipo, BoundingBoxUtil.CoordinateType coordinaType, int altura, int ancho)
Crea una lista de cuadros delimitadores a partir de un TensorBuffer que representa cuadros delimitadores.

Métodos heredados

Métodos públicos

Lista estática pública <RectF> convertir (tensor TensorBuffer , int[] valueIndex, intboundingBoxAxis, BoundingBoxUtil.Type tipo, BoundingBoxUtil.CoordinateType coordinaType, int altura, int ancho)

Crea una lista de cuadros delimitadores a partir de un TensorBuffer que representa cuadros delimitadores.

Parámetros
tensor contiene los datos que representan algunos cuadros.
índice de valor denota el orden de los elementos definidos en cada tipo de cuadro delimitador. Una matriz de índice vacía representa el orden predeterminado de cada tipo de cuadro delimitador. Por ejemplo, para indicar el orden predeterminado de LÍMITES, {izquierda, arriba, derecha, abajo}, el índice debe ser {0, 1, 2, 3}. Para indicar el orden {izquierda, derecha, arriba, abajo}, el orden debe ser {0, 2, 1, 3}.

La matriz de índice se puede aplicar a todos los tipos de cuadros delimitadores para ajustar el orden de sus elementos subyacentes correspondientes.

delimitadorBoxAxis especifica el índice de la dimensión que representa el cuadro delimitador. Se requiere que el tamaño de esa dimensión sea 4. El índice aquí comienza desde 0. Por ejemplo, si el tensor tiene la forma 4x10, es probable que el eje para los cuadros delimitadores sea 0. También se admite el eje negativo: -1 da el último eje y -2 da el segundo, .etc. Para la forma 10x4, es probable que el eje sea 1 (o -1, de manera equivalente).
tipo Define cómo se deben convertir los valores en cuadros. Ver BoundingBoxUtil.Type
tipo de coordenadas Define cómo se interpretan los valores en coordenadas. Ver BoundingBoxUtil.CoordinateType
altura la altura de la imagen a la que pertenecen los cuadros. Sólo tiene efectos cuando coordinateType es BoundingBoxUtil.CoordinateType.RATIO
ancho el ancho de la imagen a la que pertenecen los cuadros. Sólo tiene efectos cuando coordinateType es BoundingBoxUtil.CoordinateType.RATIO
Devoluciones
  • Una lista de cuadros delimitadores que representa el tensor . Todas las dimensiones, excepto boundingBoxAxis se contraerán y se mantendrá el orden. Por ejemplo, dado tensor con forma {1, 4, 10, 2} yboundingBoxAxis boundingBoxAxis = 1 , el resultado será una lista de 20 cuadros delimitadores.
Lanza
Argumento de excepción ilegal si el tamaño de la dimensión del cuadro delimitador (establecido boundingBoxAxis ) no es 4.
Argumento de excepción ilegal boundingBoxAxis no está en (-(D+1), D) donde D es el número de dimensiones del tensor .
Argumento de excepción ilegal si tensor tiene un tipo de datos distinto de DataType.FLOAT32 .