BoundingBoxUtil

公開最終類別 BoundingBoxUtil

用於將代表定界框轉換成矩形的值的輔助類別。

類別提供靜態函式,可從不同類型的設定建立定界框 RectF

一般來說,定界框可以用 4 個浮點值表示,但這些值能以多種方式解讀。我們現在支援 3 種 BoundingBoxUtil.Type 的設定,您也可以調整每種類型的元素順序。

巢狀類別

列舉 BoundingBoxUtil.CoordinateType 表示座標是實際像素或相對比例。
列舉 BoundingBoxUtil.Type 表示定界框的表示方式。

公用方法

static List<RectF>
convert(TensorBuffer tensor, int[] valueIndex, int boundingBoxAxis, BoundingBoxUtil.Type 類型, BoundingBoxUtil.CoordinateType CoordinateType, int height, int width)
TensorBuffer 建立定界框清單,該方塊代表定界框。

繼承的方法

公用方法

public static List<RectF> convert (TensorBuffer tensor, int[] valueIndex, int boundingBoxAxis, BoundingBoxUtil.Type 類型, BoundingBoxUtil.Type 類型, BoundingBoxUtil.CoordinateType CoordinateType, CoordinatetUtil.CoordinateType)

TensorBuffer 建立定界框清單,該方塊代表定界框。

參數
張量 包含代表部分盒子的資料
valueIndex 表示元素在各個定界框類型中定義的元素順序。空的索引陣列代表各個定界框類型的預設順序。舉例來說,如要表示「BOUNDARIES」的預設順序:{left, top,right,bottom},索引應為 {0, 1, 2, 3}。如要表示訂單 {left,right, top,bottom},順序應為 {0, 2, 1, 3}。

索引陣列可套用至所有定界框類型,藉此調整對應基礎元素的順序。

boundingBoxAxis 會指定代表定界框的維度索引。該維度的大小必須為 4。此處的索引從 0 開始。舉例來說,如果張量的形狀為 4x10,定界框的軸可能是 0。同時也支援負軸:-1 代表最後軸,-2 代表第二軸,以 .以此類推。如果是形狀 10x4,軸可能為 1 (或 -1,相等)。
類型 定義值應如何轉換為方塊。查看「BoundingBoxUtil.Type
coordinateType 會定義值如何解譯至座標。查看「BoundingBoxUtil.CoordinateType
高度 方塊所屬圖片的高度。只有在coordinateType是「BoundingBoxUtil.CoordinateType.RATIO」時才會產生效果
寬度 方塊所屬圖片的寬度。只有在coordinateType是「BoundingBoxUtil.CoordinateType.RATIO」時才會產生效果
傳回
  • tensor 代表的定界框清單。「boundingBoxAxis」以外的所有維度都會收合並保留順序。舉例來說,假設 tensor 的形狀為 {1, 4, 10, 2},且為 boundingBoxAxis = 1,則結果會是包含 20 個定界框的清單。
擲回
IllegalArgumentException 如果定界框尺寸 (由 boundingBoxAxis 設定) 不是 4。
IllegalArgumentException 如果 boundingBoxAxis 不是在 (-(D+1), D) 中,其中 Dtensor 的維度數量。
IllegalArgumentException 如果 tensor 採用 DataType.FLOAT32 以外的資料類型。