ImageProcessor

ImageProcessor de classe publique

ImageProcessor est une classe d'assistance pour le prétraitement et le post-traitement TensorImage . Il pourrait transformer un TensorImage en un 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'un 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 , celui-ci doit être synchronisé en externe.

Classes imbriquées

classe ImageProcessor.Builder Le Builder pour créer un ImageProcessor, qui pourrait être exécuté ultérieurement.

Méthodes publiques

RecF
inverseTransform (RectF rect, int inputImageHeight, int inputImageWidth)
Transforme un rectangle du système de coordonnées de l'image résultante en celui de l'image d'entrée.
PointF
inverseTransform (point PointF, int inputImageHeight, int inputImageWidth)
Transforme un point du système de coordonnées de l'image résultante en celui de l'image d'entrée.
TensorImage
processus (image TensorImage )
Traite un objet TensorImage avec TensorOperator préparé.
vide
updateNumberOfRotations (int k)
Met à jour le nombre de rotations pour le premier Rot90Op dans ce ImageProcessor .
vide synchronisé
updateNumberOfRotations (int k, int occurrence)
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 résultante en celui de l'image d'entrée.

Paramètres
rectifier le rectangle du système de coordonnées du résultat.
hauteur de l'image d'entrée la hauteur de l’image d’entrée.
entréeImageLargeur la largeur de l’image d’entrée.
Retour
  • le rectangle avec les coordonnées du système de coordonnées de l'image d'entrée.

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

Transforme un point du système de coordonnées de l'image résultante en celui de l'image d'entrée.

Paramètres
indiquer le point du système de coordonnées résultat.
hauteur de l'image d'entrée la hauteur de l’image d’entrée.
entréeImageLargeur la largeur de l’image d’entrée.
Retour
  • le point avec les coordonnées du système de coordonnées de l’image d’entrée.

processus TensorImage public (image TensorImage )

Traite un objet TensorImage avec TensorOperator préparé.

Paramètres
image
Jetés
Exception d'argument illégal si l'image n'est prise en charge par aucune opération.

public void updateNumberOfRotations (int k)

Met à jour le nombre de rotations pour le premier Rot90Op 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 des accès simultanés avec une synchronisation supplémentaire.

Paramètres
k le nombre de rotations
Jetés
IllegalStateException si Rot90Op n'a pas été ajouté à cet 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 des accès simultanés avec une synchronisation supplémentaire.

Paramètres
k le nombre de rotations
occurrence l'index du Rot90Op particulier dans ce ImageProcessor . Par exemple, si le deuxième Rot90Op doit être mis à jour, occurrence doit être définie sur 1.
Jetés
IndexOutOfBoundsException si occurrence est négative ou n'est pas inférieure au nombre de Rot90Op dans cet ImageProcessor
IllegalStateException si Rot90Op n'a pas été ajouté à cet ImageProcessor