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