ImageProcessor

classe pública ImageProcessor

ImageProcessor é uma classe auxiliar para pré e pós-processamento do TensorImage. Ele pode transformar um TensorImage em outro executando uma cadeia de ImageOperator.

Exemplo 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);
 

AVISO: as instâncias de uma ImageProcessor não são thread-safe com updateNumberOfRotations(int). A atualização do número de rotações e o processamento de imagens (usando SequentialProcessor.process(T)) precisam ser protegidos contra acesso simultâneo. É recomendável criar instâncias de ImageProcessor separadas para cada linha de execução. Se várias linhas de execução acessarem um ImageProcessor ao mesmo tempo, ele precisará ser sincronizado externamente.

Classes aninhadas

classe ImageProcessor.Builder O Builder cria um ImageProcessr, que pode ser executado mais tarde. 

Métodos públicos

RectF
inverseTransform(RectF rect, int inputImageHeight, int inputImageWidth)
Transforma um retângulo do sistema de coordenadas da imagem de resultado para o da imagem de entrada.
PointF
inverseTransform(ponto PointF, int inputImageHeight, int inputImageWidth)
Transforma um ponto do sistema de coordenadas da imagem de resultado como o da imagem de entrada.
TensorImage
process(imagem do TensorImage)
Processa um objeto TensorImage com TensorOperator preparado.
void
updateNumberOfRotations(int k)
Atualiza o número de rotações para a primeira Rot90Op neste ImageProcessor.
sincronizado nulo
updateNumberOfRotations(int k, ocorrência int)
Atualiza o número de rotações para o Rot90Op especificado por occurrence neste ImageProcessor.

Métodos herdados

Métodos públicos

public RectF inverseTransform (RectF rect, int inputImageHeight, int inputImageWidth)

Transforma um retângulo do sistema de coordenadas da imagem de resultado para o da imagem de entrada.

Parâmetros
rect o retângulo do sistema de coordenadas de resultado.
inputImageHeight a altura da imagem de entrada.
inputImageWidth a largura da imagem de entrada.
Retorna
  • o retângulo com as coordenadas do sistema de coordenadas da imagem de entrada.

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

Transforma um ponto do sistema de coordenadas da imagem de resultado como o da imagem de entrada.

Parâmetros
point o ponto do sistema de coordenadas de resultado.
inputImageHeight a altura da imagem de entrada.
inputImageWidth a largura da imagem de entrada.
Retorna
  • o ponto com as coordenadas do sistema de coordenadas da imagem de entrada.

público TensorImage processo (TensorImage)

Processa um objeto TensorImage com TensorOperator preparado.

Parâmetros
imagem
Gera
IllegalArgumentException quando a imagem não tem suporte de nenhuma operação.

public void updateNumberOfRotations (int k)

Atualiza o número de rotações para a primeira Rot90Op neste ImageProcessor.

AVISO: esse método não é thread-safe. A atualização do número de rotações e o processamento de imagens (usando SequentialProcessor.process(T)) precisam ser protegidos contra acesso simultâneo com sincronização adicional.

Parâmetros
k o número de rotações
Gera
IllegalStateException se Rot90Op não tiver sido adicionado a este ImageProcessor

public sync void updateNumberOfRotations (int k, ocorrência int)

Atualiza o número de rotações para o Rot90Op especificado por occurrence neste ImageProcessor.

AVISO: esse método não é thread-safe. A atualização do número de rotações e o processamento de imagens (usando SequentialProcessor.process(T)) precisam ser protegidos contra acesso simultâneo com sincronização adicional.

Parâmetros
k o número de rotações
ocorrência o índice da Rot90Op perticular neste ImageProcessor. Por exemplo, se o segundo Rot90Op precisar ser atualizado, occurrence precisará ser definido como 1.
Gera
IndexOutOfBoundsException se occurrence for negativo ou não for menor que o número de Rot90Op nesse ImageProcessor
IllegalStateException se Rot90Op não tiver sido adicionado a este ImageProcessor