cara mengekstrak gambar tiff

Cara mengekstrak gambar dari file TIFF

TIFF dari TIF adalah singkatan dari Tag Image File Format dan salah satu gambar grafis raster populer, banyak digunakan oleh seniman grafis, industri penerbitan, dan fotografer. TIFF berbeda dari JPEG, GIF, dan PNG karena ini adalah format “tidak terkompresi” dan dapat menyimpan lebih banyak data gambar daripada format JPEG. Sekarang salah satu fitur yang menonjol dari file TIFF adalah kemampuannya untuk menyimpan banyak gambar (masing-masing memiliki banyak saluran) sebagai bingkai berurutan dalam tumpukan waktu atau z-tumpukan gambar. Jadi pada artikel ini, kita akan membahas detail tentang cara mengekstrak frame dari gambar TIFF multi-frame menggunakan Java Cloud SDK.

API Pemrosesan Gambar TIFF

Kami telah membuat API pemrosesan gambar yang menawarkan kemampuan untuk mengedit, memanipulasi, dan mengubah raster, metafile, photoshop, dan [Format yang Didukung] lainnya6 ke berbagai format file. Sekarang berbicara tentang manipulasi gambar TIFF, API sangat mampu memproses gambar TIFF. Sesuai dengan cakupan artikel ini, kita akan menggunakan Aspose.Imaging Cloud SDK for Java yang merupakan pembungkus REST API. Jadi langkah pertama dalam memanfaatkan kemampuannya adalah menambahkan referensinya di proyek java dengan memasukkan informasi berikut di pom.xml (proyek tipe maven build).

<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>

Langkah selanjutnya adalah mendapatkan detail kredensial klien dari Cloud Dashboard dan jika Anda tidak memiliki akun melalui Aspose Cloud Dashboard, harap buat akun gratis melalui alamat email yang valid. Sekarang login menggunakan akun yang baru dibuat dan cari/buat Client ID dan Client Secret di Aspose Cloud Dashboard.

Cara Mengekstrak Gambar TIFF di Java

Mari jelajahi detail tentang cara mengekstrak gambar dari file tiff menggunakan cuplikan kode Java. Harap perhatikan bahwa API juga memungkinkan Anda mengubah ukuran, memotong, dan memutarFlip bingkai yang diekstraksi. Selain itu, salah satu parameter boolean saveOtherFrames memungkinkan Anda menentukan apakah hasilnya akan menyertakan semua bingkai lain atau hanya bingkai tertentu.

  • Pertama, buat objek ImagingApi berdasarkan kredensial klien yang dipersonalisasi
  • Kedua, baca konten gambar TIFF pertama menggunakan metode readAllBytes(…) dan teruskan ke array byte[]
  • Ketiga, buat instance kelas UploadFileRequest tempat kami menentukan nama TIFF melalui penyimpanan Cloud
  • Sekarang unggah gambar TIFF pertama ke penyimpanan cloud menggunakan metode uploadFile(…).
  • Langkah selanjutnya adalah menentukan indeks frame TIFF, tinggi & lebar Frame yang diekstrak, asal ekstraksi dan tentukan jika Anda ingin frame yang diekstrak pada malaikat tertentu
  • Sekarang buat objek GetImageFrameRequest di mana kami menentukan input gambar TIFF dan properti yang ditentukan di atas
  • Panggil metode getImageFrame(…) dari ImagingAPI untuk mendapatkan bingkai TIFF
  • Simpan frame yang diekstraksi ke drive lokal menggunakan objek FileOutputStream
// Dapatkan ClientID dan ClientSecret dari https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// membuat objek Imaging
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// muat gambar TIFF pertama dari sistem lokal
File file1 = new File("DeskewSampleImage.tif");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// buat objek permintaan unggah file
UploadFileRequest uploadRequest = new UploadFileRequest("input.tiff",imageStream,null);
// unggah gambar TIFF pertama ke penyimpanan Cloud
imageApi.uploadFile(uploadRequest);

Integer frameId = 0; // Frame number inside TIFF
// lebar & tinggi baru bingkai yang diekstraksi
Integer newWidth = 1000;
Integer newHeight = 1400;

// asal untuk memulai ekstraksi bingkai
Integer x = 10;
Integer y = 10;

// wilayah persegi panjang untuk mengekstrak bingkai
Integer rectWidth = 900;
Integer rectHeight = 800;

// tentukan sudut putar untuk bingkai TIFF yang diekstraksi
String rotateFlipMethod = "Rotate90FlipY";
// Hasil hanya menyertakan bingkai yang ditentukan, bukan bingkai lain
Boolean saveOtherFrames = false;

// Buat objek permintaan untuk mengekstrak bingkai tiff berdasarkan detail yang ditentukan
GetImageFrameRequest getImageFrameRequest = new GetImageFrameRequest("input.tiff", frameId, newWidth, newHeight,
                    x, y, rectWidth, rectHeight, null, saveOtherFrames, null, null);

// frame yang diekstraksi dikembalikan dalam aliran respons
byte[] updatedImage = imageApi.getImageFrame(getImageFrameRequest);

// Simpan bingkai TIFF yang diekstraksi di penyimpanan lokal
FileOutputStream fos = new FileOutputStream("/Users/s4/Documents/" + "Extracted-TIFF.tiff");
fos.write(updatedImage);
fos.close();
ekstrak bingkai tiff

Dapatkan Pratinjau Bingkai TIFF

Contoh gambar TIFF yang digunakan pada contoh di atas dapat diunduh dari DeskewSampleImage.tif.

Pemrosesan Gambar TIFF menggunakan Perintah cURL

Cara mudah lainnya untuk mengakses REST API adalah melalui perintah cURL. Karena Aspose.Imaging Cloud didasarkan pada arsitektur REST, jadi kami juga dapat mengekstrak bingkai gambar tiff menggunakan perintah cURL. Sekarang prasyarat dari aktivitas ini adalah menghasilkan token akses JWT (berdasarkan kredensial klien) menggunakan perintah berikut.

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"

Setelah pembuatan token JWT, kita perlu menjalankan perintah berikut untuk mengekstrak bingkai gambar 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

Kesimpulan

Pada titik ini, kami telah mempelajari semua detail yang diperlukan tentang cara mengekstrak gambar dari file tiff. Kami telah menjelajahi opsi untuk mengekstrak bingkai TIFF menggunakan cuplikan kode Java Java atau melalui perintah cURL. Pendekatan lain untuk menguji fitur API yang menjanjikan adalah melalui SwaggerUI dan jika Anda ingin mengubah kode sumber SDK, Anda dapat mengunduhnya dari GitHub (semua Cloud SDK kami dikembangkan di bawah MIT lisensi).

Namun demikian, Dokumentasi Produk adalah sumber informasi yang luar biasa untuk mempelajari tentang fitur menarik lainnya yang ditawarkan oleh API. Terakhir, jika Anda menemukan masalah apa pun saat menggunakan API, Anda dapat mempertimbangkan untuk menghubungi kami untuk mendapatkan penyelesaian cepat secara gratis forum dukungan produk.

Artikel Terkait

Silakan kunjungi tautan berikut untuk mempelajari lebih lanjut tentang: