ImageProcessor

Procesador de imágenes de clase pública

ImageProcessor es una clase auxiliar para el preprocesamiento y posprocesamiento TensorImage . Podría transformar un TensorImage en otro ejecutando una cadena de ImageOperator .

Uso de ejemplo:

   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 estar protegido del acceso simultáneo. Se recomienda crear instancias ImageProcessor separadas para cada hilo. Si varios subprocesos acceden a un ImageProcessor al mismo tiempo, se debe sincronizar externamente.

Clases anidadas

clase Procesador de imágenes.Constructor El Builder para crear un ImageProcessor, que podría ejecutarse más tarde.

Métodos públicos

RectF
Transformación inversa (RectF rect, int inputImageHeight, int inputImageWidth)
Transforma un rectángulo del sistema de coordenadas de la imagen resultante al de la imagen de entrada.
Punto F
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 TensorImage )
Procesa un objeto TensorImage con TensorOperator preparado.
vacío
actualizarNumberOfRotations (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 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
recto el rectángulo del sistema de coordenadas resultante.
entradaImagenAltura la altura de la imagen de entrada.
ancho de imagen de entrada el ancho de la imagen de entrada.
Devoluciones
  • el rectángulo con las coordenadas del sistema de coordenadas de la imagen de entrada.

Transformación inversa pública de PointF (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.
entradaImagenAltura la altura de la imagen de entrada.
ancho de imagen de entrada 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 operación.

actualización nula públicaNumberOfRotations (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 número de rotaciones
Lanza
Excepción de estado ilegal si Rot90Op no se ha agregado a este ImageProcessor

actualización nula sincronizada públicaNumberOfRotations (int k, ocurrencia int)

Actualiza el número de rotaciones para 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 número de rotaciones
ocurrencia el índice de Rot90Op particular en este ImageProcessor . Por ejemplo, si es necesario actualizar el segundo Rot90Op , occurrence debe establecerse en 1.
Lanza
Excepción IndexOutOfBounds si occurrence es negativa o no es menor que el número de Rot90Op en este ImageProcessor
Excepción de estado ilegal si Rot90Op no se ha agregado a este ImageProcessor