文章目录
2.4图像的取样和量化
由前一节的讨论,我们知道了多种获取图像的方法。这些方法的目的都是从感知的数据中生成图像。
为了产生一幅数字图像,我们需要把连续的感知数据转换为数字形式。
这种转换包括两种处理:取样和量化
2.4.1 取样和量化的基本概念
该图说明了取样和量化的基本概念:
(1)图a显示的一幅连续图像
f
f
f。要将它转换为数字形式,必须在该图像的坐标和幅度上都进行取样操作。
取样:对坐标值进行数字化;
量化:对幅值数字化。
(2)图b显示的是图a中从A到B这条扫描线上的连续图像的幅度值(灰度值)曲线。曲线上产生的随机变化是由图像噪声引起的。
图像噪声是图像在摄取或传输时所受的随机信号干扰,表现为图像信息或者像素亮度的随机变化。量化所达到的精度依赖于取样信号的噪声。
(3)图c显示取样和量化的过程。
- 取样(将坐标值,即样本的空间位置转换为离散量):我们沿着AB等间隔地对图b中的函数进行取样,每个样本的空间位置由图形底部的垂直刻度指出。
- 量化(将幅度值/灰度值转换为离散量):将灰度值分为8个离散的区间,这样每个取样点的幅值就被量化为离散值。
(4)图d显示取样和量化操作后生成的数字样本。
实践中,取样方法由生成图像的传感器配置决定。
- 单个传感器:由单个传感器和机械运动相结合生成图像时,传感器的输出可以用上文讨论的方式进行量化。其在空间上的取样是通过不断机械运动,并在取样处激活传感器来收集数据来实现的。所以原理上,这种方法对图像的取样可以达到的精细程度没有限制(因为机械运动可以非常精准地实现)。
- 带状传感器:带中传感器的数量决定了图像中一个方向上的限制,而另一个方向可以通过机械运动,而获取更精确的取样(但是这样的取样密度是没有意义的)。
- 传感阵列:由于没有机械运动,阵列中的传感器数量决定了两个方向上的取样限制。下图是使用传感阵列进行取样和量化的例子:
2.4.2数字图像表示
- 用 f ( s , t ) f(s,t) f(s,t)表示一幅具有两个连续变量 s s s和 t t t的连续图像函数。然后通过取样和量化,可以把这个函数转换为数字图像。
- 将函数取样后得到一个二维阵列 f ( x , y ) f(x,y) f(x,y),该阵列包含有 M M M行和 N N N列, ( x , y ) (x,y) (x,y)是离散坐标。
- 离散坐标
(
x
,
y
)
(x,y)
(x,y)使用整数值:
x = 0 , 1 , 2... , M − 1 x=0,1,2...,M-1 x=0,1,2...,M−1
y = 0 , 1 , 2... , N − 1 y=0,1,2...,N-1 y=0,1,2...,N−1。
数字图像原点的值为 f ( 0 , 0 ) f(0,0) f(0,0)。它并不是图像取样时的物理坐标值,而是表示第一行第一列样本的值。 - 由一幅图像张成的实平面区域称为空间域, x x x和 y y y称为空间变量或空间坐标。
数字图像表示的三种基本方法:
(1)函数图:如图a,用两个坐标轴决定空间位置,第三个坐标表示位于
(
x
,
y
)
(x,y)
(x,y)处的
f
f
f(灰度)值。
(2)图像显示:它显示了
f
(
x
,
y
)
f(x,y)
f(x,y)出现在监视器或是照片上的情况。其中每个点的灰度值都与该点处的
f
f
f值成正比。
如图b,图中仅有三个等间隔的灰度值。如果将灰度归一化到区间
[
0
,
1
]
[0,1]
[0,1]内,那么图像中每个点的灰度分别为0,0.5,1。监视器或打印机将这三个值分别转化为黑色、灰色、白色。
优点:让我们能够快速地观察结果。
(3)数值阵列(矩阵):如图c,将
f
(
x
,
y
)
f(x,y)
f(x,y)的数值简单显示为一个阵列。
优点:便于处理和算法开发。
以公式形式,我们可以将一个
M
∗
N
M*N
M∗N的数值阵列表示为:
该式子的两边以等效的方式定量表达了一幅数字图像。右边是一个实数矩阵,该矩阵中每个元素为图像单元、图像元素或像素。
在一些情况下,也可以用传统的矩阵表示法来表示数字图像及其像素:
注意:数字图像的原点位于左上角,其中正x轴向下延伸,正y轴向右延伸。(因为扫描都是从左上角开始的,并且矩阵的第一个元素按惯例应在阵列的左上角)
用正式的数学术语表达取样和量化
-
Z 和 R Z和R Z和R分别表示整数集和实数集
-
取样处理:把xy平面分为一个网格的过程。网格中每个单元中心的坐标是笛卡尔积 Z 2 Z^2 Z2中的一对元素。 Z 2 Z^2 Z2是所有有序元素对 ( z i , z j ) (z_i,z_j) (zi,zj)的集合。( z i , z j z_i,z_j zi,zj ∈ \in ∈ R R R)
-
量化处理:即 f f f将灰度值( R R R中的一个实数)赋给每个特定坐标对 ( x , y ) (x,y) (x,y)的过程。 f ( x , y ) f(x,y) f(x,y)就是一幅数字图像。
-
数字化过程要求针对 M M M值, N N N值,离散灰度级数 L L L做出判定。灰度级数一般取2的整数次幂,即 L = 2 k L=2^k L=2k离散灰度级是等间隔的,且它们是区间 [ 0 , L − 1 ] [0,L-1] [0,L−1]内的整数(但在计算或算法开发中,通常把L个灰度值缩放至区间 [ 0 , 1 ] [0,1] [0,1])
-
图像系统的动态范围:系统中最大可度量与最小可检测灰度之比。其上限取决于饱和度,下限取决于噪声。
下图是显示饱和度和噪声的一幅图像。饱和度是指超过这个值的灰度级将被剪切成最高的灰度级(整个饱和区域具有恒定的高灰度级)。这种情况下,噪声表现为粒状纹理模式。噪声,尤其是在暗部区域中的噪声,掩盖了可检测的最低真实灰度级。
动态范围由系统能表示的最低和最高灰度级来确定。与这一概念相关的是图像对比度。我们定义一幅图像中最高和最低灰度级间的灰度差为对比度。图像系统的动态范围越高,图像的对比度就越高。 -
存储数字图像所需的比特数b为: b = M ∗ N ∗ k b=M*N*k b=M∗N∗k当 M = N M=N M=N时,该式子变为 b = N 2 k b=N^2k b=N2k
当一幅图像有 2 k ( L = 2 k ) 2^k(L=2^k) 2k(L=2k)个灰度级时,我们称这个图像为一幅“ k 比特图像”。(例如,有256个可能的离散灰度值的图像称为8比特图像,这也是最通用的灰度级数)
2.4.3 空间和灰度分辨率
空间分辨率
空间分辨率是图像中可辨别的最小细节的度量。
最通用的度量:每单位距离的线对数和每单位距离的点数(即像素数)
- 线对数:我们用交替的黑色和白色垂直线来构造一幅图像,其中线宽为
W
W
W个单位,线对的宽度就为
2
W
2W
2W,单位距离有
1
/
2
W
1/2W
1/2W个线对。(1单位距离为
1
m
m
1mm
1mm,若一条线的宽度为
0.1
m
m
0.1mm
0.1mm,那么每单位距离就有5个线对)
广泛使用的图像分辨率的定义:每单位距离可分辨的最大线对数量。 - 点数:每单位距离点数是印刷和出版业中常用的图像分辨率的度量。在美国,这一度量通常用每英寸点数 ( d p i ) (dpi) (dpi)来表示。
报纸用75 d p i dpi dpi的分辨率来印刷;光鲜的小册子是175 d p i dpi dpi;书页是2044 d p i dpi dpi。
空间分辨率的度量必须针对空间单位来规定才有意义,图像大小本身并不含有空间分辨率信息,必须成像之后考虑空间距离才存在分辨率。
例如我们将同一张照片放在手机和电视上显示,照片在手机上看起来会更清晰。
灰度分辨率
灰度分辨率是指在灰度级中,可分辨的最小变化,也就是用于量化灰度的比特数。例如,通常说一幅被量化为256级的图像有8比特的灰度分辨率。
灰度中可分辨的真实变化不仅受到噪声和饱和度的影响,也受人类感知能力的影响。
空间分辨率和灰度分辨率的改变
降低图像空间分辨率的效果说明:
上图显示了降低一幅图像的空间分辨率的效果。它们分别显示了分辨率为
1250
d
p
i
,
300
d
p
i
,
150
d
p
i
1250dpi,300dpi,150dpi
1250dpi,300dpi,150dpi和
72
d
p
i
72dpi
72dpi的图像。
低分辨率的图像相比原图像要更小,例如原图像的大小为
3692
∗
2812
3692*2812
3692∗2812像素,但
72
d
p
i
72dpi
72dpi图像是一个大小为
213
∗
162
213*162
213∗162的阵列。为便于比较,将所有小图像放大到原图像的大小。
改变数字图像中灰度级数的典型效果:
在上图的例子中,我们保持样本数恒定,而将灰度级数以2的整数次幂从256依次减少到2(比特数从8减少到1)。
伪轮廓:我们发现在16灰度级图像中,出现类似等高线的结构,这是由数字图像的平滑区域中的灰度级数不足引起的,通常称之为伪轮廓。
同时改变图像大小灰度级数
以上两例分别说明了改变N和k时对图像质量产生的影响。Huang的早期实验研究了同时改变N和k对图像质量所产生的影响。
该实验由一组主观测试组成。妇女脸庞图像包含了少量细节,摄像师图像包含了中等程度的细节,人群图像包含了大量细节。
通过改变N和k,生成了三组图像。要求观察者主观地按图像质量对图像进行排序。最终结果以Nk平面中的等偏爱曲线形式呈现出来。
Nk中的每一个点表示一幅图像。坐标对于该图像的N值和k值。
我们发现。当图像中的细节增加时,等偏爱曲线会趋向垂直:意味着对于具有大量细节的图像,只需要较少的灰度级,而需要较高的图像分辨率。
2.4.4图像内插
内插是在诸如放大、收缩、旋转和几何校正等任务中广泛应用的基本工具。这一节介绍的是用它来调整图像的大小(收缩和放大),这是基本的图像重取样方法。
从根本上看,内插是利用已知数据来估计未知位置的数据的处理。
内插的方法:
(1)最近邻内插法
假设一幅大小为500x500的像素的图像要放大1.5倍,到750x750。首先创建一个750x750的空白网格,它与原始图像有相同的间隔,然后将其收缩,使它准确地与原图相匹配。然后对于每一个点,在原图中寻找空间距离最接近的像素,对该点赋予灰度值。
例如
b
(
1
,
2
)
b(1,2)
b(1,2)对应原图中的
a
(
0.66
,
1.2
)
a(0.66,1.2)
a(0.66,1.2),则b在原图中最近的像素为
a
(
1
,
1
)
a(1,1)
a(1,1),则将
a
(
1
,
1
)
a(1,1)
a(1,1)中的灰度值赋予
b
(
1
,
2
)
b(1,2)
b(1,2)中。
缺点:容易导致图像失真。
(2)双线性内插法
我们用4个最近邻位置的灰度值去估计给定位置的灰度。
(
x
,
y
)
(x,y)
(x,y)为给定位置的坐标,
v
(
x
,
y
)
v(x,y)
v(x,y)表示该位置的灰度值。则:
v
(
x
,
y
)
=
a
x
+
b
y
+
c
x
y
+
d
v(x,y)=ax+by+cxy+d
v(x,y)=ax+by+cxy+d式子中的4个系数由点
(
x
,
y
)
(x,y)
(x,y)的4个最近邻点写出的4个未知方程来确定。
注意,双线性内插并不是一种线性内插方法,因为其中包含xy项。
(3)双三次内插法
它包括16个最近邻点。赋值公式为:
v
(
x
,
y
)
=
∑
i
=
0
3
∑
j
=
0
3
a
i
j
x
i
y
j
v(x,y)=\sum_{i=0}^{3}\sum_{j=0}^{3}a_{ij}x^iy^j
v(x,y)=i=0∑3j=0∑3aijxiyj式子中的16个系数由点
(
x
,
y
)
(x,y)
(x,y)的16个最近邻点写出的16个未知方程来确定。
双三次内插是商业图像编辑程序的标准内插方法,例如Adobe Photoshop。
下图从左到右,依次是分辨率降低后,使用最近邻内插法/双线性内插法/双三次内插法放大到原分辨率的图像。
2.5 像素间的一些基本关系
在本节中,我们会用字母p和q来表示特定像素。
2.5.1相邻像素
- 位于坐标
(
x
,
y
)
(x,y)
(x,y)处的像素p由4个水平和垂直的相邻像素。其坐标分别为:
(
x
+
1
,
y
)
,
(
x
−
1
,
y
)
,
(
x
,
y
+
1
)
,
(
x
,
y
−
1
)
(x+1,y),(x-1,y),(x,y+1),(x,y-1)
(x+1,y),(x−1,y),(x,y+1),(x,y−1)
这组像素称为p的4邻域,用 N 4 ( p ) N_4(p) N4(p)表示。 - p的4个对角相邻像素的坐标为:
(
x
+
1
,
y
+
1
)
,
(
x
+
1
,
y
−
1
)
,
(
x
−
1
,
y
−
1
)
,
(
x
−
1
,
y
+
1
)
(x+1,y+1),(x+1,y-1),(x-1,y-1),(x-1,y+1)
(x+1,y+1),(x+1,y−1),(x−1,y−1),(x−1,y+1)
这组像素与p的4邻域一起,组成p的8邻域,用 N D ( p ) N_D(p) ND(p)表示。
2.5.2邻接性、连通性、区域和边界
-
V用于定义邻接性的灰度值集合。(换句话说,考虑两个像素是否邻接的前提是,两个像素的灰度值都在集合V中)
在二值图像中,如果把灰度值为1的像素归为邻接像素,则 V={1}。类似的,在灰度图像中,如果把灰度值为2、3、4、5的像素归为邻接像素,则V={2,3,4,5}。 -
邻接类型有三种
- 4邻接:p、q的灰度值 ∈ \in ∈集合V,且q ∈ \in ∈ N 4 ( p ) N_4(p) N4(p),则称像素p和q是4邻接的。
- 8邻接:p、q的灰度值 ∈ \in ∈集合V,且q ∈ \in ∈ N D ( p ) N_D(p) ND(p),则称像素p和q是8邻接的。
- m邻接(混合邻接):
1.p、q的灰度值 ∈ \in ∈集合V
2.q ∈ \in ∈ N D ( p ) N_D(p) ND(p)
3. N 4 ( p ) N_4(p) N4(p) ∩ \cap ∩ N 4 ( q ) N_4(q) N4(q)中没有属于V的像素。
混合邻接是8邻接的改进,混合邻接的引入是为了消除采用8邻接时产生的二义性。
m邻接的例子可以看数字图像处理——4邻接、8邻接、m邻接
下图中,第一张(a)表示像素的排列;第二张(b)表示8邻接像素(邻接性由虚线所示。图中位于中间的1有两条路径可以到达右上角的1,这就是8邻接的二义性);第三张( c )表示m邻接(二义性被消除)
从坐标为(x,y)的像素p到坐标为(s,t)的像素q的通路是特定的像素序列,该像素序列中像素的坐标为
(
x
i
,
y
i
)
,
x
(x_i,y_i),x
(xi,yi),x
∈
\in
∈
[
0
,
n
]
[0,n]
[0,n]。
其中
(
x
0
,
y
0
)
=
(
x
,
y
)
,
(
x
n
,
y
n
)
=
(
s
,
t
)
(x_0,y_0)=(x,y),(x_n,y_n)=(s,t)
(x0,y0)=(x,y),(xn,yn)=(s,t)
且像素
(
x
i
,
y
i
)
和
(
x
i
−
1
,
y
i
−
1
)
(x_i,y_i)和(x_{i-1},y_{i-1})
(xi,yi)和(xi−1,yi−1)是邻接的。
这种情况下,n表示通路的长度,如果 ( x 0 , y 0 ) = ( x n , y n ) (x_0,y_0)=(x_n,y_n) (x0,y0)=(xn,yn),则通路是闭合通路。
4通路、8通路和m通路:通过特定的邻接类型来定义。例如上图中的图b,右上点和右下点之间的通路就是8通路;而在图c中,右上点和右下点之间的通路是m通路
下图中,最左侧(d)表示采用8邻接时,两个值为1的区域是邻接的。中间(e)表示,如果在区域和背景间采用8邻接,则加圆圈的点位于1值像素的边界上。右侧(f)表示1值区域的内部边界不形成闭合通路,但其外部可以形成闭合通路
S的连通分量:S是图像中的一个像素子集。若S的全部像素之间存在一个通路,且p、q ∈ \in ∈S,则像素p和q在S中是连通的。对于S中任意像素p,S中连通到该像素的像素集称为S的连通分量。
连通集:如果S中仅有一个连通分量(即S中所有像素都连通),那么称集合S为连通集。
区域:如果R是连通集,则称R为一个区域。注意,在涉及区域的概念时,必须指定邻接的类型。
邻接区域:对于两个区域,若它们联合形成一个连通集,则区域 R i 和 R j R_i和R_j Ri和Rj称为邻接区域。不邻接的区域称为不邻接区域。
图像的前景和背景:假设一幅图像包含K个不连接的区域(注意它们都不接触图像的边界)。用 R u R_u Ru表示K个区域的并集,里面的所有点为图像的前景; ( R u ) c (R_u)^c (Ru)c表示其补集,里面的所有点为图像的背景。
区域的内边界:也称为边缘或轮廓,它是与 ( R u ) c (R_u)^c (Ru)c邻近的点的集合。一个区域及其背景中的点之间的邻接要根据8连通来定义。
区域的外边界:对应背景边界。形成一个围绕该区域的闭合通路。
2.5.3距离度量
对于像素
p
,
q
p,q
p,q,其坐标分别为
(
x
,
y
)
,
(
s
,
t
)
(x,y),(s,t)
(x,y),(s,t)。设D为距离函数或度量。则p与q间的欧式距离定义如下:
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
D_4
D4:
D
4
(
p
,
q
)
=
∣
x
−
s
∣
+
∣
y
−
t
∣
D_4(p,q)=|x-s|+|y-t|
D4(p,q)=∣x−s∣+∣y−t∣这种情况下,距离
(
x
,
y
)
(x,y)
(x,y)小于等于某个值d的像素会形成一个以
(
x
,
y
)
(x,y)
(x,y)为中心的菱形。例如距
(
x
,
y
)
(x,y)
(x,y)的
D
4
D_4
D4距离小于等于2的像素,会形成以下恒定距离的轮廓线:
其中
D
4
=
1
D_4=1
D4=1的像素是
(
x
,
y
)
(x,y)
(x,y)的4邻域。
棋盘距离 D 8 D_8 D8: 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∣)这种情况下,距离 ( x , y ) (x,y) (x,y)小于等于某个值d的像素会形成一个以 ( x , y ) (x,y) (x,y)为中心的方形。例如距 ( x , y ) (x,y) (x,y)的 D 8 D_8 D8距离小于等于2的像素,会形成以下恒定距离的轮廓线:
其中
D
8
=
1
D_8=1
D8=1的像素是
(
x
,
y
)
(x,y)
(x,y)的8邻域。
注意,p和q之间的 D 4 D_4 D4距离和 D 8 D_8 D8距离与任何通路无关,这些距离仅与点的坐标有关。
D
m
D_m
Dm距离:
考虑m邻接,两点之间的
D
m
D_m
Dm距离定义为点间的最短通路。例如按下图形式排列的像素:
我们考虑值为1的像素邻接(
V
=
1
V={1}
V=1)。并且
p
,
p
2
,
p
4
p,p_2,p_4
p,p2,p4的值为1。
- p 1 , p 3 p_1,p_3 p1,p3的值为0时,则 p 和 p 4 p和p_4 p和p4间的最短m通路长度( D m D_m Dm距离)为2
- p 1 p_1 p1为1, p 3 p_3 p3为0时, p 和 p 2 p和p_2 p和p2之间不再是m邻接的,并且 p 和 p 4 p和p_4 p和p4间的最短m通路长度为3( p p 1 p 2 p 4 p p_1 p_2 p_4 pp1p2p4)
- 如果 p 1 p 3 p_1 p_3 p1p3都为1,那么 p 和 p 4 p和p_4 p和p4间的最短m通路长度为4。( p p 1 p 2 p 3 p 4 p p_1 p_2p_3 p_4 pp1p2p3p4)