RGB Bild in Graustufen java

In verschiedenen Fällen müssen Sie möglicherweise die RGB Bilder in Graustufen oder Schwarzweiß konvertieren, z. B. bei der Bildverarbeitung usw. Dementsprechend erfahren Sie in diesem Artikel, wie Sie ein RGB Bild mit Java in Graustufen konvertieren . Darüber hinaus wird der Artikel Grauskalierung und Binarisierung der Bilder explizit behandeln.

Java API zum Konvertieren von Bildern in Graustufen

Um RGB Bilder in Graustufen umzuwandeln, verwenden wir Aspose.Imaging for Java. Es ist eine Java Bildverarbeitungs-API, mit der Sie gängige Bildformate nahtlos bearbeiten können. Sie können die API entweder herunterladen oder sie mit den folgenden Maven konfigurationen installieren.

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

Konvertieren Sie ein Bild in Java in Graustufen

Im Folgenden sind die Schritte zum Konvertieren eines RGB Bildes in Graustufen in Java aufgeführt.

Das folgende Codebeispiel zeigt, wie Sie ein Bild mit Java in Graustufen konvertieren.

// Laden Sie ein Bild in eine Instanz von Image
try (Image image = Image.load("aspose-logo.jpg"))
{
    // Wandeln Sie das Bild in RasterCachedImage um
    RasterCachedImage rasterCachedImage = (RasterCachedImage) image;
    
    // Überprüfen Sie, ob das Bild zwischengespeichert ist
    if (!rasterCachedImage.isCached()) {
        // Bild zwischenspeichern, falls noch nicht zwischengespeichert
        rasterCachedImage.cacheData();
    }
    // Wandeln Sie das Bild in seine Graustufendarstellung um
    rasterCachedImage.grayscale();
    
    // Speichern Sie das resultierende Bild
    rasterCachedImage.save("Grayscaling_out.jpg");
}

Eingabebild

Das Folgende ist ein Beispielbild, das in diesem Artikel verwendet wird.

Bild in Graustufen-Java

In Graustufen konvertiert

Das Folgende ist das Bild nach der Umwandlung in Graustufen.

Graustufenbild

Konvertieren Sie Bilder mit Binarisierung in Schwarzweiß

Bei der Binarisierung kann jedes Pixel in einem Bild nur zwei mögliche Werte haben; 0 oder 1. Dabei bedeutet 0 das Fehlen und 1 das Vorhandensein der Farbe. Aspose.Imaging unterstützt zwei Binarisierungsmethoden, dh Binarisierung mit festem und Binarisierung mit Otsu-Schwellenwert.

Binarisierung mit festem Schwellenwert in Java

Im Folgenden sind die Schritte zum Durchführen der Binarisierung eines Bildes unter Verwendung eines festen Schwellenwerts aufgeführt.

Der folgende Java-Code wendet die Binarisierung auf ein Bild an und konvertiert es in Schwarzweiß.

// Laden Sie ein Bild in eine Instanz von Image
try (Image image = Image.load("aspose-logo.jpg"))
{
    // Wandeln Sie das Bild in RasterCachedImage um und prüfen Sie, ob das Bild zwischengespeichert ist                
    RasterCachedImage rasterCachedImage = (RasterCachedImage)image;
    if (!rasterCachedImage.IsCached)
    {
        // Bild zwischenspeichern, falls noch nicht zwischengespeichert
        rasterCachedImage.CacheData();
    }

    // Binarisieren Sie das Bild mit einem vordefinierten festen Schwellenwert und speichern Sie das resultierende Bild                
    rasterCachedImage.binarizeFixed((byte) 100);
    rasterCachedImage.save("BinarizationWithFixedThreshold_out.jpg");
}

Binarisierung mit Otsu Threshold in Java

Im Folgenden sind die Schritte zum Konvertieren eines Bildes in Schwarzweiß mit dem Otsu-Schwellenwert aufgeführt.

Das folgende Codebeispiel zeigt, wie Sie ein Bild mit Otsu-Schwellenwert mithilfe von Java in Schwarzweiß konvertieren.

// Laden Sie ein Bild in eine Instanz von Image
try (Image image = Image.load("aspose-logo.jpg"))
{
    // Wandeln Sie das Bild in RasterCachedImage um und prüfen Sie, ob das Bild zwischengespeichert ist
    RasterCachedImage rasterCachedImage = (RasterCachedImage) image;
    if (!rasterCachedImage.isCached())
    {
        // Bild zwischenspeichern, falls noch nicht zwischengespeichert
        rasterCachedImage.cacheData();
    }
    // Binarisieren Sie das Bild mit Otsu Thresholding
    rasterCachedImage.binarizeOtsu();
  
    // Speichern Sie das resultierende Bild
    rasterCachedImage.save("BinarizationWithOtsuThreshold_out.jpg");
}

Holen Sie sich eine kostenlose API Lizenz

Sie können eine kostenlose temporäre Lizenz erhalten, um die API ohne Evaluierungseinschränkungen zu verwenden.

Fazit

In diesem Artikel haben Sie gelernt, wie Sie ein Bild mit Java in Graustufen und Schwarzweiß konvertieren. Außerdem haben Sie gesehen, wie Sie die Binarisierung auf die Bilder mit festem oder Otsu-Schwellenwert anwenden. Darüber hinaus können Sie mithilfe der Dokumentation mehr über die Java Bildverarbeitungs-API erfahren. Außerdem können Sie uns Ihre Fragen über unser Forum mitteilen.

Siehe auch