1. Produktai
  2.   Vaizdas
  3.   Java
  4.   ICAFE
 
  

Nemokama Java vaizdų kūrimo ir apdorojimo biblioteka

Naudinga atvirojo kodo Java vaizdų apdorojimo API, leidžianti kurti skaitymo, rašymo, dydžio keitimą, apkarpymą, pridėti vandens ženklų ir konvertuoti vaizdus, ​​pvz., PNG, JPEG, BMP, TIFF, ICO ir daug daugiau.

Kompiuterinės vizijos pasaulyje bibliotekos atlieka labai svarbų vaidmenį supaprastinant vaizdų ir vaizdo įrašų analizės procesą. Viena iš tokių bibliotekų, kuri pastaraisiais metais sulaukė didelio dėmesio, yra Dragon66 sukurta atvirojo kodo biblioteka ICAFE. ICAFE palaiko populiarius vaizdo formatus, tokius kaip JPEG, PNG, BMP, TIFF, GIF ir net RAW formatus iš skaitmeninių fotoaparatų. Tai galinga, universali „Java“ biblioteka, skirta vaizdų apdorojimui, siūlanti daug funkcijų ir įvairių pagrindinių bei pažangių darbo su vaizdais funkcijų, tokių kaip naujų vaizdų kūrimas, vaizdo konvertavimas tarp įvairių formatų, darbas su vaizdo metaduomenimis, animuotų GIF kūrimas, vaizdų sujungimas arba skaidymas, gabalų pašalinimas arba įtraukimas į PNG, vaizdų suspaudimas arba konvertavimas iš vieno formato į kitą, filtrų taikymas vaizdams ir pan.

ICAFE (vaizdų ir fotoaparatų gavimas visiems) yra atvirojo kodo „Java“ biblioteka, supaprastinanti darbą su vaizdais, siūlanti įvairias apdorojimo, kodavimo, dekodavimo ir metaduomenų išgavimo „Java“ programose funkcijas. Iš pradžių sukurta vaizdų tvarkymui, ICAFE vystėsi taip, kad palaikytų daugybę formatų, įskaitant galimybę apdoroti diagramas. Su savo lanksčia API ir kelių vaizdo formatų palaikymu ICAFE programinės įrangos kūrėjams suteikia įrankius, kurių reikia norint sukurti galingas programas, ypač dirbant su diagramomis. Be to, programinės įrangos kūrėjai gali naudoti biblioteką norėdami importuoti diagramas iš skirtingų formatų, jomis manipuliuoti ir eksportuoti į norimą formatą. Dėl savo lengvo naudojimo, tvirto funkcijų rinkinio, kelių formatų palaikymo ir lankstumo ICAFE yra puikus ir vertingas šaltinis bet kurio kūrėjo įrankių rinkinyje.

Previous Next

Darbo ICAFE pradžia

Lengviausias ir rekomenduojamas būdas įdiegti ICAFE yra per GitHub.

Įdiekite ICAFE per „GitHub“

go get -u https://github.com/dragon66/icafe.git 

Vaizdo glaudinimas ir konvertavimas

Atvirojo kodo ICAFE biblioteka leidžia lengvai skaityti ir suspausti įvairių tipų vaizdus, ​​​​o tai labai svarbu dirbant su dideliais failais arba optimizuojant žiniatinklio programas. Biblioteka leidžia glaudinti vaizdus ir be nuostolių, ir be nuostolių. Štai pavyzdys, parodantis, kaip programinės įrangos kūrėjai gali naudoti kodą įvesties JPEG vaizdui suspausti ir išsaugoti jį 75 % kokybe. ICAFE JPEGEncoder klasė supaprastina vaizdo glaudinimą, kurį galima suderinti, kad atitiktų programos poreikius.

Kaip suspausti JPEG atvaizdus Node.js programose?


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!");
    }
}

Metaduomenų išgavimas naudojant „Java“ programas

ICAFE biblioteka palaiko vaizdo metaduomenų, pvz., EXIF, IPTC ir XMP, ištraukimą ir apdorojimą. Tai ypač naudinga, kai kalbama apie fotoaparato vaizdus ar diagramas, kurioms reikia papildomos informacijos, pvz., laiko žymų, vietos duomenų ar išsamios autorių teisių informacijos. Šiame kodo pavyzdyje ICAFE nuskaito EXIF ​​metaduomenis iš JPEG failo, gaudama išsamią informaciją apie fotoaparato modelį ir nuotraukos darymo datą. Tai gali būti išplėsta, kad būtų galima apdoroti įvairias kitas metaduomenų žymas, todėl tai puikus įrankis tvarkyti vaizdų kolekcijas.

Kaip įkelti ir perskaityti bei ištraukti EXIF ​​metaduomenis iš JPEG failo naudojant Java API?


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!");
        }
    }
}
 

Manipuliuoti (keisti dydį, apkarpyti, filtruoti) vaizdais naudojant „Java“

Atvirojo kodo ICAFE biblioteka leidžia programinės įrangos kūrėjams lengvai skaityti ir valdyti įvairių tipų vaizdus Java programose. Biblioteka visiškai palaiko paprastą manipuliavimą vaizdais, įskaitant dydžio keitimą, apkarpymą, filtrų taikymą ir kt. Toliau pateiktame kodo fragmente programinės įrangos kūrėjai gali pakeisti vaizdo dydį, išlaikydami jo formato santykį. ICAFE manipuliavimo galimybės leidžia programinės įrangos kūrėjams lengvai integruoti vaizdo apdorojimo funkcijas į savo programinę įrangą.

Kaip įkelti vaizdus ir pakeisti jų dydį naudojant „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!");
    }
} 

Taikyti vandenženklį vaizdams per Java API?

Naudojant ICAFE biblioteką, prie vaizdų pridėti vandens ženklų paprasta. Ši funkcija naudinga siekiant apsaugoti intelektinę nuosavybę, ypač programose, kurios susijusios su diagramomis arba projektavimo turtu. Šiame kodo pavyzdyje parodyta, kaip ant vaizdo uždėti tekstinį vandens ženklą, užtikrinant, kad jūsų diagramos arba vaizdai būtų apsaugoti.

Kaip uždėti tekstinį vandens ženklą ant vaizdo naudojant „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!");
    }
}
 Lietuvių