RGB-bild till gråskala java

I olika fall kan du behöva konvertera RGB-bilderna till gråskala eller svartvitt, till exempel vid bildbehandling etc. Följaktligen kommer du i den här artikeln att lära dig hur du konverterar en RGB-bild till gråskala med Java. Dessutom kommer artikeln att behandla gråskalning och binarisering av bilderna explicit.

Konvertera färgbild till gråskala i Java - API-installation

För att konvertera RGB-bilder till gråskala använder vi Aspose.Imaging for Java. Det är ett Java-bildbehandlings-API som låter dig manipulera populära bildformat sömlöst. Du kan antingen ladda ner API:et eller installera det med följande Maven-konfigurationer.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-imaging-java</artifactId>
    <version>21.7</version>
    <classifier>jdk16</classifier>
</dependency>

Konvertera en RGB-bild till gråskala i Java

Följande är stegen för att konvertera en RGB-bild till gråskala i Java.

Följande kodexempel visar hur man konverterar en bild till gråskala i Java.

// Ladda en bild i en instans av Image
try (Image image = Image.load("aspose-logo.jpg"))
{
    // Kasta bilden till RasterCachedImage
    RasterCachedImage rasterCachedImage = (RasterCachedImage) image;
    
    // Kontrollera om bilden är cachad
    if (!rasterCachedImage.isCached()) {
        // Cachebild om den inte redan är cachad
        rasterCachedImage.cacheData();
    }
    // Förvandla bilden till dess gråskalerepresentation
    rasterCachedImage.grayscale();
    
    // Spara den resulterande bilden
    rasterCachedImage.save("Grayscaling_out.jpg");
}

Mata in bild

Följande är en exempelbild som används i den här artikeln.

bild till gråskala Java

Konverterat till gråskala

Följande är bilden efter konvertering till gråskala.

gråskalebild

Java-bild till gråskala - binarisering

Vid binarisering kan varje pixel i en bild endast ha två möjliga värden; 0 eller 1. Här anger 0 frånvaron och 1 anger närvaron av färgen. Aspose.Imaging stöder två binariseringsmetoder, dvs binarisering med fast och binarisering med Otsu-tröskel.

Binarisering med fast tröskel

Följande är stegen för att utföra binarisering på en bild med hjälp av fast tröskel.

Följande Java-kod tillämpar binarisering på en bild och konverterar den till svartvitt.

// Ladda en bild i en instans av Image
try (Image image = Image.load("aspose-logo.jpg"))
{
    // Casta bilden till RasterCachedImage och kontrollera om bilden är cachad                
    RasterCachedImage rasterCachedImage = (RasterCachedImage)image;
    if (!rasterCachedImage.IsCached)
    {
        // Cachebild om den inte redan är cachad
        rasterCachedImage.CacheData();
    }

    // Binarisera bilden med fördefinierat fast tröskelvärde och spara den resulterande bilden                
    rasterCachedImage.binarizeFixed((byte) 100);
    rasterCachedImage.save("BinarizationWithFixedThreshold_out.jpg");
}

Binarisering med Otsu Threshold

Följande är steget för att konvertera en bild till svartvitt med Otsu-tröskel.

Följande kodexempel visar hur man konverterar en bild till svartvitt med Otsu-tröskel med Java.

// Ladda en bild i en instans av Image
try (Image image = Image.load("aspose-logo.jpg"))
{
    // Casta bilden till RasterCachedImage och kontrollera om bilden är cachad
    RasterCachedImage rasterCachedImage = (RasterCachedImage) image;
    if (!rasterCachedImage.isCached())
    {
        // Cachebild om den inte redan är cachad
        rasterCachedImage.cacheData();
    }
    // Binarisera bilden med Otsu Thresholding
    rasterCachedImage.binarizeOtsu();
  
    // Spara den resulterande bilden
    rasterCachedImage.save("BinarizationWithOtsuThreshold_out.jpg");
}

Konvertera bild till gråskala med en gratis licens

Du kan få en gratis tillfällig licens och konvertera bilder till gråskala utan utvärderingsbegränsningar.

Slutsats

I den här artikeln har du lärt dig hur du konverterar en färgbild till gråskala och svartvitt med Java. Dessutom har du sett hur man tillämpar binarisering på bilderna med fasta eller Otsu-trösklar. Dessutom kan du utforska mer om Javas bildbehandlings-API med hjälp av dokumentation. Du kan också dela dina frågor med oss via vårt forum.

Se även