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'exceptionboundingBoxAxis
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) où 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 . |