ImageProcessor

classe pubblica ImageProcessor

ImageProcessor è una classe helper per la pre-elaborazione e la post-elaborazione TensorImage. it potrebbe trasformare un 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 elemento 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)) deve essere protetta da accessi simultanei. Ti consigliamo di creare file ImageProcessor istanze per ogni thread. Se più thread accedono contemporaneamente a un ImageProcessor, questo deve essere sincronizzato esternamente.

Classi nidificate

classe ImageProcessor.Builder Builder per creare un ImageProcessor, che potrebbe essere eseguito in un secondo momento.

Metodi pubblici

RectF
inverseTransform(RectF rect, int inputImageHeight, int inputImagewidth)
Trasforma un rettangolo dal sistema di coordinate dell'immagine del risultato a quello dell'input dell'immagine.
PointF
inverseTransform(punto PointF, int inputImageHeight, int inputImagewidth)
Trasforma un punto dal sistema di coordinate dell'immagine del risultato a quello dell'input dell'immagine.
TensorImage
process(immagine TensorImage)
Elabora un oggetto TensorImage con il valore TensorOperator preparato.
null
updateNumberOfRotations(int k)
Aggiorna il numero di rotazioni per i primi Rot90Op di questo ImageProcessor.
sincronizzato null
updateNumberOfRotations(int k, occorrenza int)
Aggiorna il numero di rotazioni per Rot90Op specificato da occurrence in questo ImageProcessor.

Metodi ereditati

Metodi pubblici

pubblica RectF . inverseTransform (RectF rect, int inputImageHeight, int inputImagewidth)

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

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

pubblica PointF . inverseTransform (punto PointF, int inputImageHeight, int inputImageLarghezza)

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

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

pubblica TensorImage processo (immagine TensorImage)

Elabora un oggetto TensorImage con il valore TensorOperator preparato.

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

pubblica null . updateNumberOfRotations (int k)

Aggiorna il numero di rotazioni per i primi Rot90Op di questo ImageProcessor.

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

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

pubblica sincronizzato null . updateNumberOfRotations (int k, occorrenza int)

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 l'elaborazione delle immagini (utilizzando SequentialProcessor.process(T)) deve essere protetta dall'accesso simultaneo con sincronizzazione aggiuntiva.

Parametri
k il numero di rotazioni
occorrenza l'indice della perticolare Rot90Op in questo ImageProcessor. Per Ad esempio, se il secondo Rot90Op deve essere aggiornato, occurrence deve essere impostato su 1.
Lanci
IndexOutOfBoundsException se occurrence è negativo o non è inferiore a numero di