Sınırlayıcı kutuları dikdörtgenlere temsil eden değerleri dönüştürmek için yardımcı sınıf.
Bu sınıf, farklı yapılandırma türlerinden RectF
olarak sınırlayıcı kutular oluşturmak için statik bir işlev sağlar.
Sınırlayıcı kutu genellikle 4 kayan nokta değeriyle temsil edilebilir ancak değerler birçok şekilde yorumlanabilir. Artık 3 adet BoundingBoxUtil.Type
yapılandırmayı destekliyoruz. Ayrıca her tür için öğelerin sırası da yapılandırılabilir.
İç İçe Sınıflar
enum | BoundingBoxUtil.CoordinateType | Koordinatların gerçek piksel sayısı mı yoksa göreli oran mı olduğunu belirtir. | |
enum | BoundingBoxUtil.Type | Sınırlayıcı kutunun nasıl gösterildiğini belirtir. |
Herkese Açık Yöntemler
static Liste<RectF> |
convert(TensorBuffer tensörü, int[] valueIndex, int boundingBoxAxis, BoundingBoxUtil.Type türü, BoundingBoxUtil.CoordinateType coordinateType, int yükseklik, int genişlik)
Sınırlayıcı kutuları temsil eden bir
TensorBuffer öğesinden sınırlayıcı kutuların listesini oluşturur. |
Devralınan Yöntemler
Herkese Açık Yöntemler
herkese açık static List<RectF> dönüştür (TensorBuffer tensör, int[] valueIndex, int boundingBoxAxis, BoundingBoxUtil.Type türü, BoundingBoxUtil.CoordinateTypeKoordinat
Sınırlayıcı kutuları temsil eden bir TensorBuffer
öğesinden sınırlayıcı kutuların listesini oluşturur.
Parametreler
Tensor | bazı kutuları temsil eden verileri barındırır. |
---|---|
valueIndex | her sınırlayıcı kutu türünde tanımlanan öğelerin sırasını belirtir. Boş bir dizin dizisi, her sınırlayıcı kutu türünün varsayılan sırasını temsil eder. Örneğin, Sınırlar'ın varsayılan sırasını ({left, top, right, bottom}) belirtmek için dizin {0, 1, 2, 3} olmalıdır. {left, right, top, bottom} sırasını belirtmek için sıra {0, 2, 1, 3} olmalıdır.
Dizin dizisi, karşılık gelen temel öğelerin sırasının ayarlanması için tüm sınırlayıcı kutu türlerine uygulanabilir. |
boundingBoxAxis | sınırlayıcı kutuyu temsil eden boyutun dizinini belirtir. Boyutun boyutu 4 olmalıdır. Buradaki dizin 0'dan başlar. Örneğin, tensörün şekli 4x10 ise sınırlayıcı kutu ekseni muhtemelen 0 olur. Negatif eksen de desteklenir: -1 son ekseni, -2 ise ikinciyi verir. 10x4 şeklinde ise eksen büyük olasılıkla 1 (veya eşdeğer olarak -1) olur. |
tür | değerlerin kutulara nasıl dönüştürülmesi gerektiğini tanımlar. Göz atın: BoundingBoxUtil.Type |
coordinateType | değerlerin koordinatlara nasıl yorumlanacağını tanımlar. Göz atın: BoundingBoxUtil.CoordinateType |
yükseklik | kutucukların ait olduğu resmin yüksekliğine göre ayarlanır. Yalnızca coordinateType BoundingBoxUtil.CoordinateType.RATIO olduğunda etkiler |
genişlik | kutucukların ait olduğu resmin genişliğini kaplar. Yalnızca coordinateType BoundingBoxUtil.CoordinateType.RATIO olduğunda etkiler |
İlerlemeler
tensor
öğesinin temsil ettiği sınırlayıcı kutuların listesi.boundingBoxAxis
dışındaki tüm boyutlar, sıra korunacak şekilde daraltılacak. Örneğin, {1, 4, 10, 2} veboundingBoxAxis = 1
şeklindetensor
verildiğinde sonuç 20 sınırlayıcı kutudan oluşan bir liste olur.
Dekoratif yastıklar
IllegalArgumentException | sınırlayıcı kutu boyutunun boyutu (boundingBoxAxis tarafından ayarlandı) 4 değilse. |
---|---|
IllegalArgumentException | boundingBoxAxis değeri (-(D+1), D) içinde değilse burada D , tensor boyutlarının sayısıdır. |
IllegalArgumentException | (tensor , DataType.FLOAT32 dışında veri türüne sahipse)
|