Immagine RGB in java in scala di grigi

In vari casi, potrebbe essere necessario convertire le immagini RGB in scala di grigi o in bianco e nero, ad esempio nell’elaborazione delle immagini, ecc. In base a ciò, in questo articolo imparerai come convertire un’immagine RGB in scala di grigi utilizzando Java . Inoltre, l’articolo tratterà in modo esplicito la scala di grigi e la binarizzazione delle immagini.

API Java per convertire l’immagine in scala di grigi

Per convertire le immagini RGB in scala di grigi, utilizzeremo Aspose.Imaging for Java. È un’API di elaborazione delle immagini Java che consente di manipolare i formati di immagine più diffusi senza problemi. Puoi scaricare l’API o installarla utilizzando le seguenti configurazioni Maven.

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

Converti un’immagine in scala di grigi in Java

Di seguito sono riportati i passaggi per convertire un’immagine RGB in scala di grigi in Java.

L’esempio di codice seguente mostra come convertire un’immagine in scala di grigi utilizzando Java.

// Carica un'immagine in un'istanza di Image
try (Image image = Image.load("aspose-logo.jpg"))
{
    // Trasmetti l'immagine a RasterCachedImage
    RasterCachedImage rasterCachedImage = (RasterCachedImage) image;
    
    // Controlla se l'immagine è memorizzata nella cache
    if (!rasterCachedImage.isCached()) {
        // Immagine cache se non è già memorizzata nella cache
        rasterCachedImage.cacheData();
    }
    // Trasforma l'immagine nella sua rappresentazione in scala di grigi
    rasterCachedImage.grayscale();
    
    // Salva l'immagine risultante
    rasterCachedImage.save("Grayscaling_out.jpg");
}

Immagine di input

Quella che segue è un’immagine di esempio utilizzata in questo articolo.

immagine in scala di grigi Java

Convertito in scala di grigi

Quella che segue è l’immagine dopo la conversione in scala di grigi.

immagine in scala di grigi

Converti l’immagine in bianco e nero con la binarizzazione

Nella binarizzazione, ogni pixel in un’immagine può avere solo due valori possibili; 0 o 1. Qui, 0 denota l’assenza e 1 denota la presenza del colore. Aspose.Imaging supporta due metodi di binarizzazione, ovvero binarizzazione con soglia fissa e binarizzazione con soglia Otsu.

Binarizzazione con soglia fissa in Java

Di seguito sono riportati i passaggi per eseguire la binarizzazione su un’immagine utilizzando la soglia fissa.

Il seguente codice Java applica la binarizzazione a un’immagine e la converte in bianco e nero.

// Carica un'immagine in un'istanza di Image
try (Image image = Image.load("aspose-logo.jpg"))
{
    // Trasmetti l'immagine a RasterCachedImage e controlla se l'immagine è memorizzata nella cache                
    RasterCachedImage rasterCachedImage = (RasterCachedImage)image;
    if (!rasterCachedImage.IsCached)
    {
        // Immagine cache se non è già memorizzata nella cache
        rasterCachedImage.CacheData();
    }

    // Binarizza l'immagine con una soglia fissa predefinita e salva l'immagine risultante                
    rasterCachedImage.binarizeFixed((byte) 100);
    rasterCachedImage.save("BinarizationWithFixedThreshold_out.jpg");
}

Binarizzazione con soglia Otsu in Java

Di seguito sono riportati i passaggi per convertire un’immagine in bianco e nero con la soglia Otsu.

L’esempio di codice seguente mostra come convertire un’immagine in bianco e nero con la soglia Otsu usando Java.

// Carica un'immagine in un'istanza di Image
try (Image image = Image.load("aspose-logo.jpg"))
{
    // Trasmetti l'immagine a RasterCachedImage e controlla se l'immagine è memorizzata nella cache
    RasterCachedImage rasterCachedImage = (RasterCachedImage) image;
    if (!rasterCachedImage.isCached())
    {
        // Immagine cache se non è già memorizzata nella cache
        rasterCachedImage.cacheData();
    }
    // Binarizza l'immagine con la soglia di Otsu
    rasterCachedImage.binarizeOtsu();
  
    // Salva l'immagine risultante
    rasterCachedImage.save("BinarizationWithOtsuThreshold_out.jpg");
}

Ottieni una licenza API gratuita

Puoi ottenere una licenza temporanea gratuita per utilizzare l’API senza limitazioni di valutazione.

Conclusione

In questo articolo, hai imparato come convertire un’immagine in scala di grigi e in bianco e nero usando Java. Inoltre, hai visto come applicare la binarizzazione alle immagini con soglia fissa o Otsu. Inoltre, puoi esplorare di più sull’API di elaborazione delle immagini Java utilizzando documentazione. Inoltre, puoi condividere le tue domande con noi tramite il nostro forum.

Guarda anche