ImageProcessor

Classe publique ImageProcessor

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
process(image TensorImage)
Traite un objet TensorImage avec une TensorOperator préparée.
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)
Met à jour le nombre de rotations pour le Rot90Op spécifié par occurrence dans ce ImageProcessor.

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