BoundingBoxUtil

מחלקה סופית ציבורית BoundingBoxUtil

מחלקת עזרה להמרת ערכים שמייצגת תיבות תוחמות למלבנים.

המחלקה מספקת פונקציה סטטית ליצירת תיבות תוחמות כ-RectF מסוגים שונים של תצורות.

באופן כללי, אפשר לייצג תיבה תוחמת באמצעות 4 ערכים צפים, אבל אפשר לפרש את הערכים בדרכים רבות. עכשיו אנחנו תומכים ב-3 מערכי הגדרות אישיות: BoundingBoxUtil.Type, ואפשר גם להגדיר את סדר הרכיבים בכל סוג.

מחלקות מקננות

טיפוסים בני מנייה (enum) BoundingBoxUtil.CoordinateType מציין אם הקואורדינטות הן פיקסלים בפועל או יחסים יחסיים. 
טיפוסים בני מנייה (enum) BoundingBoxUtil.Type מציין איך מיוצגת תיבה תוחמת (bounding box).

שיטות ציבוריות

סטטי List<RectF>
המרה(TensorBuffer tensor, int[] valueIndex, int boundingBoxAxis, BoundingBoxUtil.Type, BoundingBoxUtil.CoordinateType coordinateType, intheight, intwidth)
הפונקציה יוצרת רשימה של תיבות תוחמות מ-TensorBuffer שמייצג תיבות תוחמות.

שיטות שעברו בירושה

שיטות ציבוריות

Public סטטי List<RectF> המרה (TensorBuffer tensor, int[] valueIndex, int boundingBoxAxis, BoundingBoxUtil.Type type, BoundingBoxUtil.CoordinateType

הפונקציה יוצרת רשימה של תיבות תוחמות מ-TensorBuffer שמייצג תיבות תוחמות.

פרמטרים
Tensor מכילה את הנתונים שמייצגים תיבות מסוימות.
valueIndex מציין את סדר הרכיבים שמוגדרים בכל סוג של תיבה תוחמת. מערך ריק של אינדקס מייצג את סדר ברירת המחדל של כל סוג של תיבה תוחמת. לדוגמה, כדי לציין את סדר ברירת המחדל של BOUNDARIES, {left, top, right, bottom}, האינדקס צריך להיות {0, 1, 2, 3}. כדי לציין את הסדר {left, right, top, bottom}, הסדר צריך להיות {0, 2, 1, 3}.

אפשר להחיל את מערך האינדקס על כל סוגי התיבות התוחמות כדי לשנות את הסדר של הרכיבים הבסיסיים התואמים.

boundingBoxAxis מציין את האינדקס של המאפיין שמייצג תיבה תוחמת. הגודל של המאפיין הזה צריך להיות 4. האינדקס כאן מתחיל מ-0. לדוגמה, אם ל-tensor יש צורה 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), כאשר D הוא מספר המאפיינים של tensor.
IllegalArgumentException אם סוג הנתונים ב-tensor אינו DataType.FLOAT32.