数字图像处理1-3章
1.绪论
1.1什么是数字图像
连续图像
大多数图像都是由“照射源”和形成图像的“场景元素”对光能的反射或吸收而产生的,是连续的模拟图像,其赋值与坐标都是连续的。
数字图像
将一副二维的连续图像通过有限个离散点来表示就成了数字图像,每个点称为图像元素,即像素
1.2 图像处理
如何利用计算机来改进图像的品质
1.3 图像分析
主要是对图像中感兴趣的目标进行检测(分割)和测量(特征提取),提取出对它进行描述的信息
1.4 图像理解
在图像分析的基础上,找出各咪表的性质以及它们之间的相互联系,最终得到对图像内容和含义的理解,以及对客观场景的解释。
2.数字图像基础
2.4图像取样和量化
将这些连续的模拟信号转换为数字的形式
取样:对连续图像的空间坐标值进行数字化,也即离散化。
因为是离散化,所以不可能取遍所有值,那么一格的取值就是用某些值近似表示,比如说现在有一个值为17.5,向下取整用17表示其值
量化:对连续图像的赋值进行数字化
取 17.5 的灰度值, ⌊ 17.5 2 ⌋ × 2 = 16 取17.5的灰度值,\lfloor\frac{17.5}{2}\rfloor\times2=16 取17.5的灰度值,⌊217.5⌋×2=16
总的来说,有两种方式进行采样,一个是横坐标空间域的采样,另一个是纵坐标灰度值的量化。
将下图左测的连续图像,每隔一格(取样)进行一次灰度(0-255或者0-1,假设0表示黑,255表示白,则有256个灰度级)采集(量化),从而形成右图的数字图像
空间分辨率:图像中可辩别的最小细节,如上图所示,也就是采样的频率(格子的大小),频率越快(格子越小),空间分辨率越高,格子数为M * N,空间分辨率为M * N
灰度级分辨率:灰度级别中可分辨的最小变化,也就是一个图像中,灰度的丰富程度,灰度级越丰富,所能表示的色差范围越大
第一张图—>第二张图,0和1被当做0,2和3被当做2,4和5被当做4…,也就是进行了除以2再向下取整后,再乘以2:
⌊
3
2
⌋
×
2
=
2
\lfloor\frac{3}{2}\rfloor\times2=2
⌊23⌋×2=2
第一张图—>第三张图,0、1、2、3全变成0,4、5、6、7全变成4…,也就是进行了除以4再向下取整后,再乘以4:
⌊
5
4
⌋
×
4
=
4
\lfloor\frac{5}{4}\rfloor\times4=4
⌊45⌋×4=4
最后一张图中,所有小于128的值都被设定为0,变成黑色,所有大于128的值都设定为255,变成白色。
我们将图像系统的动态范围定义为系统中最大可度量灰度与最小可检测灰度之比。
上限取决于饱和度。图片中,如果需要同时处理暗区域和亮区域,就会出现问题,有时候不能获取到明亮区域内很小的差别,这被称作饱和度,所有中间区域看起来全白,是因为中间像素值都达到了255,甚至超过了255.
下限取决于噪声。
2.5 像素间的一些基本关系
1.像素的邻域
(1)4-邻域
N
4
(
p
)
:
N_4(p):
N4(p):
由4个标记为r的像素所构成的集合p
(2)对角邻域
N
D
(
p
)
:
N_D(p):
ND(p):
由4个标记为r的像素所构成的集合
(3)8-邻域
N
8
(
p
)
:
N_8(p):
N8(p):
由8个标记为r、s的像素所构成的集合
2.像素的邻接
邻接仅考虑像素间的空间关系,即两个像素在空间若相互接触,则它们为邻接的。
3.像素的连接
a.在空间上是否邻接
b.它们的灰度值是否满足某个特定的相似准则(例如,同在一个灰度值集合中取值)
像素间的4-连接、8-连接和m-连接
设用V表示定义连接的灰度值集合
V
=
{
0
,
1
}
V=\{0,1\}
V={0,1}
①4-连接:2个像素p和r在V中取值,且r在4-邻域中
②8-连接:2个像素p和r在V中取值,且r在8-邻域中
③m-连接:(i)q在p的4-邻域或q在p的对角邻域中,并且 p的4-邻域与p的4-邻域的交集为空(没有集合V里的元素),则为m连接
注:4-连接的一定是8-连接,4-连接也一定是m-连接
所以采用m-连接能够消除上图中的二义性,也就是只有唯一一条路可走
4.像素的连通
若两个像素具有相同性质,且能够找到两两连接的一条通路,则称它们是连通的
连接是连通的一种特例
假设
V
=
{
2
,
3
,
4
}
假设V=\{2,3,4\}
假设V={2,3,4}
最短4-通路
无法到达
最短8-通路和最短m-通路
5.像素集合(图像子集)的邻接和连通
邻接:对两个图像子集S和T来说,如果S中的一个或一些像素与T中的一个或一些像素邻接,则称S和T邻接
连通:①是否是邻接图像子集②图像子集中的邻接像素的灰度值是否满足某个特定的相似准则
6.距离度量
像素点坐标p,q和z:(x,y)、(s,t)、(u,v)
①欧氏距离
D
E
(
p
,
q
)
=
[
(
x
−
s
)
2
+
(
y
−
t
)
2
]
1
2
D_E(p,q)=[(x-s)^2+(y-t)^2]^\frac{1}{2}
DE(p,q)=[(x−s)2+(y−t)2]21
②城区距离
D
4
(
p
,
q
)
=
∣
x
−
s
∣
+
∣
y
−
t
∣
D_4(p,q)=|x-s|+|y-t|
D4(p,q)=∣x−s∣+∣y−t∣
③棋盘距离
D
8
(
p
,
q
)
=
m
a
x
(
∣
x
−
s
∣
,
∣
y
−
t
∣
)
D_8(p,q)=max(|x-s|,|y-t|)
D8(p,q)=max(∣x−s∣,∣y−t∣)
2.6 数字图像处理中所用数学工具的介绍
2.6.1 阵列与矩阵操作
2.6.2 线性操作和非线性操作
2.6.3 算术操作
对图像进行的算术运算是逐像素进行的,即两幅图像的对应像素间进行算数运算,包括加减乘除。
(1)去除图像噪声
可用于图像平均以减少或去除图像中的噪声
原始图像
:
f
(
x
,
y
)
加性噪声
η
(
x
,
y
)
原始图像:f(x,y) 加性噪声\eta(x,y)
原始图像:f(x,y)加性噪声η(x,y)
污染后的图像 : g ( x , y ) = f ( x , y ) + η ( x , y ) 污染后的图像:g(x,y)=f(x,y)+\eta(x,y) 污染后的图像:g(x,y)=f(x,y)+η(x,y)
K
幅噪声污染图像相加求平均
:
g
‾
=
1
K
∑
i
=
1
K
g
i
(
x
,
y
)
K幅噪声污染图像相加求平均:\overline{g}=\frac{1}{K}\sum_{i=1}^K g_i(x,y)
K幅噪声污染图像相加求平均:g=K1i=1∑Kgi(x,y)
(2)图像间的加法:两图像叠加效果
(3)图像间的减法:数字减影、森林火灾、运动跟踪和检测、污染监测、伪印章鉴别
I
1
和
I
2
是两幅图像,相减的结果可以找出它们的差别,
通过改变灰度值的分布提高图像的清晰度
I_1和I_2是两幅图像,相减的结果可以找出它们的差别,\\通过改变灰度值的分布提高图像的清晰度
I1和I2是两幅图像,相减的结果可以找出它们的差别,通过改变灰度值的分布提高图像的清晰度
(4)图像间的乘法和除法来校正阴影
2.6.5空间操作
把图像中一个像素替换为与之相邻像素的平均值(自身与8-邻域像素值累加后求平均),这样会使得每一个像素点的8-邻域之间会交叠,最终结果实现了局部模糊,这样做可以消除小的细节。
几何空间变换和图像配准
几何变换由两个基本操作组成:
①坐标的空间变换
②灰度内插(空间变换后的像素赋灰度值)
最常用的空间坐标变换之一为仿射变换,其形式如下:
[
x
,
y
,
1
]
=
[
v
,
w
,
1
]
T
=
[
v
,
w
,
1
]
[
t
11
t
12
0
t
21
t
22
0
t
31
t
32
1
]
[x,y,1]=[v,w,1]T=[v,w,1]\begin{bmatrix} t_{11} & t_{12} & 0 \\ t_{21} & t_{22} & 0 \\ t_{31} & t_{32} & 1 \end{bmatrix}
[x,y,1]=[v,w,1]T=[v,w,1]
t11t21t31t12t22t32001
根据T中元素的取值,对一组坐标点进行变换。
图像旋转与灰度内插
图a为原图,分别用最近邻、双线性和双三次内插后得到图b、c、d。
最近邻内插产生最大的锯齿边缘,双线性内插得到了明显改进,双三次内插产生了稍微清晰一些的结果。
图像配准是数字图像处理的一种重要应用,用于对其两幅或多幅相同场景的图像。把输入图像与参考图像进行配准,但是变换函数是不知道的,所有问题就是要估计变换函数,然后用它配准两幅图像。
主要的方法之一是使用约束点(控制点),这些点是再输入图像和参考图像中其位置恰好已知的相应点。有很多选择约束点的方法,可以交互式的选择这些点,也可以使用试图自动检测这些点的算法。
3.灰度变换与空间滤波
3.1 空域增强技术的概述
常见的空域增强技术包括灰度变换和直方图均衡化等。
灰度变换基于点操作,将每一个像素的灰度值按照一定的数学变换公式转换为一个新的灰度值,目的是使图像成像均匀或扩大图像动态范围、扩展对比度。
直方图均衡化则是通过拉伸图像的对比度,使得图像的直方图更均匀地分布在整个灰度级别范围内,从而提高图像的对比度和清晰度
空域
在图像处理中,空域是指由像素组成的空间
图像的空域增强技术是指直接作用于图像像素的增强技术
空域增强的模型
g ( x , y ) = E H [ f ( x , y ) ] g(x,y)=E_H[f(x,y)] g(x,y)=EH[f(x,y)]
其中 f ( x , y ) 为原始图像, g ( x , y ) 为处理后的图像, E H 为增强操作 其中f(x,y)为原始图像,g(x,y)为处理后的图像,E_H为增强操作 其中f(x,y)为原始图像,g(x,y)为处理后的图像,EH为增强操作
空域增强技术的分类
(1)基于像素的空域增强
E
H
仅定义在每个像素
(
x
,
y
)
上
E_H仅定义在每个像素(x,y)上
EH仅定义在每个像素(x,y)上
①像素点操作:改变当前像素的灰度
g
(
x
,
y
)
=
P
x
y
[
f
(
x
,
y
)
]
g(x,y)=P_{xy}[f(x,y)]
g(x,y)=Pxy[f(x,y)]
②几何操作:改变当前像素的位置,M为几何映射函数
g
(
x
,
,
y
,
)
=
M
(
x
,
y
)
g(x^,,y^,)=M(x,y)
g(x,,y,)=M(x,y)
(2)基于模板的空域增强(滤波)
E
H
定义在像素
(
x
,
y
)
的某个领域上
t
=
E
H
[
s
,
n
(
s
)
]
E_H定义在像素(x,y)的某个领域上\\ t=E_H[s,n(s)]
EH定义在像素(x,y)的某个领域上t=EH[s,n(s)]
其中,s、t分别为原始图像f和结果图像g在处(x,y)的灰度值
n(s)为图像f在以(x,y)为中心的邻域内像素的灰度值集合
3.2一些基本的灰度变换函数
按照某种映射规则或变换函数,将图像中的每个像素点的灰度值转化为另一灰度值
3.2.1 图像反转
作用:将原图灰度值反转,黑变白、白变黑
t
=
−
s
+
(
L
−
1
)
t=-s+(L-1)
t=−s+(L−1)
3.2.2 对数变换![请添加图片描述](https://img-blog.csdnimg.cn/direct/f89bf550f28c4d60a809c82db67afff9.jpeg)
原图动态范围太大,超出某些显示设备的允许动态范围,需要压缩其动态范围。
s
=
C
l
o
g
(
1
+
r
)
其中,
l
o
g
是底数为
10
,
C
为尺度比例常数
,
r
≥
0
s=Clog(1+r) \\其中,log是底数为10,C为尺度比例常数,r\geq0
s=Clog(1+r)其中,log是底数为10,C为尺度比例常数,r≥0
将输入中范围较窄的低灰度值映射为输出中较宽范围的灰度值,同时将输入中范围较宽高灰度值映射为输出中较窄范围的灰度值
经过对数变换(C=1)
3.2.3幂律(伽马)变换
s
=
c
∗
r
γ
其中
c
和
γ
为正常数
s=c*r^\gamma \\其中c和\gamma为正常数
s=c∗rγ其中c和γ为正常数
与对数变换类似,部分
γ
值
(
γ
<
1
)
的幂律曲线将较窄范围的暗色输入值映射为
较宽范围的输出值;同时,将较宽范围的亮色输入值映射为较窄范围的输出值
与对数变换类似,部分\gamma值(\gamma<1)的幂律曲线将较窄范围的暗色输入值映射为\\较宽范围的输出值;同时,将较宽范围的亮色输入值映射为较窄范围的输出值
与对数变换类似,部分γ值(γ<1)的幂律曲线将较窄范围的暗色输入值映射为较宽范围的输出值;同时,将较宽范围的亮色输入值映射为较窄范围的输出值
3.2.4分段线性变换函数
1.对比度拉伸
基于像素的图像增强,也即图像的对比度增强,就是增强原图的各部分反差(增强感兴趣的灰度区域,相对抑制不感兴趣的灰度区域)
分段线性增强用于拉伸感兴趣的图像细节的灰度级,同时压缩不感兴趣的图像细节的灰度级,即增强细节之间的对比度。
设原灰度值s和映射后灰度值t的取值范围都为0到L-1。
t
=
{
t
1
s
1
s
,
0
≤
s
≤
s
1
t
2
−
t
1
s
2
−
s
1
(
s
−
s
1
)
+
t
1
,
s
1
≤
s
≤
s
2
L
−
1
−
t
2
L
−
1
−
s
2
(
s
−
s
2
)
+
t
2
,
s
2
≤
s
≤
L
−
1
t = \begin{cases} \frac{t_1}{s_1}s,& 0\leq s \leq s_1 \\ \frac{t_2-t_1}{s_2-s_1}(s-s_1)+t_1,& s_1\leq s \leq s_2 \\ \frac{L-1-t_2}{L-1-s_2}(s-s_2)+t_2,& s_2\leq s \leq L-1 \\ \end{cases}
t=⎩
⎨
⎧s1t1s,s2−s1t2−t1(s−s1)+t1,L−1−s2L−1−t2(s−s2)+t2,0≤s≤s1s1≤s≤s2s2≤s≤L−1
{
斜率大于
1
,则提高对比度
斜率小于
1
,则降低对比度
\begin{cases} 斜率大于1,则提高对比度 \\ 斜率小于1,则降低对比度 \end{cases}
{斜率大于1,则提高对比度斜率小于1,则降低对比度
偏暗的灰度区域0-120,接近黑色的灰度区域为0-5,接近灰色的灰度区域120-255
2.灰度级分层
增强特定范围的对比度,用来突出图像中特定灰度范围的亮度
方法一:灰度值显示,其他的为较小的灰度级显示。
t
=
{
t
2
,
s
1
≤
s
≤
s
2
t
1
,
其它
t = \begin{cases} t_2,&s_1\leq s\leq s_2 \\ t_1,& 其它 \end{cases}
t={t2,t1,s1≤s≤s2其它
方法二:对感兴趣的灰度级以较大的灰度值显示,其他不变
t
=
{
t
2
,
s
1
≤
s
≤
s
2
s
,
其它
t = \begin{cases} t_2,&s_1\leq s\leq s_2 \\ s,& 其它 \end{cases}
t={t2,s,s1≤s≤s2其它
3.3 直方图处理
第一张图颜色较暗,所以可以从它的直方图看到,像素值多是分布在直方图低值端,高值端区域的像素数量非常少。
第二张图是一张比较亮的图像,在这个直方图中,大量像素集中在高值端,低值端的像素值并不多。
第三张图是一张对比度较低的图像,它的像素值集中在中间。
把给定的分布转换到一个均匀的分布,假设像素的值是从0到L-1,令L=256,那么像素值是从0(黑色) 到255(白色), 我们希望得到一个均匀的分布,所以这个概率是 1/255
我们要找的是一个从 r到s 的映射,这个变换的概率中有一个基本的结论,如果这个映射存在,那么有
p
s
(
s
)
=
p
r
(
r
)
∣
d
r
d
s
∣
p_s(s)=p_r(r)|\frac{dr}{ds}|
ps(s)=pr(r)∣dsdr∣
特别重要的变换函数形式如下:
s
=
T
(
r
)
=
(
L
−
1
)
∫
0
r
p
r
(
w
)
d
w
,
其中
w
是积分的假变量,右边为随机变量
r
的累积分布函数(
C
D
F
)
s=T(r)=(L-1)\int_0^r {p_r(w)} \,{\rm d}w,\\其中w是积分的假变量,右边为随机变量r的累积分布函数(CDF)
s=T(r)=(L−1)∫0rpr(w)dw,其中w是积分的假变量,右边为随机变量r的累积分布函数(CDF)
3.4空间滤波基础
空间滤波是图像处理领域应用广泛的主要工具之一。
空间滤波器是由(1)一个领域
(2)对该领域包围的图像像素执行的预定义操作组成
滤波器的中心访问输入图像中的每个像素,就生成了处理(滤波)后的图像。如果在图像像素上执行的是线性操作,则该滤波器称为线性空间滤波器。否则,滤波器就成为非线性空间滤波器。
下图使用3*3邻域的线性空间滤波的机理,在图像中的任意一点,滤波器的相应g(x,y)是滤波器系数与由该滤波器包围的图像像素的乘积之和:
g
(
x
,
y
)
=
w
(
−
1
,
−
1
)
f
(
x
−
1
,
y
−
1
)
+
w
(
−
1
,
0
)
f
(
x
−
1
,
y
)
+
.
.
.
+
w
(
0
,
0
)
f
(
x
,
y
)
+
.
.
.
+
w
(
1
,
1
)
f
(
x
+
1
,
y
+
1
)
g(x,y)=w(-1,-1)f(x-1,y-1)+w(-1,0)f(x-1,y)+...\\+w(0,0)f(x,y)+...+w(1,1)f(x+1,y+1)
g(x,y)=w(−1,−1)f(x−1,y−1)+w(−1,0)f(x−1,y)+...+w(0,0)f(x,y)+...+w(1,1)f(x+1,y+1)
一般来说,使用大小为m * n的滤波器对大小为M * N的图像进行线性空间滤波,可由下式表示:
g
(
x
,
y
)
=
∑
s
=
−
a
a
∑
t
=
−
b
b
w
(
s
,
t
)
f
(
x
+
s
,
y
+
t
)
g(x,y)=\sum_{s=-a}^a \sum_{t=-b}^b w(s,t)f(x+s,y+t)
g(x,y)=s=−a∑at=−b∑bw(s,t)f(x+s,y+t)
3.5平滑空间滤波器
平滑滤波器用于模糊处理和降低噪声。模糊处理经常用于预处理任务中,例如在(大)目标提取之前去除图像中的一些琐碎细节,以及桥接直线或曲线的缝隙。通过线性滤波和非线性滤波模糊处理,可以降低噪声。
一幅M * N的图像经过一个大小为m * n的加权均值滤波器滤波的成功可由下式给出:
g
(
x
,
y
)
=
∑
s
=
−
a
a
∑
t
=
−
b
b
w
(
s
,
t
)
f
(
x
+
s
,
y
+
t
)
∑
s
=
−
a
a
∑
t
=
−
b
b
w
(
s
,
t
)
g(x,y)=\frac{\sum_{s=-a}^a \sum_{t=-b}^b w(s,t)f(x+s,y+t)}{\sum_{s=-a}^a \sum_{t=-b}^b w(s,t)}
g(x,y)=∑s=−aa∑t=−bbw(s,t)∑s=−aa∑t=−bbw(s,t)f(x+s,y+t)
3.6锐化空间滤波器
锐化处理的主要目的是突出灰度的过渡部分。对于一维函数f(x),其一阶微分的基本定义是差值
∂
f
∂
x
=
f
(
x
+
1
)
−
f
(
x
)
\frac{\partial f}{\partial x}=f(x+1)-f(x)
∂x∂f=f(x+1)−f(x)
二阶微分定义为如下差分:
∂
2
f
∂
2
x
=
f
(
x
+
1
)
+
f
(
x
−
1
)
+
2
f
(
x
)
\frac{\partial^2 f}{\partial^2 x}=f(x+1)+f(x-1)+2f(x)
∂2x∂2f=f(x+1)+f(x−1)+2f(x)
让我们从左到右横贯剖面图,考虑一阶微分和二阶微分的性质。首先,我们遇到的是如图3.36(b)和(c)所示的恒定灰度区域,一阶微分和二阶微分都是零,因此,两者都满足条件(1)。接着,我们遇到紧随台阶的一个灰度斜坡,并且我们注意到在斜坡起点和台阶处的一阶微分不为零,类似地,在斜坡和台阶的起点和终点的二阶微分也不为零;因此,两个微分特性都满足条件(2)。最后,我们看到两个微分特性也都满足条件(3),因为对于斜坡来说一阶微分不是零,二阶微分是零。请注意斜坡或台阶的起点和终点处二阶微分的符号变化。事实上,我们在图3.36(c)中看到,在一个台阶的过渡中,连接这两个值的线段在两个端点的中间与水平轴相交。
3.7混合空间增强法
到目前为止,除了一些特殊情况,如带有國值处理(图3.34)的混合模糊,我们主要关注的还是单一的增强法。通常,为了达到令人满意的结果,对给定的任务需要应用多种互补的图像增强技术。
图3.43(a)所示的图像是一幅人体骨骼核扫描图像,常用于检查人体疾病,如骨骼感染和肿瘤我们的目的是通过图像锐化突出骨骼的更多细节来增强图像。由于图像灰度的动态范围很窄并且有很高的噪声内容,所以很难对其进行增强。对此我们采取的策略是,首先用拉普拉斯法突出图像中的小细节然后用梯度法突出其边缘。平滑过的梯度图像将用于掩蔽拉普拉斯图像(关于掩蔽的说明见图2.30),稍后会对此简短说明。最后,我们将试图使用灰度变换来增大图像的灰度动态范围。
图3.43(b)显示了使用图3.37(d)中的滤波器得到的原图像的拉普拉斯操作的结果。该图像使用与图3.38(c)相同的技术标定过(只为便于显示)。然后,根据式(3.6-7),简单地将图3.43(a)与图3.43(b相加就可以得到一幅经过锐化过的图像。只要看一下图3.43(b)中的噪声水平,就可以预料到,如果将图3.43(a)和图3.43(b)相加,会导致相当多的噪声,这一点可以在图3.43(c)中得到证实。于是可立刻想到,降低噪声的一种方法是使用中值滤波器。然而,中值滤波器是一种非线性滤波器,它有可能改变图像的性质。这在医学图像处理中是不能接受的。