ImageProcessor to klasa pomocnicza do wstępnego i końcowego przetwarzania elementu TensorImage
. Może przekształcić element TensorImage
w inny, wykonując łańcuch ImageOperator
.
Przykład użycia:
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: wystąpienia typu ImageProcessor
nie są bezpieczne w wątkach w tagu updateNumberOfRotations(int)
. Należy chronić liczbę obrotów, a następnie przetwarzanie obrazów (za pomocą SequentialProcessor.process(T)
) przed równoczesnym dostępem. Zalecamy utworzenie osobnych instancji ImageProcessor
dla każdego wątku. Jeśli wiele wątków jednocześnie uzyskuje dostęp do interfejsu ImageProcessor
, musi on być synchronizowany zewnętrznie.
Zagnieżdżone klasy
klasa | ImageProcessor.Builder | Kreator do utworzenia procesora 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 wyniku z powrotem na 1 z obrazu wejściowego.
|
PointF |
inverseTransform(punkt PointF, intinputImageHeight, int intinputImageWidth)
Przekształca punkt z układu współrzędnych obrazu wyniku z powrotem na jeden z obrazów wejściowych.
|
TensorImage | |
void |
updateNumberOfRotations(int k)
Aktualizuje liczbę obrotów dla pierwszych
Rot90Op w tabeli ImageProcessor . |
zsynchronizowana void |
updateNumberOfRotations(int k, wystąpienie int)
|
Metody dziedziczone
Metody publiczne
public RectF inverseTransform (RectF rect, int insertImageHeight, int obszarzeinputImageWidth)
Przekształca prostokąt z układu współrzędnych obrazu wyniku z powrotem na 1 z obrazu wejściowego.
Parametry
rect | prostokąt z systemu współrzędnych. |
---|---|
inputImageHeight | wysokość obrazu wejściowego. |
inputImageWidth | szerokości obrazu wejściowego. |
Zwroty
- prostokąt ze współrzędnymi z układu współrzędnych obrazu wejściowego.
public PointF inverseTransform (punkt PointF, intinputImageHeight, intinputImageWidth)
Przekształca punkt z układu współrzędnych obrazu wyniku z powrotem na jeden z obrazów wejściowych.
Parametry
punkt | punktu z systemu współrzędnych wyniku. |
---|---|
inputImageHeight | wysokość obrazu wejściowego. |
inputImageWidth | szerokości obrazu wejściowego. |
Zwroty
- punkt ze współrzędnymi z układu współrzędnych zdjęcia wejściowego.
public TensorImage process (obraz TensorImage)
Przetwarza obiekt TensorImage
z gotowym plikiem TensorOperator
.
Parametry
obraz |
---|
Rzuty
IllegalArgumentException | , jeśli obraz nie jest obsługiwany przez żadną przeglądarkę |
---|
public void updateNumberOfRotations (int k)
Aktualizuje liczbę obrotów dla pierwszych Rot90Op
w tabeli ImageProcessor
.
OSTRZEŻENIE: ta metoda nie jest bezpieczna w wątkach. Aktualizacja liczby obrotów, a następnie przetwarzanie obrazów (za pomocą SequentialProcessor.process(T)
) musi być zabezpieczona przed równoczesnym dostępem za pomocą dodatkowej synchronizacji.
Parametry
k | liczba obrotów |
---|
Rzuty
IllegalStateException | jeśli Rot90Op nie został dodany do: ImageProcessor
|
---|
public sync void updateNumberOfRotations (int k, intInstance)
Aktualizuje liczbę obrotów dla zasobu Rot90Op
określoną przez occurrence
w ImageProcessor
.
OSTRZEŻENIE: ta metoda nie jest bezpieczna w wątkach. Aktualizacja liczby obrotów, a następnie przetwarzanie obrazów (za pomocą SequentialProcessor.process(T)
) musi być zabezpieczona przed równoczesnym dostępem za pomocą dodatkowej synchronizacji.
Parametry
k | liczba obrotów |
---|---|
wystąpienie | indeks wiernokąta Rot90Op w tabeli ImageProcessor . Jeśli na przykład trzeba zaktualizować drugi Rot90Op , occurrence powinien mieć wartość 1. |
Rzuty
IndexOutOfBoundsException | jeśli occurrence jest ujemna lub nie jest mniejsza niż liczba Rot90Op w tym ImageProcessor |
---|---|
IllegalStateException | jeśli Rot90Op nie został dodany do: ImageProcessor
|