ImageProcessor

classe pubblica ImageProcessor

ImageProcessor è una classe helper per la pre-elaborazione e la post-elaborazione di TensorImage. Potrebbe trasformare un elemento TensorImage in un altro eseguendo una catena di ImageOperator.

Esempio di utilizzo:

   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);
 

AVVISO: le istanze di un oggetto ImageProcessor non sono sicure per i thread con updateNumberOfRotations(int). L'aggiornamento del numero di rotazioni e l'elaborazione delle immagini (utilizzando SequentialProcessor.process(T)) devono essere protetti dall'accesso simultaneo. Ti consigliamo di creare istanze ImageProcessor separate per ogni thread. Se più thread accedono contemporaneamente a un ImageProcessor, questo deve essere sincronizzato esternamente.

Corsi nidificati

classe ImageProcessor.Builder Il builder di creare un ImageProcessor, che potrebbe essere eseguito in un secondo momento. 

Metodi pubblici

RectF
inverseTransform(RectF rect, int inputImageHeight, int inputImageLarghezza)
Trasforma un rettangolo dal sistema di coordinate dell'immagine risultante a quello dell'immagine di input.
PointF
inverseTransform(Punto PointF, int inputImageHeight, int inputImageLarghezza)
Trasforma un punto dal sistema di coordinate dell'immagine risultante a quello dell'immagine di input.
TensorImage
process(immagine TensorImage)
Elabora un oggetto TensorImage con l'elemento TensorOperator preparato.
void
updateNumberOfRotations(int k)
Aggiorna il numero di rotazioni per le prime Rot90Op in questa ImageProcessor.
sincronizzato void
updateNumberOfRotations(int k, int occorrenza)
Aggiorna il numero di rotazioni per Rot90Op specificato da occurrence in questo ImageProcessor.

Metodi ereditati

Metodi pubblici

Public RectF inverseTransform (RectF rect, int inputImageHeight, int inputImagewidth)

Trasforma un rettangolo dal sistema di coordinate dell'immagine risultante a quello dell'immagine di input.

Parametri
rect rettangolo dal sistema di coordinate dei risultati.
inputImageHeight l'altezza dell'immagine di input.
inputImageWidth la larghezza dell'immagine di input.
Ritorni
  • il rettangolo con le coordinate del sistema di coordinate dell'immagine di input.

Public PointF inverseTransform (punto PointF, int inputImageHeight, int inputImagewidth)

Trasforma un punto dal sistema di coordinate dell'immagine risultante a quello dell'immagine di input.

Parametri
punto il punto dal sistema di coordinate dei risultati.
inputImageHeight l'altezza dell'immagine di input.
inputImageWidth la larghezza dell'immagine di input.
Ritorni
  • il punto con le coordinate del sistema di coordinate dell'immagine di input.

pubblica TensorImage processo (TensorImage)

Elabora un oggetto TensorImage con l'elemento TensorOperator preparato.

Parametri
immagine
Lanci
IllegalArgumentException se l'immagine non è supportata da nessuna operazione.

Public void updateNumberOfRotations (int k)

Aggiorna il numero di rotazioni per le prime Rot90Op in questa ImageProcessor.

AVVISO: questo metodo non è sicuro per i thread. L'aggiornamento del numero di rotazioni e l'elaborazione delle immagini (utilizzando SequentialProcessor.process(T)) devono essere protetti dall'accesso simultaneo mediante una sincronizzazione aggiuntiva.

Parametri
K il numero di rotazioni
Lanci
IllegalStateException se Rot90Op non è stato aggiunto a questo ImageProcessor

pubbliche sincronizzate void updateNumberOfRotations (int k, int eseguite)

Aggiorna il numero di rotazioni per Rot90Op specificato da occurrence in questo ImageProcessor.

AVVISO: questo metodo non è sicuro per i thread. L'aggiornamento del numero di rotazioni e l'elaborazione delle immagini (utilizzando SequentialProcessor.process(T)) devono essere protetti dall'accesso simultaneo mediante una sincronizzazione aggiuntiva.

Parametri
K il numero di rotazioni
occorrenza l'indice di Rot90Op perticolare in questo ImageProcessor. Ad esempio, se il secondo Rot90Op deve essere aggiornato, il valore di occurrence deve essere impostato su 1.
Lanci
IndexOutOfBoundsException se occurrence è negativo o non è inferiore al numero di Rot90Op in questo ImageProcessor
IllegalStateException se Rot90Op non è stato aggiunto a questo ImageProcessor