Class helper untuk mengonversi nilai yang mewakili kotak pembatas menjadi persegi panjang.
Class ini menyediakan fungsi statis untuk membuat kotak pembatas sebagai RectF
dari berbagai jenis konfigurasi.
Umumnya, kotak pembatas dapat dinyatakan oleh 4 nilai float, tetapi nilai tersebut dapat
ditafsirkan dengan berbagai cara. Sekarang kami mendukung 3 konfigurasi BoundingBoxUtil.Type
, dan urutan
elemen di setiap jenis juga dapat dikonfigurasi.
Class Bertingkat
enum | BoundingBoxUtil.CoordinateType | Menunjukkan apakah koordinat adalah piksel sebenarnya atau rasio relatif. | |
enum | BoundingBoxUtil.Type | Menunjukkan cara kotak pembatas ditampilkan. |
Metode Publik
statis List<RectF> |
convert(tensor TensorBuffer, int[] valueIndex, int boundingBoxAxis, jenis BoundingBoxUtil.Type, BoundingBoxUtil.CoordinateType CoordinateType, int height, lebar int)
Membuat daftar kotak pembatas dari
TensorBuffer yang mewakili kotak pembatas. |
Metode Turunan
Metode Publik
publik statis List<RectF> convert (TensorBuffer tensor, int[] valueIndex, int boundingBoxAxis, BoundingBoxUtil.Type type, BoundingBoxUtil.CoordinateType CoordinateType, int height, int width)
Membuat daftar kotak pembatas dari TensorBuffer
yang mewakili kotak pembatas.
Parameter
Tensor | menyimpan data yang mewakili beberapa kotak. |
---|---|
valueIndex | menunjukkan urutan elemen yang didefinisikan dalam setiap jenis kotak pembatas. Array indeks kosong mewakili urutan default setiap jenis kotak pembatas. Misalnya, untuk menunjukkan
urutan default BOUNDARIES, {left, top, right, bottom}, indeksnya harus {0, 1, 2,
3}. Untuk menunjukkan urutan {kiri, kanan, atas, bawah}, urutannya harus {0, 2, 1, 3}.
Array indeks dapat diterapkan ke semua jenis kotak pembatas untuk menyesuaikan urutan elemen dasarnya yang sesuai. |
boundingBoxAxis | menentukan indeks dimensi yang mewakili kotak pembatas. Ukuran untuk dimensi tersebut harus 4. Indeks di sini dimulai dari 0. Misalnya, jika tensor memiliki bentuk 4x10, sumbu untuk kotak pembatas cenderung 0. Sumbu negatif juga didukung: -1 memberikan sumbu terakhir dan -2 memberikan sumbu kedua, .etc. Untuk bentuk 10x4, sumbu cenderung bernilai 1 (atau -1, ekuivalen). |
tipe | mendefinisikan bagaimana nilai harus dikonversi menjadi kotak. Lihat BoundingBoxUtil.Type |
coordinateType | mendefinisikan bagaimana nilai ditafsirkan
sebagai koordinat. Lihat BoundingBoxUtil.CoordinateType |
tinggi | tinggi gambar tempat kotak-kotak itu berada. Hanya memiliki efek jika coordinateType adalah BoundingBoxUtil.CoordinateType.RATIO |
lebar | lebar gambar tempat kotak-kotak itu berada. Hanya memiliki efek jika coordinateType adalah BoundingBoxUtil.CoordinateType.RATIO |
Hasil
- Daftar kotak pembatas yang diwakili oleh
tensor
. Semua dimensi kecualiboundingBoxAxis
akan diciutkan dengan urutan yang dipertahankan. Misalnya, dengantensor
dengan bentuk {1, 4, 10, 2}, danboundingBoxAxis = 1
, hasilnya akan berupa daftar 20 kotak pembatas.
Menampilkan
IllegalArgumentException | jika ukuran dimensi kotak pembatas (ditetapkan oleh boundingBoxAxis ) bukan 4. |
---|---|
IllegalArgumentException | jika boundingBoxAxis tidak ada dalam (-(D+1), D) yang mana
D adalah jumlah dimensi dari tensor . |
IllegalArgumentException | jika tensor memiliki jenis data selain DataType.FLOAT32 .
|