У різних випадках вам може знадобитися перетворити кольорові зображення на градації сірого або чорно-білі, наприклад під час обробки зображень тощо. Тому в цій статті ви дізнаєтеся, як перетворити зображення на градації сірого в C#. Крім того, у статті буде чітко розглянуто градації сірого та бінаризацію зображень.
- C# API для перетворення зображення в градації сірого
- Перетворення зображення на градації сірого в C#
- Перетворення зображення на чорно-біле за допомогою бінаризації
- Отримайте безкоштовну ліцензію API
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# - чорно-біле з бінаризацією
У бінаризації кожен піксель зображення може мати лише два можливих значення; 0 або 1. Тут 0 означає відсутність, а 1 означає наявність кольору. Aspose.Imaging підтримує два методи бінаризації, тобто бінаризацію з фіксованим значенням і бінаризацію з порогом Оцу.
Бінаризація з фіксованим порогом у C#
Нижче наведено кроки для виконання бінаризації зображення з використанням фіксованого порогу.
- Спочатку завантажте зображення за допомогою класу Image.
- Переведіть зображення в об’єкт RasterCachedImage.
- Кешуйте зображення за допомогою методу RasterCachedImage.CacheData().
- Перетворіть зображення на чорно-біле за допомогою методу RasterCachedImage.BinarizeFixed().
- Нарешті, збережіть зображення за допомогою методу RasterCachedImage.Save(String).
Наступний код 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");
}
Бінаризація з порогом Оцу
Нижче наведено кроки для перетворення зображення на чорно-біле з порогом Оцу.
- Спочатку завантажте зображення за допомогою класу Image.
- Переведіть зображення в об’єкт RasterCachedImage.
- Кешуйте зображення за допомогою методу RasterCachedImage.CacheData().
- Перетворіть зображення на чорно-біле за допомогою методу RasterCachedImage.BinarizeOtsu().
- Нарешті, збережіть зображення за допомогою методу RasterCachedImage.Save(String).
У наведеному нижче прикладі коду показано, як перетворити зображення на чорно-біле з порогом 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# за допомогою документації. Крім того, ви можете поділитися своїми запитами з нами через наш форум.