Klasa ndihmëse për konvertimin e vlerave që përfaqëson kutitë kufizuese në drejtkëndësha.
Klasa ofron një funksion statik për të krijuar kuti kufizuese si RectF nga lloje të ndryshme konfigurimesh.
Në përgjithësi, një kuti kufizuese mund të përfaqësohet nga 4 vlera float, por vlerat mund të interpretohen në shumë mënyra. Tani ne mbështesim 3 BoundingBoxUtil.Type të konfigurimeve, dhe renditja e elementeve në secilin lloj është gjithashtu e konfigurueshme.
Klasat e mbivendosura
| një numër | BoundingBoxUtil.CoordinateType | Tregon nëse koordinatat janë pikselë aktualë ose raporte relative. | |
| një numër | BoundingBoxUtil.Type | Tregon se si paraqitet një kuti kufizuese. | |
Metodat publike
| Lista statike <RectF> | konverto ( TensorBuffer , int[] valueIndex, int boundingBoxAxis, BoundingBoxUtil.Type lloji, BoundingBoxUtil.CoordinateType koordinateType, lartësia int, gjerësia int) Krijon një listë të kutive kufizuese nga një TensorBuffer që përfaqëson kutitë kufizuese. |
Metodat e trashëguara
Metodat publike
Konvertimi i listës statike publike <RectF> ( TensorBuffer , int[] valueIndex, int boundingBoxAxis, Lloji BoundingBoxUtil.Type , BoundingBoxUtil.CoordinateType koordinateType, lartësia int, gjerësia int)
Krijon një listë të kutive kufizuese nga një TensorBuffer që përfaqëson kutitë kufizuese.
Parametrat
| tensor | mban të dhënat që përfaqësojnë disa kuti. |
|---|---|
| Indeksi i vlerës | tregon rendin e elementeve të përcaktuar në çdo lloj kutie kufizuese. Një grup bosh indeksi përfaqëson rendin e paracaktuar të çdo lloji të kutisë kufizuese. Për shembull, për të treguar rendin e paracaktuar të BOUNDARIES, {majtas, lart, djathtas, poshtë}, indeksi duhet të jetë {0, 1, 2, 3}. Për të treguar rendin {majtas, djathtas, lart, poshtë}, rendi duhet të jetë {0, 2, 1, 3}. Vargu i indeksit mund të aplikohet për të gjitha llojet e kutive kufizuese për të rregulluar rendin e elementeve të tyre përkatëse themelore. |
| boundingBoxAxis | specifikon indeksin e dimensionit që përfaqëson kutinë kufizuese. Madhësia e atij dimensioni kërkohet të jetë 4. Indeksi këtu fillon nga 0. Për shembull, nëse tensori ka formën 4x10, boshti për kutitë kufizuese ka të ngjarë të jetë 0. Mbështetet edhe boshti negativ: -1 jep boshtin e fundit dhe -2 jep të dytin, .etj. Për formën 10x4, boshti ka të ngjarë të jetë 1 (ose -1, në mënyrë të barabartë). |
| lloji | përcakton se si vlerat duhet të konvertohen në kuti. Shih BoundingBoxUtil.Type |
| Lloji i koordinatave | përcakton se si vlerat interpretohen në koordinata. Shih BoundingBoxUtil.CoordinateType |
| lartësia | lartësia e figurës së cilës i përkasin kutitë. Ka efekte vetëm kur coordinateType është BoundingBoxUtil.CoordinateType.RATIO |
| gjerësia | gjerësia e imazhit të cilës i përkasin kutitë. Ka efekte vetëm kur coordinateType është BoundingBoxUtil.CoordinateType.RATIO |
Kthimet
- Një listë e kutive kufizuese që përfaqëson
tensor. Të gjitha dimensionet përveçboundingBoxAxisdo të palosen me mbajtjen e rendit. Për shembull, duke dhënëtensorme formën {1, 4, 10, 2} dheboundingBoxAxis = 1, Rezultati do të jetë një listë me 20 kuti kufizuese.
Hedhjet
| IllegalArgumentPërjashtim | nëse madhësia e dimensionit të kutisë kufitare (e vendosur nga boundingBoxAxis ) nuk është 4. |
|---|---|
| IllegalArgumentPërjashtim | nëse boundingBoxAxis nuk është në (-(D+1), D) ku D është numri i dimensioneve të tensor . |
| IllegalArgumentPërjashtim | nëse tensor ka tip të dhënash të ndryshëm nga DataType.FLOAT32 . |