Classe di supporto per la conversione dei valori che rappresentano i riquadri di delimitazione in rettangoli.
La classe fornisce una funzione statica per creare riquadri di delimitazione come RectF
da diversi tipi di configurazioni.
In genere, un riquadro di delimitazione può essere rappresentato da quattro valori in virgola mobile, ma i valori possono essere interpretati in molti modi. Ora supportiamo 3 BoundingBoxUtil.Type
configurazioni e anche l'ordine degli elementi di ogni tipo è configurabile.
Corsi nidificati
enum | BoundingBoxUtil.CoordinateType | Indica se le coordinate sono pixel o rapporti relativi effettivi. | |
enum | BoundingBoxUtil.Type | Indica come viene rappresentato un riquadro di delimitazione. |
Metodi pubblici
statico Elenco<RectF> |
convert(tensor di TensorBuffer, int[] valueIndex, int boundingBoxAxis, tipo BoundingBoxUtil.Type, coordinateType BoundingBoxUtil.CoordinateType, int altezza, int width)
Crea un elenco di riquadri di delimitazione da un elemento
TensorBuffer che rappresenta i riquadri di delimitazione. |
Metodi ereditati
Metodi pubblici
pubblico static List<RectF> convert (TensorBuffer tensor, int[] valueIndex, int boundingBoxAxis, tipo BoundingBoxUtil.Type, BoundingBoxUtil.CoordinateType
Crea un elenco di riquadri di delimitazione da un elemento TensorBuffer
che rappresenta i riquadri di delimitazione.
Parametri
tensore | contiene i dati che rappresentano alcune caselle. |
---|---|
valueIndex | indica l'ordine degli elementi definiti in ciascun tipo di riquadro di delimitazione. Un array di indice vuoto rappresenta l'ordine predefinito di ogni tipo di riquadro di delimitazione. Ad esempio, per indicare l'ordine predefinito dei BOUNDARIES {left, top,right,bottom}, l'indice deve essere {0, 1, 2,
3}. Per indicare l'ordine {left, left, top, below}, l'ordine deve essere {0, 2, 1, 3}.
L'array di indici può essere applicato a tutti i tipi di riquadri di delimitazione per regolare l'ordine degli elementi sottostanti corrispondenti. |
boundingBoxAxis | specifica l'indice della dimensione che rappresenta il riquadro di delimitazione. La dimensione di questa dimensione deve essere 4. L'indice inizia da 0. Ad esempio, se il tensore ha una forma 4 x 10, è probabile che l'asse per i riquadri di delimitazione sia 0. Sono supportati anche gli assi negativi: -1 indica l'ultimo asse e -2 indica il secondo e così via. |
Tipo | definisce la modalità di conversione dei valori in caselle. Visualizza BoundingBoxUtil.Type |
coordinateType | definisce il modo in cui i valori vengono interpretati in coordinate. Visualizza BoundingBoxUtil.CoordinateType |
altezza | l'altezza dell'immagine a cui appartengono le caselle. Ha effetti solo quando coordinateType è BoundingBoxUtil.CoordinateType.RATIO |
larghezza | la larghezza dell'immagine a cui appartengono le caselle. Ha effetti solo quando coordinateType è BoundingBoxUtil.CoordinateType.RATIO |
Ritorni
- Un elenco di riquadri di delimitazione rappresentati da
tensor
. Tutte le dimensioni tranneboundingBoxAxis
verranno compresse con l'ordine mantenuto. Ad esempio, setensor
ha la forma {1, 4, 10, 2} eboundingBoxAxis = 1
, il risultato sarà un elenco di 20 riquadri di delimitazione.
Lanci
IllegalArgumentException | se la dimensione del riquadro di delimitazione (impostata da boundingBoxAxis ) è diversa da 4. |
---|---|
IllegalArgumentException | se boundingBoxAxis non è in (-(D+1), D) , dove
D è il numero delle dimensioni di tensor . |
IllegalArgumentException | se tensor ha un tipo di dati diverso da DataType.FLOAT32 .
|