Perpustakaan Penciptaan & Pemprosesan Imej Java Percuma
API Pemprosesan Imej Java Sumber Terbuka Berguna yang membolehkan untuk Membuat Baca, Tulis, Ubah Saiz, Pangkas, Tambah Tera Air dan Menukar Imej seperti PNG, JPEG, BMP, TIFF, ICO dan banyak lagi.
Dalam dunia penglihatan komputer, perpustakaan memainkan peranan penting dalam memudahkan proses analisis imej dan video. Satu perpustakaan sedemikian yang telah mendapat perhatian penting dalam beberapa tahun kebelakangan ini ialah ICAFE, perpustakaan sumber terbuka yang dibangunkan oleh Dragon66. ICAFE menyokong format imej popular seperti JPEG, PNG, BMP, TIFF, GIF dan juga format RAW daripada kamera digital. Ia adalah perpustakaan Java yang berkuasa dan serba boleh untuk pemprosesan imej yang menawarkan fungsi yang kaya dan pelbagai asas serta ciri lanjutan untuk bekerja dengan imej, seperti mencipta imej baharu, penukaran imej antara pelbagai format, bekerja dengan metadata imej, mencipta GIF animasi, menggabungkan atau membelah imej, mengalih keluar atau menambah ketulan pada PNG, memampatkan imej atau menukar antara format, gunakan penapis pada imej dan sebagainya.
ICAFE (Pemerolehan Imej & Kamera untuk Semua Orang) ialah perpustakaan Java sumber terbuka yang memudahkan kerja dengan imej, menawarkan pelbagai ciri untuk pemprosesan, pengekodan, penyahkodan dan pengekstrakan metadata dalam aplikasi Java. Direka asalnya untuk pengendalian imej, ICAFE telah berkembang untuk menyokong pelbagai format, termasuk keupayaan untuk memproses gambar rajah. Dengan API yang fleksibel dan sokongan untuk berbilang format imej, ICAFE menyediakan alat yang diperlukan oleh pembangun perisian untuk mencipta aplikasi berkuasa, terutamanya untuk bekerja dengan gambar rajah. Selain itu, Pembangun Perisian boleh menggunakan perpustakaan untuk mengimport gambar rajah daripada format yang berbeza, memanipulasinya, dan kemudian mengeksportnya ke dalam format yang diingini. Dengan kemudahan penggunaannya, set ciri yang mantap, sokongan berbilang format dan fleksibiliti, ICAFE ialah sumber yang sangat baik dan berharga dalam mana-mana kit alat pembangun.
Bermula dengan ICAFE
Cara termudah dan disyorkan untuk memasang ICAFE ialah melalui GitHub.
Pasang ICAFE melalui GitHub
go get -u https://github.com/dragon66/icafe.git
Mampatan dan Penukaran Imej
Pustaka ICAFE sumber terbuka menjadikannya mudah untuk membaca dan memampatkan pelbagai jenis imej, yang penting apabila bekerja dengan fail besar atau mengoptimumkan aplikasi web. Perpustakaan membenarkan pemampatan imej tanpa kehilangan dan kehilangan. Berikut ialah contoh yang menunjukkan cara pembangun perisian boleh menggunakan kod untuk memampatkan imej JPEG input dan menyimpannya pada kualiti 75%. Kelas JPEGEncoder ICAFE memudahkan pemampatan imej, yang boleh ditala agar sesuai dengan keperluan aplikasi.
Bagaimana untuk Memampatkan Imej imej JPEG di dalam Apl Node.js?
import com.icafe4j.image.jpeg.JPEGEncoder;
import java.io.File;
import java.io.IOException;
public class ImageCompressionExample {
public static void main(String[] args) throws IOException {
File inputFile = new File("input.jpg");
File outputFile = new File("compressed_output.jpg");
// Compress JPEG with 75% quality
JPEGEncoder.encode(inputFile, outputFile, 0.75f);
System.out.println("Image compressed successfully!");
}
}
Pengeluaran Metadata melalui Aplikasi Java
Pustaka ICAFE menyokong pengekstrakan dan manipulasi metadata imej seperti EXIF, IPTC dan XMP. Ini amat berguna apabila berurusan dengan imej atau gambar rajah kamera yang memerlukan maklumat tambahan seperti cap masa, data lokasi atau butiran hak cipta. Dalam contoh kod berikut, ICAFE membaca metadata EXIF dari fail JPEG, mendapatkan butiran tentang model kamera dan tarikh foto itu diambil. Ini boleh dikembangkan untuk mengendalikan pelbagai teg metadata lain, menjadikannya alat yang sangat baik untuk mengurus koleksi imej.
Bagaimana untuk Memuatkan dan Membaca & Mengekstrak Metadata EXIF dari fail JPEG melalui API Java?
import com.icafe4j.image.metadata.Metadata;
import com.icafe4j.image.metadata.exif.Exif;
import com.icafe4j.image.jpeg.JPEGMetadataReader;
import java.io.File;
import java.io.IOException;
public class MetadataExample {
public static void main(String[] args) throws IOException {
File imageFile = new File("input.jpg");
// Extract EXIF metadata from a JPEG file
Metadata metadata = JPEGMetadataReader.readMetadata(imageFile);
Exif exif = (Exif) metadata.getExif();
if (exif != null) {
System.out.println("Camera Model: " + exif.getCameraModel());
System.out.println("Date Taken: " + exif.getDateTime());
} else {
System.out.println("No EXIF metadata found!");
}
}
}
Memanipulasi (Ubah Saiz, Pangkas, Penapis) Imej melalui Java
Pustaka ICAFE sumber terbuka memudahkan pembangun perisian membaca dan memanipulasi pelbagai jenis imej di dalam aplikasi Java. Perpustakaan menyokong sepenuhnya manipulasi imej yang mudah, termasuk mengubah saiz, memotong, menggunakan penapis dan banyak lagi. Dalam coretan kod berikut pembangun perisian boleh mengubah saiz imej sambil mengekalkan nisbah bidangnya. Keupayaan manipulasi ICAFE membolehkan pembangun perisian menyepadukan fungsi pemprosesan imej dengan mudah ke dalam perisian mereka.
Bagaimana untuk Memuatkan dan Mengubah Saiz Imej melalui Java API?
public class ResizeImageExample {
public static void main(String[] args) throws IOException {
BufferedImage originalImage = ImageIO.read(new File("input.jpg"));
// Resize the image to a width of 300 and maintain aspect ratio
Image resizedImage = originalImage.getScaledInstance(300, -1, Image.SCALE_SMOOTH);
BufferedImage resizedBufferedImage = new BufferedImage(300, resizedImage.getHeight(null), BufferedImage.TYPE_INT_RGB);
Graphics2D g2d = resizedBufferedImage.createGraphics();
g2d.drawImage(resizedImage, 0, 0, null);
g2d.dispose();
// Save the resized image
ImageIO.write(resizedBufferedImage, "jpg", new File("resized_output.jpg"));
System.out.println("Image resized successfully!");
}
}
Gunakan Penanda Air pada Imej melalui Java API?
Menambah tera air pada imej adalah mudah dengan perpustakaan ICAFE. Ciri ini berguna untuk melindungi harta intelek, terutamanya dalam aplikasi yang berurusan dengan rajah atau aset reka bentuk. Contoh kod berikut menunjukkan cara menindih tera air teks pada imej, memastikan gambar rajah atau imej anda dilindungi.
Bagaimana untuk Menindih Tera Air Teks pada Imej melalui Java API?
public class WatermarkExample {
public static void main(String[] args) throws IOException {
BufferedImage image = ImageIO.read(new File("input.jpg"));
// Add a text watermark
TextWatermark watermark = new TextWatermark("Watermark", 50);
BufferedImage watermarkedImage = watermark.apply(image);
// Save the watermarked image
ImageIO.write(watermarkedImage, "jpg", new File("watermarked_output.jpg"));
System.out.println("Watermark applied successfully!");
}
}