ImageProcessor é uma classe auxiliar para pré-processamento e pós-processamento TensorImage
. Ela
pode transformar uma TensorImage
em outra 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 um ImageProcessor
não são thread-safe com updateNumberOfRotations(int)
. Atualizar o número de rotações e processar imagens (usando o
SequentialProcessor.process(T)
) precisam ser protegidos contra o acesso simultâneo. É recomendável criar tabelas separadas
ImageProcessor
instâncias para cada linha de execução. Se várias linhas de execução acessarem um ImageProcessor
simultaneamente, ele precisará ser sincronizado externamente.
Classes aninhadas
classe | ImageProcessor.Builder | O builder para criar um ImageProcessor, 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 resultante de volta ao sistema de entrada.
imagem.
|
PointF |
inverseTransform(ponto PointF, int inputImageHeight, int inputImageWidth)
Transforma um ponto do sistema de coordenadas da imagem resultante de volta ao do sistema de entrada
imagem.
|
TensorImage | |
void |
updateNumberOfRotations(int k)
Atualiza o número de rotações para o primeiro
Rot90Op neste ImageProcessor . |
sincronizado anular |
updateNumberOfRotations(int k, ocorrência int)
|
Métodos herdados
Métodos públicos
públicas RectF inverseTransform (RectF rect, int inputImageHeight, int inputImageWidth)
Transforma um retângulo do sistema de coordenadas da imagem resultante de volta ao sistema de entrada. imagem.
Parâmetros
rect | o retângulo do sistema de coordenadas do 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.
públicas PointF inverseTransform (ponto PointF, int inputImageHeight, int inputImageWidth)
Transforma um ponto do sistema de coordenadas da imagem resultante de volta ao do sistema de entrada imagem.
Parâmetros
ponto | o ponto do sistema de coordenadas do 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úblicas TensorImage processo (imagem do TensorImage)
Processa um objeto TensorImage
com TensorOperator
preparado.
Parâmetros
imagem |
---|
Gera
IllegalArgumentException | se a imagem não for compatível com nenhuma operação. |
---|
públicas anular updateNumberOfRotations (int k)
Atualiza o número de rotações para o primeiro Rot90Op
neste ImageProcessor
.
AVISO:esse método não é seguro para linhas de execução. Atualizar o número de rotações e
então o processamento de imagens (usando SequentialProcessor.process(T)
) deve ser protegido contra o 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
|
---|
públicas sincronizado anular 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 é seguro para linhas de execução. Atualizar o número de rotações e
então o processamento de imagens (usando SequentialProcessor.process(T)
) deve ser protegido contra o acesso simultâneo com
sincronização adicional.
Parâmetros
k | o número de rotações |
---|---|
ocorrência | o índice do perticular Rot90Op neste ImageProcessor . Para
Por exemplo, se o segundo Rot90Op precisar ser atualizado, occurrence deverá ser
é definido como 1. |
Gera
IndexOutOfBoundsException | se occurrence for negativo ou não for menor que o
número de Rot90Op neste ImageProcessor |
---|---|
IllegalStateException | se Rot90Op não tiver sido adicionado a este ImageProcessor
|