BoundingBoxUtil

La classe publique finale BoundingBoxUtil

Classe d'assistance permettant de convertir des valeurs représentant des cadres de délimitation en rectangles.

La classe fournit une fonction statique permettant de créer des cadres de délimitation en tant que RectF à partir de différents types de configurations.

En règle générale, un cadre de délimitation peut être représenté par quatre valeurs flottantes, mais ces valeurs peuvent être interprétées de nombreuses façons. Nous acceptons désormais trois configurations BoundingBoxUtil.Type, et l'ordre des éléments dans chaque type est également configurable.

Classes imbriquées

enum BoundingBoxUtil.CoordinateType Indique si les coordonnées sont des pixels réels ou des rapports relatifs. 
enum BoundingBoxUtil.Type Indique comment un cadre de délimitation est représenté. 

Méthodes publiques

statique List<RectF>
convert(TensorTensorBuffer, int[] valueIndex, intboundBoxAxis, type BoundingBoxUtil.Type, CoordinatType BoundingBoxUtil.CoordinateType, hauteur int, largeur int)
Crée une liste de cadres de délimitation à partir d'un élément TensorBuffer qui les représente.

Méthodes héritées

Méthodes publiques

public statique List<RectF> convert (TensorBuffer tensor, int[] valueIndex, int limitesBoxAxis, type BoundingBoxUtil.Type, BoundingBoxUtil.CoordinateType CoordinatType, int height, int width)

Crée une liste de cadres de délimitation à partir d'un élément TensorBuffer qui les représente.

Paramètres
Tensor contient les données représentant certaines cases.
valueIndex indique l'ordre des éléments définis dans chaque type de cadre de délimitation. Un tableau d'index vide représente l'ordre par défaut de chaque type de cadre de délimitation. Par exemple, pour indiquer l'ordre par défaut des LIMITES, {left, top, right, bottom}, l'index doit être {0, 1, 2, 3}. Pour indiquer l'ordre {left, right, top, bottom}, vous devez indiquer {0, 2, 1, 3}.

Le tableau d'index peut être appliqué à tous les types de cadres de délimitation pour ajuster l'ordre des éléments sous-jacents correspondants.

boundingBoxAxis spécifie l'index de la dimension qui représente le cadre de délimitation. La taille de cette dimension doit être de 4. Ici, l'index commence à 0. Par exemple, si le Tensor a la forme 4x10, l'axe des cadres de délimitation est susceptible d'être 0. L'axe négatif est également accepté: -1 correspond au dernier axe et -2 au second. Pour la forme 10x4, il est probable que l'axe soit égal à 1 (ou -1, de façon équivalente).
Type définit la façon dont les valeurs doivent être converties en cases. Voir BoundingBoxUtil.Type
coordinateType définit la manière dont les valeurs sont interprétées au niveau des coordonnées. Voir BoundingBoxUtil.CoordinateType
taille la hauteur de l'image à laquelle appartiennent les cadres. N'a d'effets que lorsque coordinateType est défini sur BoundingBoxUtil.CoordinateType.RATIO
largeur la largeur de l'image à laquelle appartiennent les cadres. N'a d'effets que lorsque coordinateType est défini sur BoundingBoxUtil.CoordinateType.RATIO
Renvoie
  • Liste des cadres de délimitation représentés par l'élément tensor. Toutes les dimensions, à l'exception de boundingBoxAxis, seront réduites et l'ordre sera conservé. Par exemple, pour tensor ayant la forme {1, 4, 10, 2} et boundingBoxAxis = 1, le résultat est une liste de 20 cadres de délimitation.
Génère
IllegalArgumentException Si la taille de la dimension du cadre de délimitation (définie par boundingBoxAxis) n'est pas de 4
IllegalArgumentException Si boundingBoxAxis ne se trouve pas dans (-(D+1), D), où D correspond au nombre de dimensions de tensor.
IllegalArgumentException si tensor a un type de données autre que DataType.FLOAT32.