comment extraire une image tiff

Comment extraire des images de fichiers TIFF

TIFF de TIF est une abréviation de Tag Image File Format et fait partie des images graphiques raster populaires, largement utilisées par les graphistes, l’industrie de l’édition et les photographes. Le format TIFF est différent de JPEG, GIF et PNG car il s’agit d’un format “non compressé” et peut stocker beaucoup plus de données d’image que leurs homologues JPEG. Désormais, l’une des principales caractéristiques des fichiers TIFF est leur capacité à stocker plusieurs images (chacune ayant plusieurs canaux) sous forme d’images séquentielles dans une pile temporelle ou une pile z d’images. Ainsi, dans cet article, nous allons explorer les détails sur la façon d’extraire des images à partir d’images TIFF multi-images à l’aide de Java Cloud SDK.

API de traitement d’images TIFF

Nous avons créé une API de traitement d’image offrant les capacités d’éditer, de manipuler et de transformer des trames, des métafichiers, Photoshop et d’autres formats pris en charge vers une variété de formats de fichiers. Parlons maintenant de la manipulation d’images TIFF, l’API est tout à fait capable de traiter des images TIFF. Ainsi, conformément à la portée de cet article, nous allons utiliser Aspose.Imaging Cloud SDK for Java qui est un wrapper autour de l’API REST. Ainsi, la première étape dans l’utilisation de ses capacités consiste à ajouter sa référence dans le projet Java en incluant les informations suivantes dans pom.xml (projet de type de construction maven).

<repositories> 
    <repository>
        <id>aspose-cloud</id>
        <name>artifact.aspose-cloud-releases</name>
        <url>http://artifact.aspose.cloud/repo</url>
    </repository>   
</repositories>

<dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-imaging-cloud</artifactId>
        <version>22.4</version>
    </dependency>
</dependencies>

L’étape suivante consiste à obtenir les informations d’identification du client auprès de Cloud Dashboard et si vous n’avez pas de compte sur Aspose Cloud Dashboard, veuillez créer un compte gratuit via une adresse e-mail valide. Connectez-vous maintenant à l’aide du compte nouvellement créé et recherchez/créez l’ID client et le secret client sur le tableau de bord Aspose Cloud.

Comment extraire une image TIFF en Java

Explorons les détails sur la façon d’extraire des images à partir de fichiers tiff à l’aide d’un extrait de code Java. Veuillez noter que l’API vous permet également de redimensionner, recadrer et faire pivoter le cadre extrait. De plus, l’un des paramètres booléens saveOtherFrames vous permet de spécifier si le résultat inclura tous les autres cadres ou seulement un cadre spécifié.

  • Tout d’abord, créez un objet d’ImagingApi basé sur les informations d’identification personnalisées du client
  • Deuxièmement, lisez le contenu de la première image TIFF en utilisant la méthode readAllBytes(…) et passez au tableau byte[]
  • Troisièmement, créez une instance de la classe UploadFileRequest où nous spécifions le nom de TIFF sur le stockage Cloud
  • Téléchargez maintenant la première image TIFF sur le stockage en nuage à l’aide de la méthode uploadFile(…)
  • L’étape suivante consiste à spécifier l’index de trame TIFF, la hauteur et la largeur de la trame extraite, l’origine de l’extraction et à spécifier si vous voulez la trame extraite en particulier angel
  • Créez maintenant un objet de GetImageFrameRequest où nous spécifions l’image TIFF d’entrée et les propriétés définies ci-dessus
  • Appelez la méthode getImageFrame(…) de ImagingAPI pour obtenir le cadre TIFF
  • Enregistrez l’image extraite sur le lecteur local à l’aide de l’objet FileOutputStream
// Obtenez ClientID et ClientSecret à partir de https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// créer un objet d'imagerie
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// charger la première image TIFF du système local
File file1 = new File("DeskewSampleImage.tif");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// créer un objet de demande de téléchargement de fichier
UploadFileRequest uploadRequest = new UploadFileRequest("input.tiff",imageStream,null);
// télécharger la première image TIFF sur le stockage Cloud
imageApi.uploadFile(uploadRequest);

Integer frameId = 0; // Frame number inside TIFF
// nouvelle largeur et hauteur du cadre extrait
Integer newWidth = 1000;
Integer newHeight = 1400;

// origine pour démarrer l'extraction de l'image
Integer x = 10;
Integer y = 10;

// région rectangulaire pour extraire le cadre
Integer rectWidth = 900;
Integer rectHeight = 800;

// spécifier l'angle de rotation pour l'image TIFF extraite
String rotateFlipMethod = "Rotate90FlipY";
// Résultat pour inclure uniquement le cadre spécifié et non les autres cadres
Boolean saveOtherFrames = false;

// Créer un objet de requête pour extraire les trames tiff en fonction des détails spécifiés
GetImageFrameRequest getImageFrameRequest = new GetImageFrameRequest("input.tiff", frameId, newWidth, newHeight,
                    x, y, rectWidth, rectHeight, null, saveOtherFrames, null, null);

// la trame extraite est renvoyée dans le flux de réponse
byte[] updatedImage = imageApi.getImageFrame(getImageFrameRequest);

// Enregistrer l'image TIFF extraite sur le stockage local
FileOutputStream fos = new FileOutputStream("/Users/s4/Documents/" + "Extracted-TIFF.tiff");
fos.write(updatedImage);
fos.close();
extraire le cadre tiff

Obtenez un aperçu des images TIFF

Les exemples d’images TIFF utilisés dans l’exemple ci-dessus peuvent être téléchargés à partir de DeskewSampleImage.tif.

Traitement d’image TIFF à l’aide des commandes cURL

Un autre moyen pratique d’accéder aux API REST consiste à utiliser les commandes cURL. Comme Aspose.Imaging Cloud est basé sur l’architecture REST, nous pouvons également extraire des cadres d’images tiff à l’aide de commandes cURL. Maintenant, le prérequis de cette activité est de générer un jeton d’accès JWT (basé sur les informations d’identification du client) à l’aide de la commande suivante.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Après la génération du jeton JWT, nous devons exécuter la commande suivante pour extraire le cadre des images TIFF.

curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/first.tiff/frames/0?newWidth=1000&newHeight=1200&x=10&y=10&rectWidth=800&rectHeight=800&saveOtherFrames=false" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-o ExtractedFrame.tiff

Conclusion

À ce stade, nous avons appris tous les détails nécessaires sur la façon d’extraire des images à partir de fichiers tiff. Nous avons exploré la possibilité d’extraire le cadre TIFF à l’aide d’un extrait de code Java Java ou via des commandes cURL. Une autre approche pour tester les fonctionnalités prometteuses de l’API est via SwaggerUI et si vous souhaitez modifier le code source du SDK, vous pouvez le télécharger depuis GitHub (tous nos SDK Cloud sont développés sous MIT Licence).

Néanmoins, la Product Documentation est une source d’informations incroyable pour en savoir plus sur d’autres fonctionnalités intéressantes offertes par l’API Enfin, si vous rencontrez des problèmes lors de l’utilisation de l’API, vous pouvez envisager de nous contacter pour une résolution rapide via forum d’assistance produit.

Articles Liés

Veuillez visiter les liens suivants pour en savoir plus sur :