[Эксперимент по цифровой обработке изображений 3]: средняя фильтрация, медианная фильтрация, гауссова фильтрация и сравнение их применения в изображениях шума соли и перца и гауссовского шума

предисловие

В этой статье представлена ​​кодовая реализация фильтрации средних, медианных и гауссовских фильтров, а также их сравнение эффектов шумоподавления в шуме соли и перца и изображениях гауссовского шума.


1. Средняя фильтрация

Под фильтрацией средних понимается предоставление шаблона целевому пикселю (пикселю с определенной координатой) на изображении.Шаблон включает в себя сам целевой пиксель и окружающие его соседние пиксели, а затем заменяет исходное значение пикселя средним значением всех пикселей. в шаблоне .

Фильтрация среднего значения реализуется с помощью свертки, а обычные размеры ядра свертки составляют 3×3, 5×5, 7×7 и т. д. Ниже приведено ядро ​​свертки 3×3, поскольку среднее значение всех пикселей используется для замены исходное значение пикселей, поэтому можно считать, что каждый вес в шаблоне одинаков, а здесь ядро ​​​​свертки 3 × 3, поэтому все они равны 1/9, Конкретная операция состоит в том, чтобы умножить две матрицы, а затем добавить их .
вставьте сюда описание изображения

код показывает, как показано ниже:

import cv2

# 读图
old_img = cv2.imread("lena.tif")

# 均值滤波
new_img = cv2.blur(old_img, (3, 3))  # 后面的卷积核大小可以自己定义,如(5, 5)

# 结果对比
cv2.imshow("old_img", old_img)
cv2.imshow("new_img", new_img)
cv2.waitKey(0)

Результаты следующие: слева — старое изображение, а справа — новое изображение (изображение после средней фильтрации), и разница будет более очевидной при 5×5.
вставьте сюда описание изображения

2. Медианная фильтрация

Медианный фильтр предназначен для сортировки чисел в пределах покрытия ядра свертки от меньшего к большему, а затем взять медиану для замены значения центральной позиции ядра свертки в исходном изображении.Как показано на рисунке ниже, размер ядра свертки 3×3, а исходное изображение Значение центральной позиции ядра свертки изначально равно 2, и 9 чисел в ядре свертки сортируются, чтобы получить: 2, 5, 6, 7, 16 , 25, 28, 44, 80. Таким образом, 2 в центре заменяется на 16.

Следует отметить, что медианному фильтру нужно только достичь размера ядра свертки, Что касается значения каждой позиции в ядре свертки, его не обязательно знать, например, ядро ​​свертки 3 × 3. При переходе к некая координата исходного изображения, только надо отсортировать числа в диапазоне 3х3 по центру на ней, а потом взять медиану.
вставьте сюда описание изображения
код показывает, как показано ниже:

import cv2

# 读图
old_img = cv2.imread("lena.tif")

# 中值滤波
medianBlur_img = cv2.medianBlur(old_img, 3)

cv2.imshow("old_img", old_img)
cv2.imshow("medianBlur_img", medianBlur_img)
cv2.waitKey(0)

вставьте сюда описание изображения

3. Гауссова фильтрация

Чтобы преодолеть недостатки метода простого локального среднего (размытие изображения), было предложено множество алгоритмов локального сглаживания, сохраняющих края и детали. Все их отправные точки сосредоточены на том, как выбрать размер, форму и направление района, параметры плюс среднее значение и весовые коэффициенты каждого магазина в районе.

Сглаживание изображения по Гауссу также является методом сглаживания изображений, основанным на идее усреднения по соседству.При сглаживании изображения по Гауссу при усреднении изображений пикселям в разных положениях присваиваются разные веса. Сглаживание по Гауссу отличается от простого сглаживания тем, что при усреднении пикселей по соседству оно присваивает пикселям в разных позициях разные веса.Шаблоны Гаусса в полях 3×3 и 5×5 показаны на рисунке ниже. Среди них 16 потому, что все числа в ядре свертки 3 × 3 в сумме дают 16, а 273 одинаковы.
вставьте сюда описание изображения
Код выглядит следующим образом:

import cv2

# 读图
old_img = cv2.imread("lena.tif")

# 高斯滤波
GaussianBlur_img = cv2.GaussianBlur(old_img, (3,3), 0) # 第一个参数:原图像;第二个参数:卷积核大小;第三个参数:X方向上的高斯核标准偏差。

# 显示
cv2.imshow("old_img", old_img)
cv2.imshow("GaussianBlur_img", GaussianBlur_img)
cv2.waitKey(0)

вставьте сюда описание изображения

4. Сравнение эффекта удаления соли и перца

Изображение шума соли и перца выглядит следующим образом:
вставьте сюда описание изображения
Эффекты трех фильтров следующие, слева направо: средний фильтр, медианный фильтр и фильтр Гаусса. Таким образом ,
вставьте сюда описание изображения
для шума соли и перца медианный фильтр является хорошим выбором.

5. Сравнение эффекта от удаления гауссова шума

Изображение шума Гаусса выглядит следующим образом:
вставьте сюда описание изображения
Три эффекта фильтра следующие слева направо: средний фильтр, медианный фильтр и фильтр Гаусса.
вставьте сюда описание изображения
Я пошел, но только немного, и эффект чувствуется подобным .

жду критики


Supongo que te gusta

Origin blog.csdn.net/weixin_45887062/article/details/125645977
Recomendado
Clasificación