返回

图像滤波

Image Filtering - 均值、高斯、中值与边窗滤波的统一入口
第二章 / 图像预处理
参数面板

选择滤波方法、噪声类型和参数;每次只解释当前窗口如何被均值、高斯、中值或边窗策略写成一个输出像素。

空域滤波

空间域滤波利用像素邻域重新估计当前像素值,用于抑制噪声和平滑图像。 不同滤波方法的差异在于窗口如何取值和合成输出。

窗口大小: 3×3 = 9 个邻域像素

边界处邻域超出图像范围时,采用最近像素复制(clamp)填充,保证窗口大小不变。

3
线性平滑

均值滤波对所有邻域像素等权平均。窗口越大,噪声抑制越强,但边缘和细节损失也越大。

窗口定位辅助操作
用方向键或下方 4 个按钮移动当前窗口;也可以直接点击原图或结果图跳转。
当前像素 (0, 0)1 / 4096
方向
概念说明

空间域滤波的共同思想

空间滤波通过邻域信息抑制噪声,但也可能损失边缘。图源:scikit-image denoise 示例
任务

当图像里出现噪声点或细碎纹理干扰后续处理时,直接用单个像素的灰度值不可靠,需要借助周围像素重新估计中心像素的值。

思路

常用的处理办法是用一个小窗口罩住中心像素,再把窗口里的像素按某种规则合并成一个新值:可以简单取平均值,可以按离中心远近加权(高斯加权),可以排序后取中间值去掉极端点,也可以在跨越边缘时使用边窗滤波只保留贴近边缘一侧的像素。

观察

拖动窗口到平坦区域、边缘和噪声点旁边,切换均值/高斯/中值/边窗滤波,比较中心像素的变化;注意边缘处哪种方法能让边界保持清晰,噪声处哪种方法去噪更干净。

方向键移动 / 点击原图或结果图跳转当前结果像素 (0, 0)
1 / 4096
原图64×64
红点=当前中心像素;下方展开 3×3 窗口
滤波处理
1 / 4096
结果64×64
绿框=当前输出像素
输入窗口放大1-3 行 / 第 1-3
放大 3×3 邻域
窗口摘要3×3
当前窗口共 9 个像素,完整数值在下方矩阵区查看。
中心位置
1 行,第 1
中心像素
0.46
权重矩阵逐格对齐
0.11
0.11
0.11
0.11
0.11
0.11
0.11
0.11
0.11
加权计算9
输入与权重逐项相乘,再对全部乘积求和得到输出值。
0.46 × 0.11 = 0.05
写回结果图1 行 / 第 1
对应右侧大图绿框
结果图第 1 行,第 1
坐标 (0,0)
求和/平均结果
0.48
全部 9 项乘积的和写到这个位置。
均值滤波 - 当前输出像素表达式

位置 (0,0) 的滤波输出值

当前输出值 0.48
g(0,0) = 1M (i,j)S f(x+i,y+j) = 0.48

均值滤波对邻域内所有像素取等权平均,能抑制噪声但会削弱边缘和细节。

公式在当前步骤中的具体代入

下面展示输入邻域、权重矩阵与加权计算和输出结果。

9 个邻域像素
输入邻域
原图第 1-3 行 / 第 1-3 列(边界处按最近像素复制 clamp 填充)
0.46
0.46
0.53
0.46
0.46
0.53
0.46
0.46
0.53
均值权重
与输入邻域逐格对齐
0.11
0.11
0.11
0.11
0.11
0.11
0.11
0.11
0.11
加权结果
逐格乘积
0.46 × 0.11 = 0.05 0.05
0.46 × 0.11 = 0.05 0.05
0.53 × 0.11 = 0.06 0.06
0.46 × 0.11 = 0.05 0.05
0.46 × 0.11 = 0.05 0.05
0.53 × 0.11 = 0.06 0.06
0.46 × 0.11 = 0.05 0.05
0.46 × 0.11 = 0.05 0.05
0.53 × 0.11 = 0.06 0.06
输出结果
位置 (0,0)
均值输出
0.48
全部邻域像素求平均值后写入结果图第 1 行、第 1 列。
均值滤波特点
优点

实现简单,计算速度快,能有效抑制高斯噪声。

缺点

所有像素等权参与,会削弱边缘和细节,窗口越大越明显。