konversi gambar ke skala abu-abu C#

Dalam berbagai kasus, Anda mungkin perlu mengonversi gambar berwarna menjadi skala abu-abu atau hitam putih, seperti dalam pemrosesan gambar, dll. Oleh karena itu, dalam artikel ini, Anda akan mempelajari cara mengonversi gambar menjadi skala abu-abu di C#. Selanjutnya, artikel ini akan membahas penskalaan abu-abu dan binarisasi gambar secara eksplisit.

C# API untuk Mengonversi Gambar ke Skala Abu-abu - Unduhan Gratis

Untuk mengonversi gambar warna RGB ke skala abu-abu, kami akan menggunakan Aspose.Imaging for .NET. Ini adalah API pemrosesan gambar yang kuat yang memungkinkan Anda memanipulasi format gambar populer dengan mulus. Anda dapat mengunduh API atau menginstalnya menggunakan NuGet.

PM> Install-Package Aspose.Imaging

Mengonversi Gambar ke Skala Abu-abu di C#

Berikut ini adalah langkah-langkah untuk mengonversi gambar berwarna menjadi skala abu-abu di C#.

Contoh kode berikut menunjukkan cara mengonversi gambar menjadi skala abu-abu menggunakan C#.

// Muat gambar dalam instance kelas Gambar
using (Image image = Image.Load("aspose.jpg"))
{
    // Keluarkan gambar ke RasterCachedImage dan periksa apakah gambar di-cache
    RasterCachedImage rasterCachedImage = (RasterCachedImage)image;
    if (!rasterCachedImage.IsCached)
    {
        // Gambar cache jika belum di-cache
        rasterCachedImage.CacheData();
    }

    // Ubah gambar menjadi representasi skala abu-abunya
    rasterCachedImage.Grayscale();
    
    // Simpan gambar
    rasterCachedImage.Save("grayscaled.jpg");
}

Masukan Gambar

Berikut ini adalah contoh gambar yang digunakan dalam artikel ini.

gambar ke skala abu-abu C#

Dikonversi ke Grayscale

Berikut adalah gambar setelah dikonversi ke grayscale.

gambar skala abu-abu

Gambar Grayscale dalam C# - Hitam dan Putih dengan Binarisasi

Dalam binerisasi, setiap piksel dalam gambar hanya dapat memiliki dua kemungkinan nilai; 0 atau 1. Di sini, 0 menunjukkan ketidakhadiran dan 1 menunjukkan adanya warna. Aspose.Imaging mendukung dua metode binarisasi yaitu binarisasi dengan fixed dan binarisasi dengan threshold Otsu.

Binarisasi dengan Ambang Batas Tetap di C#

Berikut adalah langkah-langkah untuk melakukan binarisasi pada citra dengan menggunakan fixed threshold.

Kode C# berikut menerapkan binarisasi ke gambar dan mengubahnya menjadi hitam putih.

// Muat gambar dalam instance kelas Gambar
using (Image image = Image.Load("aspose.jpg"))
{
    // Keluarkan gambar ke RasterCachedImage dan periksa apakah gambar di-cache
    RasterCachedImage rasterCachedImage = (RasterCachedImage)image;
    if (!rasterCachedImage.IsCached)
    {
        // Gambar cache jika belum di-cache
        rasterCachedImage.CacheData();
    }

    // Ubah gambar menjadi representasi binernya
    rasterCachedImage.BinarizeFixed(100);
    
    // Simpan gambar
    rasterCachedImage.Save("black and white.jpg");
}

Binarisasi C# dengan Otsu Threshold

Berikut langkah-langkah mengubah gambar menjadi hitam putih dengan threshold Otsu.

Contoh kode berikut menunjukkan cara mengonversi gambar menjadi hitam putih dengan Otsu threshold menggunakan C#.

// Muat gambar dalam instance kelas Gambar
using (Image image = Image.Load("aspose.jpg"))
{
    // Keluarkan gambar ke RasterCachedImage dan periksa apakah gambar di-cache
    RasterCachedImage rasterCachedImage = (RasterCachedImage)image;
    if (!rasterCachedImage.IsCached)
    {
        // Gambar cache jika belum di-cache
        rasterCachedImage.CacheData();
    }

    // Ubah gambar menjadi representasi binernya
    rasterCachedImage.BinarizeOtsu();
    
    // Simpan gambar
    rasterCachedImage.Save("black and white.jpg");
}

C# Image to Grayscale Converter - Dapatkan Lisensi Gratis

Anda bisa mendapatkan lisensi sementara gratis untuk menggunakan API tanpa batasan evaluasi.

Kesimpulan

Pada artikel ini, Anda telah mempelajari cara mengonversi gambar menjadi skala abu-abu dan hitam putih menggunakan C#. Selain itu, Anda telah melihat cara menerapkan binarisasi ke gambar dengan ambang batas tetap atau Otsu. Selanjutnya, Anda dapat mempelajari lebih lanjut tentang C# image processing API menggunakan dokumentasi. Selain itu, Anda dapat membagikan pertanyaan Anda kepada kami melalui forum kami.

Lihat juga