ImageProcessor ist eine Hilfsklasse für die Vorverarbeitung und Nachbearbeitung von TensorImage
. Sie könnte durch Ausführen einer Kette von ImageOperator
eine TensorImage
in eine andere umwandeln.
Verwendungsbeispiel:
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);
WARNUNG: Instanzen von ImageProcessor
sind mit updateNumberOfRotations(int)
nicht Thread-sicher. Das Aktualisieren der Anzahl der Rotationen und die anschließende Verarbeitung von Images (mit SequentialProcessor.process(T)
) muss vor gleichzeitigem Zugriff geschützt sein. Es empfiehlt sich, für jeden Thread eine separate ImageProcessor
-Instanz zu erstellen. Wenn mehrere Threads gleichzeitig auf einen ImageProcessor
zugreifen, muss dieser extern synchronisiert werden.
Verschachtelte Klassen
Klasse | ImageProcessor.Builder | Der Builder zum Erstellen eines ImageProcessor, der später ausgeführt werden kann. |
Public Methods
RectF |
inverseTransform(RectF rect, int inputImageHeight, int inputImageWidth)
Wandelt ein Rechteck vom Koordinatensystem des Ergebnisbilds wieder in das des Eingabebilds um.
|
PointF |
inverseTransform(PointF-Punkt, int-inputImageHeight, int-inputImageWidth)
Wandelt einen Punkt vom Koordinatensystem des Ergebnisbilds wieder in das des Eingabebilds um.
|
TensorImage | |
void |
updateNumberOfRotations(int k)
Aktualisiert die Anzahl der Umdrehungen für die erste
Rot90Op in dieser ImageProcessor . |
synchronisiert void |
updateNumberOfRotations(int k, intaktes Vorkommen)
Aktualisiert die Anzahl der Umdrehungen für den durch
occurrence in diesem ImageProcessor angegebenen Rot90Op . |
Übernommene Methoden
Public Methods
public RectF inverseTransform (RectF rect, int inputImageHeight, int inputImageWidth)
Wandelt ein Rechteck vom Koordinatensystem des Ergebnisbilds wieder in das des Eingabebilds um.
Parameter
rect | Rechtecks aus dem Ergebniskoordinatensystem. |
---|---|
inputImageHeight | die Höhe des Eingabebilds. |
inputImageWidth | die Breite des Eingabebilds. |
Rückgabe
- Rechtecks mit den Koordinaten aus dem Koordinatensystem des Eingabebilds hinzu.
public PointF inverseTransform (PointF point, int inputImageHeight, int inputImageWidth)
Wandelt einen Punkt vom Koordinatensystem des Ergebnisbilds wieder in das des Eingabebilds um.
Parameter
point | Punkt aus dem Ergebniskoordinatensystem. |
---|---|
inputImageHeight | die Höhe des Eingabebilds. |
inputImageWidth | die Breite des Eingabebilds. |
Rückgabe
- den Punkt mit den Koordinaten aus dem Koordinatensystem des Eingabebildes.
public TensorImage Prozess (TensorImage-Image)
Verarbeitet ein TensorImage
-Objekt mit vorbereitetem TensorOperator
.
Parameter
Image |
---|
Löst aus
IllegalArgumentException | wenn das Bild von keinem Vorgang unterstützt wird. |
---|
public void updateNumberOfRotations (int k)
Aktualisiert die Anzahl der Umdrehungen für die erste Rot90Op
in dieser ImageProcessor
.
WARNUNG:Diese Methode ist nicht Thread-sicher. Das Aktualisieren der Anzahl der Rotationen und die anschließende Verarbeitung von Images (mit SequentialProcessor.process(T)
) muss mit einer zusätzlichen Synchronisierung vor gleichzeitigem Zugriff geschützt sein.
Parameter
k | die Anzahl der Umdrehungen |
---|
Löst aus
IllegalStateException | wenn Rot90Op diesem ImageProcessor nicht hinzugefügt wurde
|
---|
öffentlich synchronisiert void updateNumberOfRotations (int k, int Vorkommen)
Aktualisiert die Anzahl der Umdrehungen für den durch occurrence
in diesem ImageProcessor
angegebenen Rot90Op
.
WARNUNG:Diese Methode ist nicht Thread-sicher. Das Aktualisieren der Anzahl der Rotationen und die anschließende Verarbeitung von Images (mit SequentialProcessor.process(T)
) muss mit einer zusätzlichen Synchronisierung vor gleichzeitigem Zugriff geschützt sein.
Parameter
k | die Anzahl der Umdrehungen |
---|---|
Vorkommen | Der Index der pertikularen Rot90Op in dieser ImageProcessor . Wenn beispielsweise die zweite Rot90Op aktualisiert werden muss, sollte occurrence auf 1 festgelegt werden. |
Löst aus
IndexOutOfBoundsException | wenn occurrence negativ oder nicht kleiner als die Anzahl von Rot90Op in diesem ImageProcessor ist |
---|---|
IllegalStateException | wenn Rot90Op diesem ImageProcessor nicht hinzugefügt wurde
|