Теория и практика компьютерной графики. Урок 7. Шумоподавление |
Автор megabax | ||
11.05.2023 г. | ||
Теория и практика компьютерной графики. Урок 7. ШумоподавлениеЧтобы смотреть урок полностью, подпишитесь на платный раздел. В платном разделе статья находится здесь. В данном уроке мы напишем на C# программу, которая удаляет из картинки шум типа "соль и перец". Шум, называемый "соль и перец" - это черные или белые точки на изображении, иногда цветные, вот например: Для удаления данного вида шума применятся так называемая медианная фильтрация, суть которой состоит в том, что мы каждую точку заменяем неким средним из ее окружения, вот исходный код данного алгоритма: В данной программе используются классы из исходников прошлого урока, и сама программа для тестирования также встраивается в эти исходники:
... ... ...
Итак, смотрим, на результат работы алгоритма шумоподавления:
Как видим, программа хорошо убирает шум с неоднородных участков, но вот те черные и белые точки, что находятся на небе, он убрать не смог. Это, еще, рпавда, полбеды. Изображение стало очень нерезким. Как исправить? Можно попробовать применить фильтр четкости. Для этого напишем процедуру ...
... ... ...
Вот результат последовательного применения обоих фильтров:
Как видим, изображение стало более четким, ушла размытость, практически весь шум исчез. Но появились некоторые искажения: в частности, ореол вокруг некоторых объектов и рваные края. Вот другой вариант медианного фильтра....
... ... ...
Результат куда лучше, причем, даже без применения фильтра повышения четкости (он не размывает!):
Правда, в некоторых местах у нас все равно получаются рваные края. Вариантом решения данных проблем может быть применение различных алгоритмов шумоподавления для разных участков картины. В будущих уроках мы еще вернемся к этим методам.
|
||
Последнее обновление ( 10.08.2023 г. ) |
« След. | Пред. » |
---|