OpenCV 中值滤波(Median Filtering)1. 基础概念

1. 基础概念

中值滤波 是一种 非线性滤波 方法,常用于去除 椒盐噪声(Salt-and-Pepper Noise)

  • 原理:用卷积核覆盖图像区域,将该区域内所有像素值按大小排序,取 中间值 作为中心像素的新值。

  • 特点:

    • 对边缘保护较好(相比均值滤波不容易模糊边缘)。

    • 对椒盐噪声有很好的抑制效果。


2. 工作原理

假设 3×3 核内像素值如下(灰度图):



10  200  15
180 255  5
35  20   100

  • 排序后:

5, 10, 15, 20, 35, 100, 180, 200, 255

  • 中值(第 5 个数):35

  • 中心像素(255)被替换成 35,去除了极端值的影响。


3. OpenCV 用法

语法

cv2.medianBlur(src, ksize)

参数说明:

  • src:输入图像(必须是单通道或三通道 8 位图像)。

  • ksize:卷积核大小(必须是 奇数且大于 1,如 3、5、7)。


4. 示例代码



import cv2

# 读取图像
img = cv2.imread("salt_pepper.jpg")  # 这里建议用一张带椒盐噪声的图

# 中值滤波
median = cv2.medianBlur(img, 5)  # 5×5 核

cv2.imshow("Original", img)
cv2.imshow("Median Blur", median)
cv2.waitKey(0)
cv2.destroyAllWindows()


5. 参数调节建议

核大小效果场景
3轻微去噪噪声较少
5中等去噪一般椒盐噪声
7 及以上强去噪,可能模糊细节噪声较多

6. 对比

滤波方法去椒盐噪声效果边缘保留能力是否线性
均值滤波一般较差线性
高斯滤波较好较好线性
中值滤波很好非线性

7. 练习任务

  1. 使用 ksize=3, 5, 7 比较中值滤波效果。

  2. 在一张干净的图片上添加椒盐噪声,然后用中值滤波去除。

  3. 对比均值、高斯、中值滤波在同一张带椒盐噪声的图上的效果。


重点记忆

  • 中值滤波是 非线性 滤波。

  • 椒盐噪声 效果最好。

  • 核大小必须是 奇数且 > 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值