BoundingBoxUtil

publiczna klasa końcowa BoundingBoxUtil

Klasa pomocnicza do konwertowania wartości reprezentujących obwiednie na prostokąty.

Klasa udostępnia funkcję statyczną do tworzenia obwiedni jako RectF z różnych typów konfiguracji.

Ogólnie rzecz biorąc, obwiednia może być reprezentowana przez 4 wartości zmiennoprzecinkowe, ale wartości te można interpretować na wiele sposobów. Obsługujemy teraz 3 konfiguracje BoundingBoxUtil.Type , a kolejność elementów każdego typu jest również konfigurowalna.

Klasy zagnieżdżone

wyliczenie BoundingBoxUtil.CooperativeType Wskazuje, czy współrzędne są rzeczywistymi pikselami, czy względnymi współczynnikami.
wyliczenie BoundingBoxUtil.Type Wskazuje sposób reprezentowania obwiedni.

Metody publiczne

lista statyczna <RectF>
konwertuj (tensor TensorBuffer , int[] valueIndex, intboundingBoxAxis, BoundingBoxUtil.Type typ, BoundingBoxUtil.CooperativeType typ współrzędnych, int wysokość, int szerokość)
Tworzy listę obwiedni na podstawie TensorBuffer , która reprezentuje obwiednie.

Metody dziedziczone

Metody publiczne

public static List <RectF> konwertuj ( TensorBuffer Tensor, int[] valueIndex, intboundingBoxAxis, BoundingBoxUtil.Type typ, BoundingBoxUtil.CoauthorType typ współrzędnych, int wysokość, int szerokość)

Tworzy listę obwiedni na podstawie TensorBuffer , która reprezentuje obwiednie.

Parametry
napinacz przechowuje dane reprezentujące niektóre pola.
wartośćIndeks oznacza kolejność elementów zdefiniowanych w każdym typie ramki ograniczającej. Pusta tablica indeksów reprezentuje domyślną kolejność każdego typu ramki ograniczającej. Na przykład, aby oznaczyć domyślną kolejność GRANIC, {lewa, góra, prawa, dół}, indeks powinien wynosić {0, 1, 2, 3}. Aby oznaczyć kolejność {lewo, prawo, góra, dół}, kolejność powinna wynosić {0, 2, 1, 3}.

Tablicę indeksów można zastosować do wszystkich typów obwiedni, aby dostosować kolejność odpowiadających im elementów bazowych.

oś ograniczającaBox określa indeks wymiaru reprezentującego obwiednię. Rozmiar tego wymiaru musi wynosić 4. Indeks zaczyna się tutaj od 0. Na przykład, jeśli tensor ma kształt 4x10, oś obwiedni prawdopodobnie będzie wynosić 0. Obsługiwana jest również oś ujemna: -1 daje ostatnią oś i -2 daje drugą, .itd. W przypadku kształtu 10x4 oś prawdopodobnie będzie wynosić 1 (lub -1, równoważnie).
typ określa, w jaki sposób wartości powinny być konwertowane na pola. Zobacz BoundingBoxUtil.Type
Typ współrzędnych definiuje sposób interpretacji wartości na współrzędne. Zobacz BoundingBoxUtil.CoordinateType
wysokość wysokość obrazu, do którego należą pola. Ma skutki tylko wtedy, gdy coordinateType to BoundingBoxUtil.CoordinateType.RATIO
szerokość szerokość obrazu, do którego należą pola. Ma skutki tylko wtedy, gdy coordinateType to BoundingBoxUtil.CoordinateType.RATIO
Zwroty
  • Lista ramek ograniczających reprezentowanych przez tensor . Wszystkie wymiary z boundingBoxAxis zostaną zwinięte przy zachowaniu kolejności. Na przykład, biorąc pod uwagę tensor o kształcie {1, 4, 10, 2} boundingBoxAxis = 1 , wynikiem będzie lista 20 obwiedni.
Rzuca
Wyjątek IllegalArgument jeśli rozmiar wymiaru ramki ograniczającej (ustawiony boundingBoxAxis ) nie wynosi 4.
Wyjątek IllegalArgument boundingBoxAxis nie znajduje się w (-(D+1), D) gdzie D jest liczbą wymiarów tensor .
Wyjątek IllegalArgument jeśli tensor ma typ danych inny niż DataType.FLOAT32 .