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)
|
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 Rot90Op in questo ImageProcessor |
|---|---|
| IllegalStateException | se Rot90Op non è stato aggiunto a questo ImageProcessor
|