Вот несколько уроков о методах шумоподавления изображений, доступных в opencv.
Размытие шума
Основное c применяет размывание для усреднения случайного шума. Это отрицательно скажется на том, что края изображения будут не такими резкими, как изначально. В зависимости от вашего приложения, это может быть хорошо. В зависимости от количества шума, вы можете изменить размер фильтра k
. Чем больше значение, тем более размытое изображение с меньшим шумом.
k = 5
filtered_image = cv.blur(img,(k,k))
Усовершенствованное удаление шума
В качестве альтернативы, вы можете использовать более продвинутые методы, такие как Удаление нелокальных средств, Это применяет усреднение по аналогичным патчам на изображении. У этого метода есть еще несколько параметров для настройки на ваше конкретное приложение c, о котором вы можете прочитать здесь . (Существуют разные версии этой функции для полутоновых и цветных изображений, а также для последовательностей изображений).
luminosity_filter_strength = 10
colour_filter_strength = 10
template_window_size = 7
search_window_size = 21
filtered_image = cv.fastNlMeansDenoisingColored(img,
luminosity_filter_strength,
colour_filter_strength,
template_window_size,
search_window_size)