BoundingBoxUtil

classe finale publique BoundingBoxUtil

Classe d'assistance pour convertir les valeurs qui représentent les cadres de délimitation en rectangles.

La classe fournit une fonction statique pour créer des cadres de délimitation sous forme de RectF à partir de différents types de configurations.

Généralement, une boîte englobante peut être représentée par 4 valeurs flottantes, mais les valeurs peuvent être interprétées de plusieurs manières. Nous prenons désormais en charge 3 configurations BoundingBoxUtil.Type , et l'ordre des éléments dans chaque type est également configurable.

Classes imbriquées

énumération BoundingBoxUtil.CoordonnéeType Indique si les coordonnées sont des pixels réels ou des rapports relatifs.
énumération BoundingBoxUtil.Type Indique la façon dont une boîte englobante est représentée.

Méthodes publiques

Liste statique <RectF>
convertir ( tenseur TensorBuffer , int[] valueIndex, intboundingBoxAxis, type BoundingBoxUtil.Type , BoundingBoxUtil.CoordinationType coordinateType, hauteur int, largeur int)
Crée une liste de cadres de délimitation à partir d'un TensorBuffer qui représente les cadres de délimitation.

Méthodes héritées

Méthodes publiques

conversion de liste statique publique <RectF> ( tenseur TensorBuffer , int[] valueIndex, intboundingBoxAxis, type BoundingBoxUtil.Type , BoundingBoxUtil.CoordinationType coordinateType, hauteur int, largeur int)

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

Paramètres
tenseur contient les données représentant certaines cases.
valeurIndex désigne 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, {gauche, haut, droite, bas}, l'index doit être {0, 1, 2, 3}. Pour désigner l'ordre {gauche, droite, haut, bas}, l'ordre doit être {0, 2, 1, 3}.

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

axeBoîteEnglobante spécifie l'index de la dimension qui représente le cadre de délimitation. La taille de cette dimension doit être 4. L'index ici commence à 0. Par exemple, si le tenseur a la forme 4x10, l'axe des cadres de délimitation est probablement 0. L'axe négatif est également pris en charge : -1 donne le dernier axe et -2 donne le second, .etc. Pour la forme 10x4, l'axe est probablement 1 (ou -1, de manière équivalente).
taper définit comment les valeurs doivent être converties en boîtes. Voir BoundingBoxUtil.Type
Type de coordonnées définit comment les valeurs sont interprétées en coordonnées. Voir BoundingBoxUtil.CoordinateType
hauteur la hauteur de l'image à laquelle appartiennent les cases. N'a d'effets que lorsque coordinateType est BoundingBoxUtil.CoordinateType.RATIO
largeur la largeur de l'image à laquelle appartiennent les cases. N'a d'effets que lorsque coordinateType est BoundingBoxUtil.CoordinateType.RATIO
Retour
  • Une liste de cadres de délimitation représentés par le tensor . Toutes les dimensions, à l'exception boundingBoxAxis seront réduites et l'ordre sera conservé. Par exemple, étant donné tensor de forme {1, 4, 10, 2} boundingBoxAxis = 1 , le résultat sera une liste de 20 cadres englobants.
Jetés
Exception d'argument illégal si la taille de la dimension du cadre de délimitation (définie boundingBoxAxis ) n'est pas 4.
Exception d'argument illégal boundingBoxAxis n'est pas dans (-(D+1), D)D est le nombre de dimensions du tensor .
Exception d'argument illégal si tensor a un type de données autre que DataType.FLOAT32 .