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 | |
próżnia | updateNumberOfRotations (int k) Aktualizuje liczbę obrotów dla pierwszego Rot90Op w tym ImageProcessor . |
zsynchronizowana pustka | updateNumberOfRotations (int k, int wystąpienie) |
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 |