四. 图像空间域平滑算法
四. 图像空间域平滑算法
4.1 概述
简单来说:就是使用卷积核进行卷积的过程。关键在于卷积核的选取和图像边界的处理。
包括:
- 线性滤波器:
- 均值滤波器
- 高斯滤波器
- 非线性滤波器:
- 最大值滤波器
- 最小值滤波器
- 中值滤波器
- 高斯滤波器
数学意义:
通过积分使得图像边缘模糊。由傅里叶变化可知,任何具有周期的函数可以变换为n个不同振幅(A)、频率()、相位()的正弦、余弦函数的和。通过积分,T越小,积分后该项函数的振幅越小,对函数的影响就越小,从而达到去除某些急速变换的信号的目的,也就达到的平滑的效果。上述结论对于周期趋于无穷的函数同样适用,具体原理和公式推导将会在”傅里叶变换部分“再详细探讨。
作用:
- 降噪:在对大目标提取前先删除图像中的琐碎细节。
- 模糊化:因为典型的噪声是由灰度急剧变化造成的,例如椒盐噪声,可以使用中值滤波器,良好的去除噪声。
4.2 均值滤波器
思路:使用领域内各个像素的灰度平均值来代替像素原来的值。
EG:
假设现有图像如下:
现在取核,尺寸为3,进行均值滤波:
解答如下:
对于非边界像素:遍历图像,对图像进行卷积操作,以[1,1]为例:
对于边界像素,常见的有两种操作:
- 只处理边界范围内的,意思是像[0,0],[1,0],[0,1],[0,2]这样的边界像素点不管了,这样得到的图像会比原来的小。
- 对原图像进行填充,使得原图像部分不会出现无法滤波的边界像素。这又分为两种情况:
- 用0填充。不推荐,因为会导致边界滤波后像素值偏小,可能会出现黑边现象。
- 拷贝原有边界值进行填充,四个角直接取原本四个角的值。这样就可以有效避免黑边现象。
一些常见滤波模板:
不用的核,对应的中心点或邻域的重要性不同。
优缺点:
- 优点:可减少图像的尖锐变化,减少噪声。
- 缺点:会产生模糊,特别在边缘和细节处。而且邻域越大去噪能力越强,但图像会越模糊。
4.3 阈值平滑法
为了克服简单邻域平均法的缺点,目前已提出许多保边缘、 细节的邻域平滑算法。出发点都集中在如何选择邻域的大小、形状和方向、参加平均的点数以及邻域各点的权重系数等。阈值平滑法就是其中的一种。
公式:假设为平滑后的图像,为平滑前的图像,那么有:
其中,为图像f(x,y)的均方差。
优缺:
- 优点:对于克服椒盐噪声比较有效,对保护仅有微小灰度差的细节及纹理也有效。
- 缺点:邻域越大去噪能力越强,但图像依然会越模糊
4.4 非线性滤波器
4.4.1 中值滤波器
思路:
因为图片噪声往往都是灰度突变造成的,典型的例如椒盐噪声,因此如果以某像素为中心,取一个窗口(内含元素必须是奇数,这是为了便于取中值),对窗口内所有像素按灰度值进行排序,如果窗口内含有噪声像素,那么噪声像素大概率在两边,所以我们取中值代替原来窗口的中心像素的灰度值。
EG:
现有图像如下:
我们选取3*3的正方形窗口,以[1,1]为中心进行中值滤波:
解答如下:
先排序:
再选取中值替换中心像素,即把255替换为2。
窗口选取:
-
大小:中值滤波器的关键在于选取大小适合的窗口,但一般很事先确定,一般都是从小到达尝试出来的。
-
形状:不同的窗口形状也会产生不同的效果。一般来说:
-
方形或圆形窗口适宜于外轮廓线较长的物体图像。
-
十字形窗口对有丰富尖顶角状的图像效果较好。
-
需要保持细线状及尖顶角目标物 细节时,最好不要采用中值滤波。
-
一些典型的窗口:

重要特性:
- 对离散阶跃信号和斜升(或斜降)信号不产生影响。
- 连续个数小于窗口一半宽度的离散脉冲将被滤除。
- 三角形信号的顶部被削平。
优缺点:
- 优点:它对脉冲干扰及椒盐噪声的抑制效果好,在抑制随机噪声 的同时能有效保护边缘少受模糊
- 缺点:对点、线等细节较多的图片并不适合。
4.4.2 最大/小值滤波器
顾名思义,相较于中值滤波器,使用像素邻域内的最大/小值代替该像素。具体应用场景暂时不清楚。
- 最大值滤波器:对于椒噪声(灰度值为0)的过滤有较好的效果。
- 最小值滤波器:对于盐噪声(灰度值为255)的过滤有较好的效果。
4.5 高斯滤波器
思想概述:高斯滤波器也是一种线性滤波器,与一般均值滤波器不同点在于其核的灰度值由由高斯分布来计算,最后累加求平均。
公式:
假设现有核大小为,那么核中各个像素的灰度值为:
其中的为高斯核标准差,并不是计算出来的,而是根据需求手动指定,类似于机器学习中的超参数。性质也符合高斯分布:
- 越大:核的数据分布就越分散,各部分所占比重也就越平均。
- 越小:核的数据就越向中间集中,中心像素所占比重就越大。
模板形式:
- 小数形式:就是对公式(2)得出的结果不加进一步处理而直接使用。
- 整数形式:进行归一化处理,将左上角的灰度值转换为1,其余灰度值套用同等函数进行缩放,最后向下取整。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!