1. produkty
  2.   obraz
  3.   Java
  4.   ICAFE
 
  

Knihovna pro vytváření a zpracování obrázků v jazyce Java

Užitečné Open Source Java Image Processing API, které umožňuje vytvářet čtení, zápis, měnit velikost, ořezávat, přidávat vodoznaky a převádět obrázky jako PNG, JPEG, BMP, TIFF, ICO a mnoho dalších.

Ve světě počítačového vidění hrají knihovny zásadní roli při zjednodušování procesu analýzy obrazu a videa. Jednou z takových knihoven, která si v posledních letech získala významnou pozornost, je ICAFE, open-source knihovna vyvinutá společností Dragon66. ICAFE podporuje oblíbené obrazové formáty jako JPEG, PNG, BMP, TIFF, GIF a dokonce i RAW formáty z digitálních fotoaparátů. Jedná se o výkonnou, všestrannou Java knihovnu pro zpracování obrázků, která nabízí bohatou funkčnost a různé základní i pokročilé funkce pro práci s obrázky, jako je vytváření nových obrázků, konverze obrázků mezi různými formáty, práce s metadaty obrázků, vytváření animovaných GIF, slučování nebo rozdělení obrázků, odstranění nebo přidání částí do PNG, komprimaci obrázků nebo převod mezi formáty, použití filtrů na obrázky a tak dále.

ICAFE (Image & Camera Acquisition for Everyone) je open source Java knihovna, která zjednodušuje práci s obrázky a nabízí různé funkce pro zpracování, kódování, dekódování a extrakci metadat v aplikacích Java. Původně navržený pro zpracování obrázků, ICAFE se vyvinul tak, aby podporoval širokou škálu formátů, včetně schopnosti zpracovávat diagramy. Díky flexibilnímu rozhraní API a podpoře více formátů obrázků poskytuje ICAFE vývojářům softwaru nástroje, které potřebují k vytváření výkonných aplikací, zejména pro práci s diagramy. Kromě toho mohou vývojáři softwaru používat knihovnu k importu diagramů z různých formátů, manipulaci s nimi a poté je exportovat do požadovaného formátu. Díky snadnému použití, robustní sadě funkcí, podpoře více formátů a flexibilitě je ICAFE vynikajícím a cenným zdrojem v jakékoli sadě nástrojů pro vývojáře.

Previous Next

Začínáme s ICAFE

Nejjednodušší a doporučený způsob instalace ICAFE je přes GitHub.

Nainstalujte ICAFE přes GitHub

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

Komprese a konverze obrázků

Open source knihovna ICAFE usnadňuje čtení a komprimaci různých typů obrázků, což je zásadní při práci s velkými soubory nebo optimalizaci webových aplikací. Knihovna umožňuje bezeztrátovou i ztrátovou kompresi obrázků. Zde je příklad, který ukazuje, jak mohou vývojáři softwaru použít kód pro kompresi vstupního obrázku JPEG a uložit jej v 75% kvalitě. Třída JPEGEncoder ICAFE zjednodušuje kompresi obrázků, kterou lze vyladit tak, aby vyhovovala potřebám aplikace.

Jak komprimovat obrázky ve formátu JPEG v aplikacích 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!");
    }
}

Extrakce metadat prostřednictvím aplikací Java

Knihovna ICAFE podporuje extrakci a manipulaci s metadaty obrázků, jako jsou EXIF, IPTC a XMP. To je užitečné zejména při práci s obrázky nebo diagramy z kamer, které vyžadují další informace, jako jsou časová razítka, údaje o poloze nebo podrobnosti o autorských právech. V následujícím příkladu kódu ICAFE načte metadata EXIF ​​ze souboru JPEG a načte podrobnosti o modelu fotoaparátu a datu pořízení fotografie. To lze rozšířit tak, aby zpracovávalo různé další značky metadat, což z něj činí vynikající nástroj pro správu kolekcí obrázků.

Jak načíst a číst a extrahovat metadata EXIF ​​ze souboru JPEG prostřednictvím rozhraní 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!");
        }
    }
}
 

Manipulace s obrázky (změna velikosti, oříznutí, filtry) pomocí Javy

Open source knihovna ICAFE usnadňuje vývojářům softwaru čtení a manipulaci s různými typy obrázků v aplikacích Java. Knihovna plně podporuje snadnou manipulaci s obrázky, včetně změny velikosti, oříznutí, použití filtrů a dalších. V následujícím fragmentu kódu mohou vývojáři softwaru změnit velikost obrázku při zachování jeho poměru stran. Manipulační možnosti ICAFE umožňují vývojářům softwaru snadno integrovat funkce zpracování obrazu do jejich softwaru.

Jak načíst a změnit velikost obrázků pomocí 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!");
    }
} 

Použít vodoznak na obrázky prostřednictvím Java API?

Přidávání vodoznaků do obrázků je s knihovnou ICAFE jednoduché. Tato funkce je užitečná pro ochranu duševního vlastnictví, zejména v aplikacích, které pracují s diagramy nebo návrhovými prostředky. Následující příklad kódu ukazuje, jak překrýt textový vodoznak na obrázek a zajistit tak ochranu vašich diagramů nebo obrázků.

Jak překrýt textový vodoznak na obrázek prostřednictvím rozhraní 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!");
    }
}
 Čeština