ImageProcessor es una clase auxiliar para el procesamiento previo y posterior de TensorImage
. Podría transformar un TensorImage
en otro ejecutando una cadena de ImageOperator
.
Ejemplo de uso:
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);
ADVERTENCIA: Las instancias de ImageProcessor
no son seguras para subprocesos con updateNumberOfRotations(int)
. La actualización de la cantidad de rotaciones y, luego, el procesamiento de las imágenes (con SequentialProcessor.process(T)
) debe protegerse del acceso simultáneo. Se recomienda crear instancias de ImageProcessor
separadas para cada subproceso. Si varios subprocesos acceden a una ImageProcessor
de forma simultánea, esta debe sincronizarse de forma externa.
Categorías anidadas
clase | ImageProcessor.Builder | El objeto Builder para crear un ImageProcessor, que se podría ejecutar más adelante |
Métodos públicos
RectF |
inverseTransform(rectF rect, int inputImageHeight, int inputImageWidth)
Transforma un rectángulo del sistema de coordenadas de la imagen de resultado de nuevo a uno de la imagen de entrada.
|
PointF |
inverseTransform(punto de PointF, int inputImageHeight, int inputImageWidth)
Transforma un punto del sistema de coordenadas de la imagen de resultado en el de la imagen de entrada.
|
TensorImage | |
void |
updateNumberOfRotations(int k)
Actualiza la cantidad de rotaciones para las primeras
Rot90Op de este ImageProcessor . |
sincronizada void |
updateNumberOfRotations(int k, int ocurre)
|
Métodos heredados
Métodos públicos
public RectF inverseTransform (RectF rect, int inputImageHeight, int inputImageWidth)
Transforma un rectángulo del sistema de coordenadas de la imagen de resultado de nuevo a uno de la imagen de entrada.
Parámetros
rect | rectángulo del sistema de coordenadas de resultados. |
---|---|
inputImageHeight | la altura de la imagen de entrada. |
inputImageWidth | el ancho de la imagen de entrada. |
Devuelve
- rectángulo con las coordenadas del sistema de coordenadas de la imagen de entrada.
public PointF inverseTransform (PointF, int inputImageHeight, int inputImageWidth)
Transforma un punto del sistema de coordenadas de la imagen de resultado en el de la imagen de entrada.
Parámetros
point | el punto del sistema de coordenadas de resultados. |
---|---|
inputImageHeight | la altura de la imagen de entrada. |
inputImageWidth | el ancho de la imagen de entrada. |
Devuelve
- el punto con las coordenadas del sistema de coordenadas de la imagen de entrada.
public TensorImage process (TensorImage imagen)
Procesa un objeto TensorImage
con TensorOperator
preparado.
Parámetros
imagen |
---|
Arroja
IllegalArgumentException | si la imagen no es compatible con ninguna op. |
---|
public void updateNumberOfRotations (int k)
Actualiza la cantidad de rotaciones para las primeras Rot90Op
de este ImageProcessor
.
ADVERTENCIA: Este método no es seguro para los subprocesos. La actualización de la cantidad de rotaciones y, luego, el procesamiento de imágenes (con SequentialProcessor.process(T)
) debe protegerse del acceso simultáneo con una sincronización adicional.
Parámetros
k | el número de rotaciones |
---|
Arroja
IllegalStateException | si no se agregó Rot90Op a ImageProcessor
|
---|
public sincronizado void updateNumberOfRotations (int k, int ocurre)
Actualiza la cantidad de rotaciones del Rot90Op
especificado por occurrence
en este ImageProcessor
.
ADVERTENCIA: Este método no es seguro para los subprocesos. La actualización de la cantidad de rotaciones y, luego, el procesamiento de imágenes (con SequentialProcessor.process(T)
) debe protegerse del acceso simultáneo con una sincronización adicional.
Parámetros
k | el número de rotaciones |
---|---|
caso | el índice de Rot90Op perticular en este ImageProcessor . Por ejemplo, si se debe actualizar el segundo Rot90Op , occurrence se debe establecer en 1. |
Arroja
IndexOutOfBoundsException | si occurrence es negativo o no es menor que la cantidad de Rot90Op en esta ImageProcessor |
---|---|
IllegalStateException | si no se agregó Rot90Op a ImageProcessor
|