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 zboundingBoxAxis
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 . |