конвертувати зображення в градації сірого C#

У різних випадках вам може знадобитися перетворити кольорові зображення на градації сірого або чорно-білі, наприклад під час обробки зображень тощо. Тому в цій статті ви дізнаєтеся, як перетворити зображення на градації сірого в C#. Крім того, у статті буде чітко розглянуто градації сірого та бінаризацію зображень.

C# Image to Grayscale Converter – Безкоштовне завантаження

Щоб перетворити кольорові зображення RGB на градації сірого, ми використаємо Aspose.Imaging for .NET. Це потужний API для обробки зображень, який дозволяє легко маніпулювати популярними форматами зображень. Ви можете завантажити API або встановити його за допомогою NuGet.

PM> Install-Package Aspose.Imaging

Перетворення зображення на відтінки сірого в C#

Нижче наведено кроки для перетворення кольорового зображення на градації сірого в C#.

  • Спочатку завантажте зображення за допомогою класу Image.
  • Переведіть зображення в об’єкт RasterCachedImage.
  • Кешуйте зображення за допомогою методу RasterCachedImage.CacheData().
  • Перетворіть зображення на градації сірого за допомогою методу RasterCachedImage.Grayscale().
  • Нарешті, збережіть зображення за допомогою методу RasterCachedImage.Save(String).

У наведеному нижче прикладі коду показано, як перетворити зображення на відтінки сірого за допомогою C#.

// Завантажте зображення в екземпляр класу Image
using (Image image = Image.Load("aspose.jpg"))
{
    // Передайте зображення в RasterCachedImage і перевірте, чи зображення кешується
    RasterCachedImage rasterCachedImage = (RasterCachedImage)image;
    if (!rasterCachedImage.IsCached)
    {
        // Кешувати зображення, якщо воно ще не збережено
        rasterCachedImage.CacheData();
    }

    // Перетворіть зображення на його відтінки сірого
    rasterCachedImage.Grayscale();
    
    // Збережіть зображення
    rasterCachedImage.Save("grayscaled.jpg");
}

Вхідне зображення

Нижче наведено приклад зображення, використаного в цій статті.

зображення в градації сірого C#

Перетворено на градації сірого

Нижче наведено зображення після перетворення в градації сірого.

сіре зображення

Збережіть зображення як градації сірого в C# - чорно-біле з бінаризацією

У бінаризації кожен піксель зображення може мати лише два можливих значення; 0 або 1. Тут 0 означає відсутність, а 1 означає наявність кольору. Aspose.Imaging підтримує два методи бінаризації, тобто бінаризацію з фіксованим значенням і бінаризацію з порогом Оцу.

Бінаризація з фіксованим порогом у C#

Нижче наведено кроки для виконання бінаризації зображення з використанням фіксованого порогу.

Наступний код C# застосовує бінаризацію до зображення та перетворює його на чорно-біле.

// Завантажте зображення в екземпляр класу Image
using (Image image = Image.Load("aspose.jpg"))
{
    // Передайте зображення в RasterCachedImage і перевірте, чи зображення кешується
    RasterCachedImage rasterCachedImage = (RasterCachedImage)image;
    if (!rasterCachedImage.IsCached)
    {
        // Кешувати зображення, якщо воно ще не збережено
        rasterCachedImage.CacheData();
    }

    // Перетворення зображення в його двійкове представлення
    rasterCachedImage.BinarizeFixed(100);
    
    // Збережіть зображення
    rasterCachedImage.Save("black and white.jpg");
}

Бінаризація з порогом Оцу

Нижче наведено кроки для перетворення зображення на чорно-біле з порогом Оцу.

У наведеному нижче прикладі коду показано, як перетворити зображення на чорно-біле з порогом Otsu за допомогою C#.

// Завантажте зображення в екземпляр класу Image
using (Image image = Image.Load("aspose.jpg"))
{
    // Передайте зображення в RasterCachedImage і перевірте, чи зображення кешується
    RasterCachedImage rasterCachedImage = (RasterCachedImage)image;
    if (!rasterCachedImage.IsCached)
    {
        // Кешувати зображення, якщо воно ще не збережено
        rasterCachedImage.CacheData();
    }

    // Перетворення зображення в його двійкове представлення
    rasterCachedImage.BinarizeOtsu();
    
    // Збережіть зображення
    rasterCachedImage.Save("black and white.jpg");
}

C# перетворює зображення на відтінки сірого за допомогою безкоштовної ліцензії

Ви можете отримати безкоштовну тимчасову ліцензію і конвертувати зображення в градації сірого без обмежень оцінки.

Висновок

У цій статті ви дізналися, як перетворити зображення в градації сірого та чорно-біле за допомогою C#. Крім того, ви бачили, як застосувати бінаризацію до зображень із фіксованими порогами або порогами Оцу. Крім того, ви можете дізнатися більше про API обробки зображень C# за допомогою документації. Крім того, ви можете поділитися своїми запитами з нами через наш форум.

Дивись також