ImageProcessor

Procesador de imágenes de clase pública

ImageProcessor es una clase auxiliar para el procesamiento previo y posterior 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 un ImageProcessor no son seguras para subprocesos con updateNumberOfRotations(int) . La actualización del número de rotaciones y luego el procesamiento de imágenes (usando SequentialProcessor.process(T) ) debe protegerse del acceso simultáneo. Se recomienda crear instancias de ImageProcessor separadas para cada subproceso. Si varios subprocesos acceden a un ImageProcessor al mismo tiempo, debe sincronizarse externamente.

Clases anidadas

clase ImageProcessor.Builder El Builder para crear un ImageProcessor, que podría ejecutarse más tarde.

Métodos públicos

RectF
inverseTransform (RectF rect, int inputImageHeight, int inputImageWidth)
Transforma un rectángulo del sistema de coordenadas de la imagen resultante al de la imagen de entrada.
PuntoF
inverseTransform (punto PointF, int inputImageHeight, int inputImageWidth)
Transforma un punto del sistema de coordenadas de la imagen resultante al de la imagen de entrada.
TensorImagen
proceso (imagen de TensorImage )
Procesa un objeto TensorImage con TensorOperator preparado.
vacío
actualizarNúmeroDeRotaciones (int k)
Actualiza el número de rotaciones para el primer Rot90Op en este ImageProcessor .
vacío sincronizado
updateNumberOfRotations (int k, int ocurrencia)
Actualiza el número de rotaciones para el 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 resultante al de la imagen de entrada.

Parámetros
rectificar el rectángulo del sistema de coordenadas resultante.
inputImageHeight la altura de la imagen de entrada.
inputImageWidth el ancho de la imagen de entrada.
Devoluciones
  • el rectángulo con las coordenadas del sistema de coordenadas de la imagen de entrada.

public PointF inverseTransform (punto PointF, int inputImageHeight, int inputImageWidth)

Transforma un punto del sistema de coordenadas de la imagen resultante al de la imagen de entrada.

Parámetros
punto el punto del sistema de coordenadas resultante.
inputImageHeight la altura de la imagen de entrada.
inputImageWidth el ancho de la imagen de entrada.
Devoluciones
  • el punto con las coordenadas del sistema de coordenadas de la imagen de entrada.

Proceso público de TensorImage (imagen de TensorImage )

Procesa un objeto TensorImage con TensorOperator preparado.

Parámetros
imagen
Lanza
Argumento de excepción ilegal si la imagen no es compatible con ninguna op.

Public void updateNumberOfRotations (int k)

Actualiza el número de rotaciones para el primer Rot90Op en este ImageProcessor .

ADVERTENCIA: este método no es seguro para subprocesos. La actualización del número de rotaciones y luego el procesamiento de imágenes (usando SequentialProcessor.process(T) ) debe protegerse del acceso simultáneo con sincronización adicional.

Parámetros
k el numero de rotaciones

updateNumberOfRotations vacío sincronizado público (int k, int ocurrencia)

Actualiza el número de rotaciones para el Rot90Op especificado por occurrence en este ImageProcessor .

ADVERTENCIA: este método no es seguro para subprocesos. La actualización del número de rotaciones y luego el procesamiento de imágenes (usando SequentialProcessor.process(T) ) debe protegerse del acceso simultáneo con sincronización adicional.

Parámetros
k el numero de rotaciones
ocurrencia el índice de Rot90Op Rot90Op en este ImageProcessor . Por ejemplo, si es necesario actualizar el segundo Rot90Op , la occurrence debe establecerse en 1.
Lanza
IndexOutOfBoundsExceptionIndexOutOfBoundsException si la occurrence es negativa o no es menor que el número de Rot90Op en este ImageProcessor
IllegalStateExceptionIlegalStateException si no se ha agregado Rot90Op a este ImageProcessor