Hilfsklasse zum Konvertieren von Werten, die Begrenzungsrahmen in Rechtecke darstellen.
Die Klasse bietet eine statische Funktion zum Erstellen von Begrenzungsrahmen als RectF
aus verschiedenen Konfigurationstypen.
Im Allgemeinen kann ein Begrenzungsrahmen durch vier Gleitkommawerte dargestellt werden, die Werte lassen sich jedoch auf viele Arten interpretieren. Wir unterstützen jetzt 3 BoundingBoxUtil.Type
-Konfigurationen. Die Reihenfolge der Elemente in jedem Typ ist ebenfalls konfigurierbar.
Verschachtelte Klassen
enum | BoundingBoxUtil.CoordinateType | Gibt an, ob die Koordinaten tatsächliche Pixel oder relative Seitenverhältnisse sind. | |
enum | BoundingBoxUtil.Type | Gibt an, wie ein Begrenzungsrahmen dargestellt wird. |
Public Methods
static List<RectF> |
convert(TensorBuffer-Tensor, int[] valueIndex, intboundBoxAxis, BoundingBoxUtil.Type-Typ, BoundingBoxUtil.CoordinateType-Koordinatentyp, int-Höhe, int-Breite)
Erstellt eine Liste von Begrenzungsrahmen aus einem
TensorBuffer , der Begrenzungsrahmen darstellt. |
Übernommene Methoden
Public Methods
public static List<RectF> convert (TensorBuffer-Tensor, int[] valueIndex, intboundBoxAxis, Typ BoundingBoxUtil.Type, BoundingBoxUtil.CoordinateType KoordinatenType, int-Höhe, int-Breite){/1
Erstellt eine Liste von Begrenzungsrahmen aus einem TensorBuffer
, der Begrenzungsrahmen darstellt.
Parameter
Tensor | enthält die Daten, die einige Felder darstellen. |
---|---|
valueIndex | gibt die Reihenfolge der in jedem Begrenzungsrahmentyp definierten Elemente an. Ein leeres Indexarray stellt die Standardreihenfolge jedes Begrenzungsrahmentyps dar. Um beispielsweise die Standardreihenfolge von BOUNDARIES, {left, top, right, bottom}, festzulegen, sollte der Index {0, 1, 2, 3} sein. Zur Angabe der Reihenfolge {left, right, top, bottom} sollte die Reihenfolge {0, 2, 1, 3} sein.
Das Indexarray kann auf alle Arten von Begrenzungsrahmen angewendet werden, um die Reihenfolge der entsprechenden zugrunde liegenden Elemente anzupassen. |
boundingBoxAxis | gibt den Index der Dimension an, die den Markierungsrahmen darstellt. Die Größe muss 4 sein. Der Index beginnt hier bei 0. Wenn der Tensor beispielsweise die Form 4 x 10 hat, ist die Achse für Begrenzungsrahmen wahrscheinlich 0. Auch eine negative Achse wird unterstützt: -1 gibt die letzte Achse und -2 die zweite Achse an usw. Bei der Form 10x4 ist die Achse wahrscheinlich 1 (bzw. -1). |
Typ | definiert, wie Werte in Felder umgewandelt werden. BoundingBoxUtil.Type ansehen |
coordinateType | definiert, wie Werte als Koordinaten interpretiert werden. BoundingBoxUtil.CoordinateType ansehen |
Höhe | Die Höhe des Bildes, zu dem die Boxen gehören. Wirkt sich nur dann aus, wenn coordinateType den Wert BoundingBoxUtil.CoordinateType.RATIO hat |
Breite | die Breite des Bildes, zu dem die Boxen gehören. Wirkt sich nur dann aus, wenn coordinateType den Wert BoundingBoxUtil.CoordinateType.RATIO hat |
Rückgabe
- Eine Liste von Begrenzungsrahmen, die der
tensor
darstellt. Alle Dimensionen außerboundingBoxAxis
werden minimiert und die Reihenfolge wird beibehalten. Bei einemtensor
-Objekt mit der Form {1, 4, 10, 2} undboundingBoxAxis = 1
erhalten Sie beispielsweise eine Liste mit 20 Begrenzungsrahmen.
Löst aus
IllegalArgumentException | wenn die Größe der Begrenzungsrahmendimension (durch boundingBoxAxis festgelegt) nicht 4 ist. |
---|---|
IllegalArgumentException | wenn boundingBoxAxis nicht in (-(D+1), D) enthalten ist, wobei D die Anzahl der Dimensionen von tensor ist. |
IllegalArgumentException | tensor hat einen anderen Datentyp als DataType.FLOAT32 .
|