ImageProcessor est une classe d'assistance pour le prétraitement et le post-traitement de TensorImage
. Elle peut transformer une TensorImage
en une autre en exécutant une chaîne de ImageOperator
.
Exemple d'utilisation :
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);
AVERTISSEMENT:Les instances d'une ImageProcessor
ne sont pas thread-safe avec updateNumberOfRotations(int)
. La mise à jour du nombre de rotations, puis le traitement des images (à l'aide de SequentialProcessor.process(T)
) doivent être protégés contre les accès simultanés. Il est recommandé de créer des instances ImageProcessor
distinctes pour chaque thread. Si plusieurs threads accèdent simultanément à un ImageProcessor
, il doit être synchronisé en externe.
Classes imbriquées
classe | ImageProcessor.Builder | Compilateur permettant de créer un ImageProcessor, qui pourra être exécuté ultérieurement. |
Méthodes publiques
RectF |
inverseTransform(RectF rect, int inputImageHeight, int inputImageWidth)
Transforme un rectangle du système de coordonnées de l'image de résultat en celui de l'image d'entrée.
|
PointF |
inverseTransform(point PointF, int inputImageHeight, int inputImageWidth)
Remplace un point du système de coordonnées de l'image de résultat par celui de l'image d'entrée.
|
TensorImage | |
void |
updateNumberOfRotations(int k)
Met à jour le nombre de rotations pour les
Rot90Op premières de ce ImageProcessor . |
synchronisée vide |
updateNumberOfRotations(int k, occurrence int)
|
Méthodes héritées
Méthodes publiques
public RectF inverseTransform (RectF rect, int inputImageHeight, int inputImageWidth)
Transforme un rectangle du système de coordonnées de l'image de résultat en celui de l'image d'entrée.
Paramètres
rect | rectangle du système de coordonnées du résultat. |
---|---|
inputImageHeight | la hauteur de l'image d'entrée. |
inputImageWidth | la largeur de l'image d'entrée. |
Renvoie
- le rectangle avec les coordonnées du système de coordonnées de l'image d'entrée.
public PointF inverseTransform (PointF point, int inputImageHeight, int inputImageWidth)
Remplace un point du système de coordonnées de l'image de résultat par celui de l'image d'entrée.
Paramètres
point | le point à partir du système de coordonnées du résultat. |
---|---|
inputImageHeight | la hauteur de l'image d'entrée. |
inputImageWidth | la largeur de l'image d'entrée. |
Renvoie
- le point avec les coordonnées du système de coordonnées de l'image d'entrée.
public TensorImage processus (image TensorImage)
Traite un objet TensorImage
avec une TensorOperator
préparée.
Paramètres
Image |
---|
Génère
IllegalArgumentException | si l'image n'est prise en charge par aucune opération. |
---|
public void updateNumberOfRotations (int k)
Met à jour le nombre de rotations pour les Rot90Op
premières de ce ImageProcessor
.
AVERTISSEMENT:Cette méthode n'est pas thread-safe. La mise à jour du nombre de rotations, puis le traitement des images (à l'aide de SequentialProcessor.process(T)
) doivent être protégés contre les accès simultanés grâce à une synchronisation supplémentaire.
Paramètres
k | le nombre de rotations |
---|
Génère
IllegalStateException | si Rot90Op n'a pas été ajouté(e) à ImageProcessor
|
---|
public synchronisé void updateNumberOfRotations (int k, int occurrence)
Met à jour le nombre de rotations pour le Rot90Op
spécifié par occurrence
dans ce ImageProcessor
.
AVERTISSEMENT:Cette méthode n'est pas thread-safe. La mise à jour du nombre de rotations, puis le traitement des images (à l'aide de SequentialProcessor.process(T)
) doivent être protégés contre les accès simultanés grâce à une synchronisation supplémentaire.
Paramètres
k | le nombre de rotations |
---|---|
occurrence | l'indice de la Rot90Op perticulaire dans ce ImageProcessor . Par exemple, si le deuxième Rot90Op doit être mis à jour, occurrence doit être défini sur 1. |
Génère
IndexOutOfBoundsException | si occurrence est négatif ou n'est pas inférieur au nombre de Rot90Op dans ce ImageProcessor |
---|---|
IllegalStateException | si Rot90Op n'a pas été ajouté(e) à ImageProcessor
|