ImageProcessor

klasa publiczna ImageProcessor

ImageProcessor to klasa pomocnicza do przetwarzania wstępnego i końcowego 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 przy użyciu updateNumberOfRotations(int) . Aktualizowanie liczby obrotów, a następnie przetwarzanie obrazów (przy użyciu SequentialProcessor.process(T) ) musi być chronione przed równoczesnym dostępem. Zalecane jest utworzenie oddzielnych instancji ImageProcessor dla każdego wątku. Jeśli wiele wątków jednocześnie uzyskuje dostęp do ImageProcessor , należy go zsynchronizować zewnętrznie.

Klasy zagnieżdżone

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

Metody publiczne

ProstF
inverseTransform (RectF rect, int inputImageHeight, int inputImageWidth)
Przekształca prostokąt z układu współrzędnych obrazu wynikowego z powrotem na układ 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 układ obrazu wejściowego.
Obraz Tensora
proces (obraz TensorImage )
Przetwarza obiekt TensorImage za pomocą przygotowanego 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śloną przez occurrence w tym ImageProcessor .

Metody dziedziczone

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 układ obrazu wejściowego.

Parametry
prosto prostokąt z wynikowego układu współrzędnych.
wysokość obrazu wejściowego wysokość obrazu wejściowego.
szerokość obrazu wejściowego 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 układ obrazu wejściowego.

Parametry
punkt punkt z wynikowego układu współrzędnych.
wysokość obrazu wejściowego wysokość obrazu wejściowego.
szerokość obrazu wejściowego szerokość obrazu wejściowego.
Zwroty
  • punkt o współrzędnych z układu współrzędnych obrazu wejściowego.

publiczny proces TensorImage (obraz TensorImage )

Przetwarza obiekt TensorImage za pomocą przygotowanego TensorOperator .

Parametry
obraz
Rzuca
Wyjątek IllegalArgument 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 .

OSTRZEŻENIE: ta metoda nie jest bezpieczna dla wątków. Aktualizacja liczby obrotów, a następnie przetwarzanie obrazów (za pomocą SequentialProcessor.process(T) ) muszą być chronione przed współbieżnym dostępem za pomocą dodatkowej synchronizacji.

Parametry
k liczba obrotów
Rzuca
Wyjątek IllegalStateException jeśli Rot90Op nie został dodany do tego ImageProcessor

publiczna synchronizowana nieważna aktualizacjaNumberOfRotations (int k, int wystąpienie)

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

OSTRZEŻENIE: ta metoda nie jest bezpieczna dla wątków. Aktualizacja liczby obrotów, a następnie przetwarzanie obrazów (za pomocą SequentialProcessor.process(T) ) muszą być chronione przed współbieżnym dostępem za pomocą dodatkowej synchronizacji.

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.
Rzuca
Wyjątek IndexOutOfBounds jeśli occurrence jest ujemne lub jest nie mniejsze niż liczba Rot90Op w tym ImageProcessor
Wyjątek IllegalStateException jeśli Rot90Op nie został dodany do tego ImageProcessor