中值滤波是一种典型的非线性滤波技术,基本思想是用像素点邻域灰度值的中值来代替该像素点的灰度值。
中值滤波对椒盐噪声来说尤其有用,因为它不依赖于邻域内那些与典型值差别很大的值。
中值滤波用途:去除椒盐噪声
cv.medianBlur(src, ksize )
- src:输入图像
- ksize:卷积核的大小
import cv2 as cv
from matplotlib import pyplot as plt
# 1 图像读取
img = cv.imread('./1.jpg') # 读取带有椒盐噪声的图片
# 2 中值滤波
blur = cv.medianBlur(img, 5)
# 3 图像展示
plt.figure(figsize=(10, 8), dpi=100)
plt.subplot(121),
plt.imshow(img[:, :, ::-1]),
plt.title('原图')
plt.xticks([]),
plt.yticks([])
plt.subplot(122),
plt.imshow(blur[:, :, ::-1]),
plt.title('中值滤波后结果')
plt.xticks([]), plt.yticks([])
plt.show()