ImageProcessor

Publiczna klasa ImageProcessor

ImageProcessor to klasa pomocnicza do wstępnego i końcowego przetwarzania TensorImage . Może przekształcić TensorImage w inny, wykonując łańcuch ImageOperator .

Przykładowe użycie:

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

OSTRZEŻENIE: instancje ImageProcessor nie są bezpieczne dla wątków dzięki updateNumberOfRotations(int) . Aktualizowanie liczby obrotów, a następnie przetwarzanie obrazów (za pomocą SequentialProcessor.process(T) ) musi być zabezpieczone przed równoczesnym dostępem. Zaleca się tworzenie oddzielnych instancji ImageProcessor dla każdego wątku. Jeśli wiele wątków jednocześnie uzyskuje dostęp do ImageProcessor , musi on być zsynchronizowany zewnętrznie.

Klasy zagnieżdżone

klasa ImageProcessor.Builder Konstruktor do tworzenia ImageProcessor, który można wykonać później.

Metody publiczne

RectF
inverseTransform (RectF rect, int inputImageHeight, int inputImageWidth)
Przekształca prostokąt z układu współrzędnych obrazu wynikowego z powrotem na jeden z obrazu wejściowego.
PunktF
inverseTransform (punkt PointF, int inputImageHeight, int inputImageWidth)
Przekształca punkt z układu współrzędnych obrazu wynikowego z powrotem na jeden z obrazu wejściowego.
Obraz tensorowy
proces (obraz TensorImage )
Przetwarza obiekt TensorImage z przygotowanym TensorOperator .
próżnia
updateNumberOfRotations (int k)
Aktualizuje liczbę obrotów dla pierwszego Rot90Op w tym ImageProcessor .
zsynchronizowana pustka
updateNumberOfRotations (int k, int wystąpienie)
Aktualizuje liczbę obrotów dla Rot90Op określonej przez occurrence w tym ImageProcessor .

Metody odziedziczone

Metody publiczne

public RectF inverseTransform (RectF rect, int inputImageHeight, int inputImageWidth)

Przekształca prostokąt z układu współrzędnych obrazu wynikowego z powrotem na jeden z obrazu wejściowego.

Parametry
prostota prostokąt z układu współrzędnych wynikowych.
inputImageWysokość wysokość obrazu wejściowego.
inputImageSzerokość szerokość obrazu wejściowego.
Zwroty
  • prostokąt ze współrzędnymi z układu współrzędnych obrazu wejściowego.

public PointF inverseTransform (punkt PointF, int inputImageHeight, int inputImageWidth)

Przekształca punkt z układu współrzędnych obrazu wynikowego z powrotem na jeden z obrazu wejściowego.

Parametry
punkt punkt z układu współrzędnych wynikowych.
inputImageWysokość wysokość obrazu wejściowego.
inputImageSzerokość szerokość obrazu wejściowego.
Zwroty
  • punkt ze współrzędnymi z układu współrzędnych obrazu wejściowego.

publiczny proces TensorImage ( TensorImage obraz)

Przetwarza obiekt TensorImage z przygotowanym TensorOperator .

Parametry
obraz
Rzuty
Niedozwolony argumentWyjątek jeśli obraz nie jest obsługiwany przez żaden op.

public void updateNumberOfRotations (int k)

Aktualizuje liczbę obrotów dla pierwszego Rot90Op w tym ImageProcessor .

UWAGA: ta metoda nie jest bezpieczna dla wątków. Aktualizowanie liczby obrotów, a następnie przetwarzanie obrazów (za pomocą SequentialProcessor.process(T) ) musi być zabezpieczone przed równoczesnym dostępem dodatkową synchronizacją.

Parametry
k liczba obrotów
Rzuty
Nielegalny wyjątek stanu jeśli Rot90Op nie został dodany do tego ImageProcessor

public zsynchronizowana void updateNumberOfRotations (int k, int wystąpienie)

Aktualizuje liczbę obrotów dla Rot90Op określonej przez occurrence w tym ImageProcessor .

UWAGA: ta metoda nie jest bezpieczna dla wątków. Aktualizowanie liczby obrotów, a następnie przetwarzanie obrazów (za pomocą SequentialProcessor.process(T) ) musi być zabezpieczone przed równoczesnym dostępem dodatkową synchronizacją.

Parametry
k liczba obrotów
występowanie indeks perticular Rot90Op w tym ImageProcessor . Na przykład, jeśli drugi Rot90Op wymaga aktualizacji, occurrence powinno być ustawione na 1.
Rzuty
IndexOutOfBoundsException jeśli occurrence jest ujemne lub nie jest mniejsze niż liczba Rot90Op w tym ImageProcessor
Nielegalny wyjątek stanu jeśli Rot90Op nie został dodany do tego ImageProcessor