converti l'immagine in C# in scala di grigi

In vari casi, potrebbe essere necessario convertire le immagini a colori in scala di grigi o in bianco e nero, ad esempio nell’elaborazione delle immagini, ecc. Pertanto, in questo articolo imparerai come convertire un’immagine in scala di grigi usando C#. Inoltre, l’articolo tratterà esplicitamente la scala di grigi e la binarizzazione delle immagini.

API C# per convertire l’immagine in scala di grigi

Per convertire le immagini a colori RGB in scala di grigi, useremo Aspose.Imaging for .NET. È una potente API di elaborazione delle immagini che ti consente di manipolare senza problemi i formati di immagine più diffusi. Puoi scaricare l’API o installarla utilizzando NuGet.

PM> Install-Package Aspose.Imaging

Converti un’immagine in scala di grigi in C#

Di seguito sono riportati i passaggi per convertire un’immagine a colori in scala di grigi in C#.

L’esempio di codice seguente mostra come convertire un’immagine in scala di grigi usando C#.

// Carica un'immagine in un'istanza della classe Image
using (Image image = Image.Load("aspose.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();
    }

    // Trasforma l'immagine nella sua rappresentazione in scala di grigi
    rasterCachedImage.Grayscale();
    
    // Salva l'immagine
    rasterCachedImage.Save("grayscaled.jpg");
}

Immagine di input

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

immagine in scala di grigi C#

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

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

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

// Carica un'immagine in un'istanza della classe Image
using (Image image = Image.Load("aspose.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();
    }

    // Trasforma l'immagine nella sua rappresentazione binaria
    rasterCachedImage.BinarizeFixed(100);
    
    // Salva l'immagine
    rasterCachedImage.Save("black and white.jpg");
}

Binarizzazione con soglia Otsu in C#

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 C#.

// Carica un'immagine in un'istanza della classe Image
using (Image image = Image.Load("aspose.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();
    }

    // Trasforma l'immagine nella sua rappresentazione binaria
    rasterCachedImage.BinarizeOtsu();
    
    // Salva l'immagine
    rasterCachedImage.Save("black and white.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 C#. 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 C# utilizzando documentazione. Inoltre, puoi condividere le tue domande con noi tramite il nostro forum.

Guarda anche