Застосування медіанного та фільтра Вінера до зображень у C#

Редагування зображень відіграє важливу роль у різних застосунках, дозволяючи покращувати та маніпулювати зображеннями для подальшої обробки. У наших попередніх блогах ми обговорювали такі теми, як обрізка зображень, обертання зображень та розмиття зображень. Сьогодні ми заглибимося у застосування медіанних та фільтрів Вінера — двох основних технік для зменшення шуму та згладжування зображень. Давайте розглянемо як програмно застосувати медіанні та фільтри Вінера до зображення у C#.

C# API для застосування медіанних та фільтрів Вінера до зображень - Безкоштовне завантаження

Aspose.Imaging для .NET — це потужний API, призначений для реалізації функцій редагування зображень у .NET додатках. Ми будемо використовувати цей API для застосування медіанних та фільтрів Вінера до зображень. Ви можете легко завантажити API або встановити його безпосередньо з NuGet за допомогою наступної команди:

PM> Install-Package Aspose.Imaging

Застосування медіанного фільтра до зображення в C#

Медіанний фільтр — це нелінійна цифрова техніка фільтрації, яка ефективно зменшує шум у зображеннях. Ось як ви можете застосувати медіанний фільтр до зображення в C#:

  1. Завантажте зображення за допомогою методу Image.Load().
  2. Приведіть зображення до типу RasterImage.
  3. Створіть екземпляр класу MedianFilterOptions та ініціалізуйте його з бажаними розмірами прямокутника.
  4. Застосуйте медіанний фільтр за допомогою методу RasterImage.Filter(Rectangle, MedianFilterOptions).
  5. Збережіть отримане зображення за допомогою методу RasterImage.Save().

Ось приклад коду, що демонструє, як застосувати медіанний фільтр до зображення в C#:

Нижче наведено зображення до та після застосування медіанного фільтра:

Застосування медіанного фільтра до зображення C#

Застосування фільтра Гаусса Вінера до зображення в C#

Фільтр Гаусса Вінера — це ще один ефективний метод для мінімізації адитивного шуму та розмиття в зображеннях. Дотримуйтесь цих кроків, щоб застосувати фільтр Гаусса Вінера в C#:

  1. Завантажте зображення за допомогою методу Image.Load().
  2. Приведіть зображення до типу RasterImage.
  3. Створіть екземпляр класу GaussWienerFilterOptions та ініціалізуйте його з бажаними розмірами радіусу та значенням згладжування.
  4. (За бажанням) Для чорно-білого зображення встановіть властивість GaussWienerFilterOptions.Grayscale в true.
  5. Застосуйте фільтр Гаусса Вінера за допомогою методу RasterImage.Filter(Rectangle, GaussWienerFilterOptions).
  6. Збережіть отримане зображення за допомогою методу RasterImage.Save().

Ось приклад коду для застосування фільтра Гаусса Вінера до зображення в C#:

Нижче ви можете побачити зображення до та після застосування фільтра Гаусса Вінера з опцією чорно-білого:

Застосування фільтра Гаусса Вінера до зображення в чорно-білому

А ось зображення до та після застосування фільтра Гаусса Вінера без чорно-білого:

Застосування кольорового фільтра Гаусса Вінера до зображення

Застосування фільтра Вінера руху до зображення в C#

Фільтр Вінера руху спеціально розроблений для усунення розмиття, спричиненого рухомими об’єктами. Ось як застосувати фільтр Вінера руху в C#:

  1. Завантажте зображення за допомогою методу Image.Load().
  2. Приведіть зображення до типу RasterImage.
  3. Створіть екземпляр класу MotionWienerFilterOptions та ініціалізуйте його з довжиною, значенням згладжування та кутом.
  4. Застосуйте фільтр Вінера руху за допомогою методу RasterImage.Filter(Rectangle, MotionWienerFilterOptions).
  5. Збережіть отримане зображення за допомогою методу RasterImage.Save().

Ось приклад коду, що демонструє, як застосувати фільтр Вінера руху до зображення в C#:

Застосування фільтра Вінера руху до зображення в C#

API фільтрування зображень C# медіанним та фільтром Вінера - Отримайте безкоштовну ліцензію

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

Висновок

У цій статті ми дослідили, як застосувати медіанні та фільтри Вінера до зображень у C#. Ми також обговорили методи зменшення шуму від рухомих об’єктів у зображеннях. Ви можете безперешкодно інтегрувати ці функції у свої C# додатки, щоб покращити можливості редагування зображень.

Читайте далі

Щоб дізнатися більше про .NET API обробки зображень, ознайомтеся з документацією. Якщо у вас є запитання, не соромтеся звертатися через наш форум.

Дивіться також