BoundingBoxUtil

öffentliche finale Klasse BoundingBoxUtil

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ßer boundingBoxAxis werden minimiert und die Reihenfolge wird beibehalten. Bei einem tensor-Objekt mit der Form {1, 4, 10, 2} und boundingBoxAxis = 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.