前面所说的空间域图像增强的操作都是在一个邻域内,在灰度变换函数中的邻域为 1 × 1 1 \times 1 1×1。
- 某些邻域处理工作是操作邻域的图像像素值以及相应的与邻域有相同维数的子图像的值。这些子图像可以被称为滤波器、掩模、核、模板或窗口。在滤波器子图像中的值是系数值,而不是像素值。
空间滤波机理
-
空间滤波的机理就是在待处理图像中逐点地移动掩模。在每一点 ( x , y ) (x,y) (x,y)处,滤波器在该点地响应通过事先定义的关系来计算。对于线性空间滤波其响应由滤波器系数与滤波器掩模扫过区域的相应像素值的乘积之和给出。
-
线性滤波处理与频率域中卷积处理的概念很相似,因此,线性空间滤波处理经常被称为“掩模与图像的卷积”。类似地,滤波掩模有时也可以称为“卷积模板”,“卷积核”。
-
非线性空间滤波处理也是基于邻域处理,且掩模滑过一幅图像的机理与刚刚论述的一样,然而,一般说来,滤波处理取决于所考虑的邻域像素点的值,而不能直接用前式中所描述的乘积求和中的系数。
-
当滤波中心靠近图像轮廓时发生的情况:
考虑一个简单的大小为 n × n n \times n n×n的方形掩模,当掩模中心距离图像边缘为 ( n − 1 ) / 2 (n-1)/2 (n−1)/2个像素时,该掩模至少有一条边与图像轮廓相重合。如果掩模的中心继续向图像边缘靠近,那么掩模的行或列就会处于图像平面之外。
方法一:
最简单的方法就是将掩模中心点的移动范围限制在剧里图像边缘不小于
(
n
−
1
)
/
2
(n-1)/2
(n−1)/2个像素处。
如果要保持与原图像一样大小,可以直接将未处理的图像边缘像素直接复制到结果图像。
方法二:
在图像边以外再补上
(
n
−
1
)
/
2
(n-1)/2
(n−1)/2行和
(
n
−
1
)
/
2
(n-1)/2
(n−1)/2列灰度为零的像素点(其灰度也可以为其他常值),或者将边缘复制补在图像之外。
平滑空间滤波器
平滑滤波器用于模糊处理和减小噪声。模糊处理经常用于预处理,例如,在提取大的目标之前去除图像中一些琐碎细节、桥接直接或曲线的缝隙。通过线性滤波器和非线性滤波器的模糊处理可以减小噪声。
平滑线性滤波器
- 平滑线性空间滤波器的输出(响应)是包含在滤波掩模邻域内像素的简单平均值。因此,这些滤波器也称为均值滤波器。
- 平滑滤波器用滤波掩模确定的邻域内像素的平均灰度值去代替图像中每个像素点的值,这种处理减小了图像灰度的“尖锐”变化。由于典型的随机噪声由灰度级的尖锐变化组成。因此,常见的平滑处理应用就是减噪。
- 由于图像边缘(几乎总是一副图像希望有的特性)也是由图像灰度尖锐变化带来的特性,所以均值滤波处理还是存在着不希望的边缘模糊的负面效应。
- 滤波器的大小不一定是正方形,也可以是长方形。
第一个滤波器产生掩模下标准的像素平均值,这从把掩模系数代入前面的线性波公式可清楚地看出: R = 1 9 ∑ i = 1 9 z i R = \frac{1}{9}\sum_{i=1}^9z_i R=91∑i=19zi
第二种掩模叫做加权平均。使用这一术语是指用不同的系数乘以像素,这样,从权重上看,一些像素比另一些更为重要。对于第二种掩模,处于掩模中心位置的像素比其他任何像素的权值都要大。因此,在均值计算中给定的这一像素显得更为重要。而距离掩模中心较远的其他像素就显得不太重要。
把不必要的物体滤掉。
统计排序滤波器
统计滤波器是一种非线性的空间滤波器,它的响应基于图像滤波器包围的图像区域中像素的排序,然后由统计排序结果决定的值代替中心像素的值。统计滤波器中最常见的例子就是中值滤波器。
中值滤波器
中值滤波器是将像素邻域内灰度的中值代替该像素的值。
- 中值滤波器的使用非常普遍,这是因为对于一定类型的随机噪声,它提供了一种优秀的去噪能力,比小尺寸的线性平滑滤波器的模糊程度明显要低。
去噪
模糊边缘
应用
锐化空间滤波器
- 锐化处理的主要目的是突出图像中的细节或者增强被模糊了的细节,这种模糊不是由于错误操作,就是特殊图像获取方法的固有影响。
- 锐化处理可以用空间微分来完成。微分算子的响应强度与图像在该点的突变程度有关。这样一来,图像微分增强了边缘和其他突变(如噪声)并削弱了灰度变化缓慢的区域。
基于二阶微分的图像增强–拉普拉斯算子
首先定义一个二阶微分的离散公式,然后构造一个基于此式的滤波器。我们最关注的是一种各向同性滤波器,这种滤波器的响应与滤波器作用的图像的突变方向无关。
最简单的各向同性微分算子是拉普拉斯算子,一个二元图像函数
f
(
x
,
y
)
f(x,y)
f(x,y)的拉普拉斯变换定义为:
▽
2
f
=
∂
2
f
∂
x
2
+
∂
2
f
∂
y
2
\bigtriangledown ^2f = \frac{\partial ^2 f}{\partial x^2} + \frac{\partial ^2 f}{\partial y^2}
▽2f=∂x2∂2f+∂y2∂2f
为了更适合于数字图像处理,这一方程需要表示为离散形式。
在
x
x
x方向上对二阶偏微分常采用下列定义:
∂ 2 f ∂ x 2 = f ( x + 1 , y ) + f ( x − 1 , y ) − 2 f ( x , y ) \frac{\partial ^2 f}{\partial x^2} = f(x+1,y) + f(x-1,y) - 2f(x,y) ∂x2∂2f=f(x+1,y)+f(x−1,y)−2f(x,y)
类似地在
y
y
y方向上:
∂
2
f
∂
y
2
=
f
(
x
,
y
+
1
)
+
f
(
x
,
y
−
1
)
−
2
f
(
x
,
y
)
\frac{\partial ^2 f}{\partial y^2} = f(x,y+1) + f(x,y-1) - 2f(x,y)
∂y2∂2f=f(x,y+1)+f(x,y−1)−2f(x,y)
二维拉普拉斯数字实现可由这两个分量相加得到:
▽
2
f
=
[
f
(
x
+
1
,
y
)
+
f
(
x
−
1
,
y
)
+
f
(
x
,
y
+
1
)
+
f
(
x
,
y
−
1
)
]
−
4
f
(
x
,
y
)
\bigtriangledown ^2f = [f(x+1,y)+f(x-1,y)+f(x,y+1)+f(x,y-1)]-4f(x,y)
▽2f=[f(x+1,y)+f(x−1,y)+f(x,y+1)+f(x,y−1)]−4f(x,y)
以上四个都是拉普拉斯掩模。
中心为4和-4的掩模处理输出的结果只是符号相反,但是响应的幅度相同。
边缘细节
栗子?:
一副月球北极的照片,用中心为负的拉普拉斯掩模对该图像滤波后的结果。
图二是把计算结果为负的值全部置为零了,削弱了图像灰度比较平坦的区域。
图三是把像素值标定化(针对有负值有正值的情况)。
但是以上两个图像反映细节都不如原图像好。
拉普拉斯是一种微分算子,它的应用强调图像中灰度的突变及降低灰度慢变化的区域。这将产生一幅把图像中的浅灰色边线和突变点叠加到暗背景中的图像。将原始图像和拉普拉斯图像叠加在一起的简单方法可以保护拉普拉斯锐化处理的效果,同时又能复原背景信息。
总结
- 如果中心为负:
g ( x , y ) = f ( x , y ) − ▽ 2 f ( x , y ) g(x,y) = f(x,y) - \bigtriangledown ^2f(x,y) g(x,y)=f(x,y)−▽2f(x,y) - 如果中心为正:
g ( x , y ) = f ( x , y ) + ▽ 2 f ( x , y ) g(x,y) = f(x,y) + \bigtriangledown ^2f(x,y) g(x,y)=f(x,y)+▽2f(x,y)。
在上个例子中,我们首先计算拉普拉斯过滤图像, 然后,从原始图像减掉该图像来实现。在实际运用中,通常用单一掩模的一次扫描来实现。
基于一阶微分的图像增强–梯度法
- 在图像处理中,一阶微分是通过梯度法来实现的。但是由于计算梯度向量的模用到了平方和开方运算,比较麻烦。因此,在实际操作中,4常用绝对值代替平方与平方根运算近似求梯度的模值: ▽ f = ∣ G x ∣ + ∣ G y ∣ \bigtriangledown f = |G_x| + |G_y| ▽f=∣Gx∣+∣Gy∣
Robert提出了使用交叉差分算法:
G
x
=
(
z
9
−
z
5
)
G_x = (z_9 - z_5)
Gx=(z9−z5)和
G
y
=
(
z
8
−
z
6
)
G_y = (z_8 - z_6)
Gy=(z8−z6)
▽ f = ∣ z 9 − z 5 ∣ + ∣ z 8 − z 6 ∣ \bigtriangledown f = |z_9 - z_5| + |z_8 - z_6| ▽f=∣z9−z5∣+∣z8−z6∣
Robert交叉梯度算子:
还有一种掩模算子
栗子?: