BoundingBoxUtil

klasa përfundimtare publike BoundingBoxUtil

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ç boundingBoxAxis do të palosen me mbajtjen e rendit. Për shembull, duke dhënë tensor me formën {1, 4, 10, 2} dhe boundingBoxAxis = 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 .