Удаление шума с помощью медианного фильтра в C ++

Опубликовано: 21 Марта, 2022

Медианная фильтрация - это нелинейный процесс, полезный для уменьшения импульсивного шума или шума «соль и перец». Медианный фильтр также используется для сохранения свойств краев при уменьшении шума. Кроме того, методы сглаживания, такие как размытие по Гауссу, также используются для уменьшения шума, но не могут сохранить свойства краев. Медианный фильтр широко используется при обработке цифровых изображений только потому, что он сохраняет свойства краев.

Подход :

  • Сохраните значения пикселей входного изображения в массиве.
  • Для каждого значения пикселя сохраните все значение соседнего пикселя, включая эту ячейку, в новом массиве (называемом окном).
  • Отсортируйте массив окон.
  • Медиана массива окон используется для хранения интенсивности пикселей выходного изображения.

Пример пограничных проблем:
Пример 2D-медианной фильтрации с использованием окна выборки 3 x 3:
Расширение значений границ за пределы значений на границе.

Сохранение краев:
Для удаления шума используются все методы сглаживания. Медианный фильтр также является одним из видов техники сглаживания, подобным гауссовскому фильтру, но единственное различие между медианным фильтром и гауссовым фильтром состоит в том, что медианный фильтр сохраняет свойства края, а гауссовский фильтр - нет. Сохранение краев - важное свойство, потому что края важны для внешнего вида. Срединный фильтр для сохранения краев широко используется в цифровой обработке изображений.

Реализация алгоритма медианного фильтра на C ++.

Входное изображение

Выходное изображение

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.

Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.