come estrarre l'immagine tiff

Come estrarre immagini da file TIFF

TIFF di TIF è un’abbreviazione di Tag Image File Format ed è tra le popolari immagini grafiche raster, ampiamente utilizzate da artisti grafici, industria editoriale e fotografi. Il TIFF è diverso da JPEG, GIF e PNG perché è un formato “non compresso” e può memorizzare molti più dati immagine rispetto alle loro controparti JPEG. Ora una delle caratteristiche di spicco dei file TIFF è la sua capacità di memorizzare più immagini (ognuna con più canali) come fotogrammi sequenziali in uno stack temporale o z-stack di immagini. Quindi, in questo articolo, esploreremo i dettagli su come estrarre frame da immagini TIFF multi-frame utilizzando Java Cloud SDK.

API di elaborazione delle immagini TIFF

Abbiamo creato un’API di elaborazione delle immagini che offre la possibilità di modificare, manipolare e trasformare raster, metafile, Photoshop e altri Formati supportati in una varietà di formati di file. Ora parlando della manipolazione delle immagini TIFF, l’API è molto capace di elaborare le immagini TIFF. Quindi, secondo lo scopo di questo articolo, utilizzeremo Aspose.Imaging Cloud SDK for Java che è un wrapper per l’API REST. Quindi il primo passo per utilizzare le sue capacità è aggiungere il suo riferimento nel progetto java includendo le seguenti informazioni in pom.xml (progetto di tipo build 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>

Il passaggio successivo consiste nell’ottenere i dettagli delle credenziali del cliente da Cloud Dashboard e se non si dispone di un account su Aspose Cloud Dashboard, creare un account gratuito tramite un indirizzo email valido. Ora accedi utilizzando l’account appena creato e cerca/crea l’ID client e il segreto client su Aspose Cloud Dashboard.

Come estrarre l’immagine TIFF in Java

Esploriamo i dettagli su come estrarre le immagini dai file tiff utilizzando lo snippet di codice Java. Si noti che l’API consente anche di ridimensionare, ritagliare e ruotare Capovolgere il fotogramma estratto. Inoltre, uno dei parametri booleani saveOtherFrames consente di specificare se il risultato includerà tutti gli altri frame o solo un frame specificato.

  • Innanzitutto, crea un oggetto di ImagingApi basato su credenziali client personalizzate
  • In secondo luogo, leggi il contenuto della prima immagine TIFF usando il metodo readAllBytes(…) e passa all’array byte[]
  • In terzo luogo, crea un’istanza della classe UploadFileRequest in cui specifichiamo il nome di TIFF su Cloud storage
  • Ora carica la prima immagine TIFF nell’archivio cloud utilizzando il metodo uploadFile(…).
  • Il passaggio successivo consiste nello specificare l’indice del frame TIFF, l’altezza e la larghezza del frame estratto, l’origine dell’estrazione e specificare se si desidera il frame estratto in un particolare angelo
  • Ora creiamo un oggetto di GetImageFrameRequest in cui specifichiamo l’immagine TIFF di input e le proprietà sopra definite
  • Chiama il metodo getImageFrame(…) di ImagingAPI per ottenere il frame TIFF
  • Salva il frame estratto sull’unità locale utilizzando l’oggetto FileOutputStream
// Ottieni ClientID e ClientSecret da https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// creare un oggetto Imaging
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// caricare la prima immagine TIFF dal sistema locale
File file1 = new File("DeskewSampleImage.tif");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// creare un oggetto di richiesta di caricamento file
UploadFileRequest uploadRequest = new UploadFileRequest("input.tiff",imageStream,null);
// caricare la prima immagine TIFF nell'archivio cloud
imageApi.uploadFile(uploadRequest);

Integer frameId = 0; // Frame number inside TIFF
// nuova larghezza e altezza del telaio estratto
Integer newWidth = 1000;
Integer newHeight = 1400;

// origin per avviare l'estrazione del fotogramma
Integer x = 10;
Integer y = 10;

// regione rettangolare per estrarre il frame
Integer rectWidth = 900;
Integer rectHeight = 800;

// specificare l'angolo di rotazione per il fotogramma TIFF estratto
String rotateFlipMethod = "Rotate90FlipY";
// Risultato per includere solo il fotogramma specificato e non altri fotogrammi
Boolean saveOtherFrames = false;

// Crea un oggetto richiesta per estrarre i frame tiff in base ai dettagli specificati
GetImageFrameRequest getImageFrameRequest = new GetImageFrameRequest("input.tiff", frameId, newWidth, newHeight,
                    x, y, rectWidth, rectHeight, null, saveOtherFrames, null, null);

// il frame estratto viene restituito nel flusso di risposta
byte[] updatedImage = imageApi.getImageFrame(getImageFrameRequest);

// Salva il frame TIFF estratto nella memoria locale
FileOutputStream fos = new FileOutputStream("/Users/s4/Documents/" + "Extracted-TIFF.tiff");
fos.write(updatedImage);
fos.close();
estrarre il frame tiff

Ottieni l’anteprima dei fotogrammi TIFF

Le immagini TIFF di esempio utilizzate nell’esempio precedente possono essere scaricate da DeskewSampleImage.tif.

Elaborazione di immagini TIFF utilizzando i comandi cURL

Un altro modo conveniente per accedere alle API REST è tramite i comandi cURL. Poiché Aspose.Imaging Cloud si basa sull’architettura REST, possiamo anche estrarre frame di immagini tiff utilizzando i comandi cURL. Ora il prerequisito di questa attività è generare un token di accesso JWT (basato sulle credenziali del client) utilizzando il seguente comando.

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"

Dopo la generazione del token JWT, dobbiamo eseguire il seguente comando per estrarre il frame delle immagini 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

Conclusione

A questo punto, abbiamo appreso tutti i dettagli necessari su come estrarre le immagini dai file tiff. Abbiamo esplorato l’opzione per estrarre il frame TIFF utilizzando lo snippet di codice Java Java o tramite i comandi cURL. Un altro approccio per testare le promettenti funzionalità dell’API è tramite SwaggerUI e nel caso in cui desideri modificare il codice sorgente dell’SDK, puoi scaricarlo da GitHub (tutti i nostri Cloud SDK sono sviluppati sotto MIT licenza).

Tuttavia, la Documentazione del prodotto è un’incredibile fonte di informazioni per conoscere altre entusiasmanti funzionalità offerte dall’API. forum di supporto del prodotto.

articoli Correlati

Si prega di visitare i seguenti link per saperne di più su: