ImageProcessor

clase pública ImageProcessor

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
process(imagen TensorImage)
Procesa un objeto TensorImage con TensorOperator preparado.
void
updateNumberOfRotations(int k)
Actualiza la cantidad de rotaciones para las primeras Rot90Op de este ImageProcessor.
sincronizada void
updateNumberOfRotations(int k, int ocurre)
Actualiza la cantidad de rotaciones del Rot90Op especificado por occurrence en este ImageProcessor.

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