灰度变换与空间滤波
一、背景知识
空间域:简单的包含图像像素的平面,直接在图像像素上操作
频率域:在图像的傅里叶变换上执行,不针对图像本身
邻域:中心在(x,y)的矩阵,尺寸比图像小得多
空间域处理可以由下式表示,f(x,y)为输入图像,g(x,y)为处理后图像:
g
(
x
,
y
)
=
T
[
f
(
x
,
y
)
]
g(x,y)=T[f(x,y)]
g(x,y)=T[f(x,y)]
邻域和预定义的操作一起称为空间滤波器。
对比度拉伸:低于k的r值被变换函数压缩在一个较窄的范围s里面,接近黑色,高于k值的相反。
图像增强由灰度变化和空间滤波两种。结果仅取决于一个点的方法叫做点处理技术。
二、灰度变换函数
图像增强的三类基本函数:线性函数(反转和恒等变换)、对数函数(对数和反对数函数变换)和幂律函数(n次幂和n次根变换),如下所示:
图像反转如下式:
s
=
L
−
1
−
r
s=L-1-r
s=L−1−r
适用于增强嵌入在一幅图像的暗区域中的白色或者灰色细节,特别是当黑色面积在尺寸上占主导时。
对数变换如下式:
s
=
c
l
o
g
(
1
+
r
)
s=clog(1+r)
s=clog(1+r)
用于扩展图像中的暗像素的值,同时压缩更高灰度级的值。
幂律变换如下式:
s
=
c
r
γ
也可写为
s
=
c
(
r
+
ε
)
γ
s=cr^γ也可写为s=c(r+ε)^γ
s=crγ也可写为s=c(r+ε)γ
ε为偏移值,通常忽略不计。γ如下所示:
校正幂律响应现象的处理叫做伽马校正,还可以使用在对比度操作。
分段线性变化函数的主要优点是其形式时可以任意复杂的,缺点是它的技术说明要求用户输入。其有
对比度拉伸变换:扩展图像灰度级动态范围的处理,可以跨越记录介质和显示装置的全部灰度范围
灰度级分层:为两种方法的变形。一种为将感兴趣范围内的所有灰度值显示为一个值,其他灰度值显示为另一个值,将产生一幅二值图像;第二种是将感兴趣范围内的灰度变亮(或变暗),保持其他灰度值不变。
比特平面分层:把一个图像分解为比特平面,分析图像中每个比特的相对重要性,因为像素是由比特组成的数字。
三、直方图处理
灰度值范围为 [ 0 , L − 1 ] [0,L-1] [0,L−1]的数字图像的直方图是离散函数 h ( r k ) = n k h(r_k)=n_k h(rk)=nk, r k r_k rk是第k级灰度值, n k n_k nk是灰度为 r k r_k rk的像素个数。采用乘积MN表示的图像像素的总数除它的每个分量来归一化直方图。它是多种空间域处理技术的基础。
分为全局性的直方图处理方法和局部的直方图处理方法。全局性的处理方法就是基于整幅图像的灰度分布的变换函数修改,有直方图均衡和直方图匹配;局部直方图处理就是以图像中每个像素的邻域中的灰度分布为基础设计变换函数。
1.直方图均衡
直方图均衡或直方图线性变换
假设r(待处理图像灰度)的取值区间为
[
0
,
L
−
1
]
[0,L-1]
[0,L−1],则有如下变化形式:
s
=
T
(
r
)
,
0
≤
r
≤
L
−
1
s=T(r),0≤r≤L-1
s=T(r),0≤r≤L−1
此外还存在反映射如下式:
r
=
T
−
1
(
s
)
,
0
≤
s
≤
L
−
1
r=T^{-1}(s),0≤s≤L-1
r=T−1(s),0≤s≤L−1
为了保证输入灰度值不少于相应的输入值,有了条件(1);为了保证输入灰度与输出灰度范围相同,有了条件(2);为了保证s到r的反映射是一对一的有了条件(3)。如下:
1.
T
(
r
)
T(r)
T(r)在区间
0
≤
r
≤
L
−
1
0≤r≤L-1
0≤r≤L−1为单调递增函数
2.当
0
≤
r
≤
L
−
1
0≤r≤L-1
0≤r≤L−1时
0
≤
T
(
r
)
≤
L
−
1
0≤T(r)≤L-1
0≤T(r)≤L−1
3.
T
(
r
)
T(r)
T(r)在区间
0
≤
r
≤
L
−
1
0≤r≤L-1
0≤r≤L−1为严格单调递增函数
概率密度函数(PDF)是随机变量的基本描绘子,一幅图像的灰度值可以看作是
[
0
,
L
−
1
]
[0,L-1]
[0,L−1]内的随机变量。假设
p
r
(
r
)
p_r(r)
pr(r)和
p
s
(
s
)
p_s(s)
ps(s)为随机变量r和s的概率密度函数,则一个重要的变换函数为:
s
=
T
(
r
)
=
(
L
−
1
)
∫
0
r
p
r
(
w
)
d
w
s=T(r)=(L-1)\int_0^r {p_r(w)} \,{\rm d}w
s=T(r)=(L−1)∫0rpr(w)dw
右边为r的累积分布函数(CDF)
2.直方图匹配(规定化)
直方图匹配或直方图规定化是指产生处理后有特殊直方图的方法。
假设
p
r
(
r
)
p_r(r)
pr(r)和
p
z
(
z
)
p_z(z)
pz(z)为连续随机变量r和s的连续概率密度函数,r表示输入图像的灰度级,z表示输出图像的灰度级。
p
z
(
z
)
p_z(z)
pz(z)是希望输出图像所具有的指定概率密度函数。
寻找
T
(
r
)
T(r)
T(r)和
G
−
1
G^{-1}
G−1比较困难,离散形式的直方图均衡变换有下式:
s
k
=
T
(
r
k
)
=
(
L
−
1
)
∑
j
=
0
k
p
r
(
r
j
)
=
(
L
−
1
)
M
N
∑
j
=
0
k
n
j
s_k=T(r_k)=(L-1)\sum_{j=0}^k p_r(r_j)=\frac{(L-1)}{MN}\sum_{j=0}^k n_j
sk=T(rk)=(L−1)j=0∑kpr(rj)=MN(L−1)j=0∑knj
变换函数G为: G ( z q ) = ( L − 1 ) ∑ i = 0 q p z ( z i ) G(z_q)=(L-1)\sum_{i=0}^q p_z(z_i) G(zq)=(L−1)∑i=0qpz(zi)
3.在图像增强中使用
反差是图像对比度的度量,均差是平均灰度的度量。
灰度反差的表达式为:
μ
2
(
r
)
=
∑
i
=
0
L
−
1
(
r
i
−
m
)
2
p
(
r
i
)
μ_2(r)=\sum_{i=0}^{L-1} (r_i-m)^2p(r_i)
μ2(r)=∑i=0L−1(ri−m)2p(ri)
分为局部增强和全局增强,其中局部增强是更好的应用,在它里面局部均值和方差是根据图像中每一像素邻域内的图像特征进行改变的基础。
四、空间滤波
滤波一词源于频域处理。
可以使用向量来表示线性空间滤波。
1.空间滤波机理
线性空间滤波器和非线性空间滤波器的划分主要在于在图像像素上执行的是线性还是非线性的操作。下图为3*3滤波器的机理图:
使用
m
∗
n
m*n
m∗n的滤波器对
M
∗
N
M*N
M∗N大小的图像进行线性空间滤波可有下式表示:
g
(
x
,
y
)
=
∑
s
=
−
a
a
∑
s
=
−
b
b
w
(
s
,
t
)
f
(
x
+
s
,
y
+
t
)
g(x,y)=\sum_{s=-a}^a \sum_{s=-b}^b w(s,t)f(x+s,y+t)
g(x,y)=s=−a∑as=−b∑bw(s,t)f(x+s,y+t)
2.空间相关与卷积
相关:滤波器模板移过图像并计算每个位置乘积之和
卷积:滤波器旋转
180
°
180°
180°后,原理同上
在进行相关和卷积时需要注意的是:1.相关时滤波器位移的函数 2.滤波器w与包含有全部0和单个1的函数相关,得到的结果是w旋转180°。3.如果滤波器尺寸为m,需要补上m-1个0。将包含单个1而其余全是0的函数称为离散单位冲激。
卷积的基本特性是某个函数与某个单位冲激卷积得到一个该冲激处的函数的拷贝,其概念是线性系统理论的基石。
五、 平滑空间滤波器
主要用于模糊处理和降低噪声。同样分为线性和非线性。
平滑线性空间滤波器的输出是包含在滤波器模板邻域内的像素的简单平均值,又是也叫做均值滤波器。它是使用滤波器模板确定的邻域范围内像素的平均灰度值代替图像中每个像素的值。还存在着边缘模糊的负面效应。
下图为两个
3
∗
3
3*3
3∗3平滑滤波器模板,第一个产生标准像素平均值,第二个更加重要,用于产生加权平均。
可以用下式来表示一幅
M
∗
N
M*N
M∗N的图像经过大小为
m
∗
n
m*n
m∗n的加权均值滤波器的滤波过程:
g
(
x
,
y
)
=
∑
s
=
−
a
a
∑
s
=
−
b
b
w
(
s
,
t
)
f
(
x
+
s
,
y
+
t
)
∑
s
=
−
a
a
∑
s
=
−
b
b
w
(
s
,
t
)
g(x,y)=\frac{\sum_{s=-a}^a \sum_{s=-b}^b w(s,t)f(x+s,y+t)}{\sum_{s=-a}^a \sum_{s=-b}^b w(s,t)}
g(x,y)=∑s=−aa∑s=−bbw(s,t)∑s=−aa∑s=−bbw(s,t)f(x+s,y+t)
统计排序滤波器:以滤波器包围的图像区域中所包含的像素的排序为基础,然后使用统计排序结果决定的值代替中心像素的值。
六、锐化空间滤波器
锐化处理的主要目的是突出灰度的过渡部分,广泛应用于电子印刷、医学成像等方面。
1.一阶微分锐化滤波器——梯度
在f(x,y)中,梯度定义为
向量
∇
f
∇f
∇f的幅度值为M(x,y),即
M
(
x
,
y
)
=
m
a
g
(
∇
f
)
=
g
x
2
+
g
y
2
M(x,y)=mag(∇f)=\sqrt{g_x^2+g_y^2}
M(x,y)=mag(∇f)=gx2+gy2。它是和原图像相同大小的图像,通常叫做梯度图像。
2.二阶微分锐化滤波器——拉普拉斯算子
定义:定义一个二阶微分的离散公式,然后构造一个基于该公式的滤波器模板组成的。各项同性滤波器指的是滤波器的响应与滤波器作用的图像的突变方向无关。最简单的各项同性微分算子是拉普拉斯算子,也是一个线性算子。可以被定义为下式:
∇
2
f
(
x
,
y
)
=
∂
2
f
(
x
,
y
)
∂
x
2
+
∂
2
f
(
x
,
y
)
∂
y
2
=
f
(
x
+
1
,
y
)
+
f
(
x
−
1
,
y
)
+
f
(
x
,
y
+
1
)
+
f
(
x
,
y
−
1
)
−
4
f
(
x
,
y
)
∇^2f(x,y)=\frac{∂^2f(x,y)}{∂x^2}+\frac{∂^2f(x,y)}{∂y^2}=f(x+1,y)+f(x-1,y)+f(x,y+1)+f(x,y-1)-4f(x,y)
∇2f(x,y)=∂x2∂2f(x,y)+∂y2∂2f(x,y)=f(x+1,y)+f(x−1,y)+f(x,y+1)+f(x,y−1)−4f(x,y)
拉普拉斯滤波后的图像与其他图像合并时,必须考虑符号的区别。拉普拉斯算子强调的是图像中灰度的突变,并不强度灰度级缓慢变换的区域。
目前使用多年的图像锐化处理过程是从原图像减去一幅非锐化版本,也被叫做非锐化掩蔽。主要步骤有:1.模糊原图像 2.从原图像减去模糊图像(产生的差值叫做原图像) 3.将模板加到原图像
其次,为了达到较好的结果,通常会同时使用多种互补的图像增强技术。
七、模糊技术的使用
集合是对象(元素)的聚集,集合论是处理集合中操作的工具集。它的核心是集合成员的概念。模糊集合是一个由z值和(赋予z成员等级的)相应隶属度函数组成的序对。一个模糊函数是一个函数点的集合,这个函数将问题域中的每个元素映射为一个大于0而小于或等于1的数。常用的隶属度函数有三角形、梯形、 ∑ \sum ∑、S形、钟形和戴尾高斯形。
用于空间滤波时,定义一个邻域特性,这个特性“截取”滤波器支持检测的本质。
总结
对于本章的学习,着重点在于灰度变换和空间滤波,基本上所有的内容都是围绕这两块来进行讲解的。首先就是对于基础信息进行了讲解让我们了解到学习该领域需要先知道哪些知识,其次就是使用直方图来可视化灰度变换让我们更好的理解灰度变换。再者就是空间滤波,主要是使用模板进行操作,划分为线性和非线性两种滤波方式。