ImageProcessor

מחלקה ציבורית ImageProcessor

ImageProcessor הוא מחלקת עזרה לעיבוד מראש ולאחר מכן לעיבוד TensorImage. הוא יכול להפוך TensorImage לאחר על ידי ביצוע שרשרת של ImageOperator.

שימוש לדוגמה:

   ImageProcessor processor = new ImageProcessor.Builder()
       .add(new ResizeOp(224, 224, ResizeMethod.NEAREST_NEIGHBOR)
       .add(new Rot90Op())
       .add(new NormalizeOp(127.5f, 127.5f))
       .build();
   TensorImage anotherTensorImage = processor.process(tensorImage);
 

אזהרה: מופעים של ImageProcessor לא בטוחים לשרשורים עם updateNumberOfRotations(int). יש להגן על העדכון של מספר הסיבובים ולאחר מכן על עיבוד תמונות (באמצעות SequentialProcessor.process(T)) מפני גישה בו-זמנית. מומלץ ליצור מכונות ImageProcessor נפרדות לכל שרשור. אם כמה שרשורים ניגשים ל-ImageProcessor בו-זמנית, צריך לסנכרן אותו עם גורמים חיצוניים.

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

מחלקה ImageProcessor.Builder ה-builder לצורך יצירת ImageProcessor, שאפשר לבצע מאוחר יותר. 

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

RectF
inverseTransform(RectF rect, int inputImageHeight, int inputImageWidth)
הפונקציה הופכת מלבן ממערכת הקואורדינטות של תמונת התוצאה בחזרה לזו של תמונת הקלט.
PointF
inverseTransform(PointF point, int inputImageHeight, int inputImageWidth)
הפונקציה הופכת נקודה ממערכת הקואורדינטות של תמונת התוצאה בחזרה לזו של תמונת הקלט.
TensorImage
תהליך(תמונת TensorImage)
מעבד אובייקט TensorImage עם TensorOperator מוכן.
void
updateNumberOfRotations(int k)
עדכון מספר הסיבובים של Rot90Op הראשונים בImageProcessor הזה.
בטל מסונכרן
updateNumberOfRotations(int k, int instance)
עדכון מספר הסיבובים של Rot90Op שצוין על ידי occurrence בImageProcessor.

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

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

Public RectF inverseTransform (RectF rect, intinputImageHeight, intinputImageWidth)

הפונקציה הופכת מלבן ממערכת הקואורדינטות של תמונת התוצאה בחזרה לזו של תמונת הקלט.

פרמטרים
rect של המלבן ממערכת קואורדינטות התוצאות.
inputImageHeight הגובה של קלט התמונה.
inputImageWidth מהרוחב של תמונת הקלט.
החזרות
  • את המלבן עם הקואורדינטות ממערכת הקואורדינטות של תמונת הקלט.

Public PointF inverseTransform (PointF point, intinputImageHeight, intinputImageWidth)

הפונקציה הופכת נקודה ממערכת הקואורדינטות של תמונת התוצאה בחזרה לזו של תמונת הקלט.

פרמטרים
נקודה של הנקודה ממערכת קואורדינטות התוצאות.
inputImageHeight הגובה של קלט התמונה.
inputImageWidth מהרוחב של תמונת הקלט.
החזרות
  • את הנקודה עם הקואורדינטות ממערכת הקואורדינטות של תמונת הקלט.

ציבורי TensorImage תהליך (TensorImage)

מעבד אובייקט TensorImage עם TensorOperator מוכן.

פרמטרים
תמונה
קליעות
IllegalArgumentException אם התמונה לא נתמכת על ידי תוכנה כלשהי.

Public void updateNumberOfRotations (int k)

עדכון מספר הסיבובים של Rot90Op הראשונים בImageProcessor הזה.

אזהרה:שיטה זו לא בטוחה לשרשורים. אם מעדכנים את מספר הסיבובים ומעבדים תמונות (באמצעות SequentialProcessor.process(T)), צריך להגן עליהן מפני גישה בו-זמנית באמצעות סנכרון נוסף.

פרמטרים
k מספר הסיבובים
קליעות
IllegalStateException אם Rot90Op לא נוסף אל ImageProcessor

Public מסונכרן void updateNumberOfRotations (int k, int instance)

עדכון מספר הסיבובים של Rot90Op שצוין על ידי occurrence בImageProcessor.

אזהרה:שיטה זו לא בטוחה לשרשורים. אם מעדכנים את מספר הסיבובים ומעבדים תמונות (באמצעות SequentialProcessor.process(T)), צריך להגן עליהן מפני גישה בו-זמנית באמצעות סנכרון נוסף.

פרמטרים
k מספר הסיבובים
אירוע האינדקס של Rot90Op הלבנים בImageProcessor הזה. לדוגמה, אם צריך לעדכן את הערך של Rot90Op השני, הערך של occurrence צריך להיות מוגדר ל-1.
קליעות
IndexOutOfBoundsException אם occurrence הוא שלילי או לא קטן ממספר Rot90Op בImageProcessor
IllegalStateException אם Rot90Op לא נוסף אל ImageProcessor