【数字图像处理】数字图像获取(MOOC)
一、图像数字化
图像数字化是将一幅画面转化成计算机能处理的形式——数字图像的过程。
把一幅图画分割成如图的一个个小区域(像元或像素),并将各小区域灰度用整数来表示,形成一幅点阵式的数字图像。它包括采样和量化两个过程。像素的属性=( 位置,灰度/颜色)
1.1 数字图像的表示
数字图像用矩阵来描述:以一幅数字图像F左上角像素中心为坐标原点,一幅m × n的数字图像用矩阵表示为:
F
=
[
f
(
0
,
0
)
f
(
0
,
1
)
⋯
f
(
0
,
n
−
1
)
f
(
1
,
0
)
f
(
1
,
1
)
⋯
f
(
0
,
n
−
1
)
⋮
⋮
⋱
⋮
f
(
m
−
1
,
0
)
f
(
m
−
1
,
0
)
⋯
f
(
m
−
1
,
n
−
1
)
]
F=\begin{bmatrix} f{(0,0)} & f{(0,1)} & \cdots& f{(0,n-1)} \\ f{(1,0)} & f{(1,1)} & \cdots& f{(0,n-1)} \\ \vdots & \vdots& \ddots& \vdots \\ f{(m-1,0)} & f{(m-1,0)} & \cdots& f{(m-1,n-1)} \end{bmatrix}
F=⎣
⎡f(0,0)f(1,0)⋮f(m−1,0)f(0,1)f(1,1)⋮f(m−1,0)⋯⋯⋱⋯f(0,n−1)f(0,n−1)⋮f(m−1,n−1)⎦
⎤
数字图像根据灰度级数的差异可分为:黑白图像、灰度图像和彩色图像
黑白图像 | 灰度图像 | 彩色图像 |
---|---|---|
![]() | ![]() | ![]() |
1.2 图像数字化过程
1.2.1 采样
采样:将空间上连续的图像变换成离散点的操作称为采样。
采样间隔和采样孔径的大小是两个很重要的参数。
采样间隔 | 采样孔径 |
---|---|
![]() | ![]() |
- 采样间隔越大,所得图像像素数越少,空间分辨率低,质量差;
- 采样间隔越小,所得图像像素数越多,空间分辨率高,图像质量好,但数据量大。
下图像素数从256×256递减至8×8。
1.2.2 量化
量化:将像素灰度转换成离散的整数值的过程。
灰度级 | 图像数据量 |
---|---|
一幅数字图像中不同灰度值的个数称为灰度级,用G表示。一般数字图像灰度级数G为2的整数幂,即 G = 2 g G = 2^g G=2g为量化bit数。 | 一幅M×N、灰度级数为G的图像所需的存储空间M × N × g(bit)为图像数据量。 |
- 量化等级越多,所得图像层次越丰富,灰度分辨率越高,质量越好,但数据量大;
- 量化等级越少,图像层次欠丰富,灰度分辨率低,质量变差,会出现假轮廓现象,但数据量小。
下图为采样间距相同时灰度级数从256逐次减少为64、16、8、4、2所得图像。
二、数字图像处理算法的形式
2.1 基本功能形式
按图像处理的输出形式,图像处理的基本功能可分为三种形式。
1)单幅图像 → 单幅图像
2)多幅图像 →单幅图像
3)单(或多)幅图像→ 数字或符号等
2.2 几种具体算法形式
2.2.1 局部处理
对输入图像IP(i,j)
处理时,某一输出像素JP(i,j)
值由输入图像像素(i,j)
及其邻域N(IP(i,j))
中的像素值确定。这种处理称为局部处理。
局部处理的计算表达式为 J P ( i , j ) = ϕ N ( N ( I P ( i , j ) ) ) JP(i,j)=\phi_N(N(IP(i,j))) JP(i,j)=ϕN(N(IP(i,j)))
局部处理例子:对一幅图象采用3×3卷积核进行卷积运算
补充概念:邻域
邻域:对于任一像素(i,j),该像素周围的像素构成的集合。
常用的邻域如图,分别表示中心像素的4-邻域、8-邻域
点处理 | 大局处理 |
---|---|
在局部处理中,当输出值JP(i,j)仅与IP(i,j)有关,则称为点处理。 | 在局部处理中,输出像素JP(i,j)的值取决于输入图像大范围或全部像素的值,这种处理称为大局处理。 |
计算表达式: J P ( i , j ) = ϕ p ( I P ( i , j ) ) JP(i,j)=\phi_p(IP(i,j)) JP(i,j)=ϕp(IP(i,j)) | 计算表达式: J P ( i , j ) = ϕ G ( G ( I P ( i , j ) ) ) JP(i,j)=\phi_G(G(IP(i,j))) JP(i,j)=ϕG(G(IP(i,j))) |
![]() | ![]() |
2.2.2 迭代处理
反复对图像进行某种运算直至满足给定的条件,从而得到输出图像的处理形式称为迭代处理。
2.2.3 跟踪处理
选择满足适当条件的像素作为起始像素,检查输入图像和已得到的输出结果,求出下一步应该处理的像素,进行规定的处理,然后决定是继续处理下面的像素,还是终止处理。这种处理形式称为跟踪处理。
2.2.4 窗口处理与模板处理
单独对图像中选定的矩形区域内的像素进行处理的方式叫做窗口处理 。
边参照模板平面边对图象进行某种操作的方式叫模板处理
希望单独处理任意形状的区域时,可采用模板处理
- 模板:任意形状的区域;
- 模板平面:一个和处理图像相同大小的二维数组,用来存储模板信息。一般是一幅二值图像;
2.2.5 串行处理和并行处理
①串行处理
后一像素输出结果依赖于前面像素处理的结果,并且只能依次处理各像素而不能同时对各像素进行相同处理的一种处理形式。
特点:用输入图像的第(i,j)像素邻域的像素值和输出图像(i,j)以前像素的处理结果计算输出图像(i,j)像素的值。处理算法要按一定顺序进行。
②并行处理
对图像内的各像素同时进行相同形式运算的一种处理形式。
特点:输出图像像素(i,j)的值,只用输入图像的(i,j)像素的邻域像素进行计算。各输出值可以独立进行运算。
三、图像的数据结构
图像数字结构是指图像像素灰度值的存储方式,常用方式是将图像各像素灰度值用一维或二维数组相应的各元素加以存储。此外介绍其他方式
3.1 组合方式
一个字长存放多个像素灰度值。
特点:节省内存,但计算量增加,处理程序复杂
3.2 比特面方式
将所有像素灰度的相同比特位用一个二维数组表示,形成比特面。n个比特位表示的灰度图像按比特面方式存取,就得到n个比特面。
特点:能充分利用内存空间,便于进行比特面之间的运算,但对灰度图像处理耗时多。
3.3 分层结构
对
2
k
×
2
k
2^k×2^k
2k×2k个像素形成的图像,依次构成分辨率下降的k+1幅图像的层次集合。
从原图像
I
0
I_0
I0开始,依次产生行列像素数都变为1/2的一幅幅的图像
I
1
,
I
2
,
.
.
.
,
I
k
I_1,I_2,...,I_k
I1,I2,...,Ik。此时,作
为图像
I
i
I_i
Ii的各像素的值,就是它前一个图像
I
i
−
1
I_{i-1}
Ii−1的相应的2×2像素的灰度的平均值。
特点:先对低分辨率图像进行处理,然后根据需要对高分辨率图像进行处理,可提高效率。
3.4 树结构
对于一幅二值图像的行、列接连不断地二等分,如果图像被分割部分中的全体像素都变成具有相同的特征时,这一部分则不再分割。
3.5 多重图像数据存储
对于彩色图像或多波段图像而言,每个像素包含着多个波段的信息。
存储方式有三种:
逐波段存储 | 逐行存储 | 逐像素存储 |
---|---|---|
![]() | ![]() | ![]() |
分波段处理时采用 | 逐行扫描记录设备采用 | 用于分类 |
四、图像文件格式
按不同的方式进行组织或存储数字图像像素的灰度,就得到不同格式的图像文件。图像文件按其格式的 不同具有相应的扩展名。
常见的图像文件格式按扩展名分为:RAW格式、BMP格式、TGA格式、PCX格式、GIF格式、TIFF格式等。这些图像格式都大致包含下列特征:
(1)描述图像的高度、宽度以及各种物理特征的数据。
(2)彩色定义
(3)描述图像的位图数据体
下面只对BMP格式作较详细介绍,其他格式只做简介。
4.1.1 RAW格式
RAW格式是将像素按行列号顺序存储在文件中。这种文件只含有图像像素数据,不含有信息头,因此,
在读图像时,需要事先知道图像大小(矩阵大小)。是最简单的一种图像文件格式。
4.1.2 BMP格式
BMP格式由以下四个部分组成
1)14字节的文件头;
2)40字节的信息头;
3)8字节的颜色定义;
4)位图数据。
-
1)位图文件头
BITMAPFILEHEADER
的结构如下:typedef struct tagBITMAPFILEHEADER{ WORD bfType; /*指定文件类型,必须是0x424D,即字符串“BM” */ DWORD bfSize; /*指定文件大小 */ WORD bfReserved1;/*保留字 */ WORD bfReserved2; /*保留字 */ DWORD bfOffBits;/*文件头到实际的位图数据的偏移字节数 */ }BITMAPFILEHEADER, FAR *LPBITMAPFILEHEADER;
该结构的长度是固定的,为14个字节
-
2)位图信息头BITMAPINFOHEADER
结构的长度为40个节 , 其结构如下typedef struct tagBITMAPINFOHEADER{ DWORD bfSize; /* 指定这个结构的大小,为40个字节*/ LONG biWidth; /*指定图像的宽度,单位是像素*/ LONG biHeight; /*指定图像的高度,单位是像素;*/ WORD biPlanes; /*必须是1 */ WORD biBitCount; /*指定表示颜色位数,1(黑白)8(256色)、24(真彩色)*/ DWORD biCompression; /*指定是否压缩,分别为BI_RGB、BI_RLE4、BI_RLE8 */ DWORD biSizeImage; /*指定实际的位图数据占用的字节数。*/ LONG biXPelsPerMeter; /*指定目标设备的水平分辨率*/ LONG biYPersPerMeter; /*指定目标设备的垂直分辨率*/ DWORD biClrUsed; /*指定本图像实际用到的颜色数*/ DWORD biClrImportant; /*指定本图像中重要的颜色数*/ }BITMAPINFOHEADER, FAR *LPBITMAPINFOHEADER;
-
3)palette(调色板)
调色板实际上是一个数组 ,数组中每个元素的类型为一个RGBQUAD
结构,占4个字节typedef struct tagRGBQUAD{ BYTE rgbBlue; BYTE rgbGreen; BYTE rgbRed; BYTE rgbReserved; }RGBQUAD;
有些位图,比如真彩色图,没有调色板。他们的位图信息头后直接是位图数据。
-
4)位图数据
位图数据分两种情况:对于用到调色板的位图,图像数据就是该像素颜色在调色板中的索引值;对于真彩色图,图像数据就是实际的R、G、B值。
4.1.3 GIF格式
GIF图像是基于颜色列表的,最多支持8位。GIF支持在一幅GIF文件中存放多幅彩色图像,并且可以按照一定的顺序和时间间隔将多幅图像依次读出并显示在屏幕上,这样就可以形成一种简单的动画效果。
GIF一般有七个数据区组成:头文件、通用调色板、位图数据区以及四个扩充区。
4.1.4 TIFF文件
TIFF图像文件主要由三部分组成:文件头、标识信息区和图像数据区。
五、图像特征
5.1 图像的特征类别
按是否人工提取分类:
- 1.自然特征 ①光谱特征 ②几何特征 ③时相特征
- 2.人工特征 ①直方图特征 ②灰度边缘特征 ③线、角点、纹理特征
按提取特征的范围大小分类:
-
①点特征
仅由各个像素就能决定的性质。如单色图像中的灰度值、彩色图像中的红®、绿(G)、蓝(B)成分的值。 -
②局部特征
在小邻域内所具有的性质,如线和边缘的强度、方向、密度和统计量(平均值、方差等)等。 -
③区域特征
的具有一定性质的区域在图像内的对象物 (一般是指与该区域外部有区别或者统计量,以及区域的几何特征)内的点或者局部的特征分布,(面积、形状)等。 -
④整体特征
整个图像作为一个区域看待时的统计性质和结构特征等。
灰度直方图特征介绍: 灰度直方图是反映一幅图像中各灰度级像素出现的频率与灰度级的关系。以灰度级为横坐标,频率为纵坐标,绘制频率同灰度级的关系图就是一幅灰度图像的直方图。它是图像的一个重要特征,反映了图像灰度分布的状况。
频率计算: V i = n i / n V_i = n_i/n Vi=ni/n
特性:
- 灰度直方图只能反映图像的灰度分布情况,而不能反映图像像素的位置,即丢失了像素的位置信息。
- 一幅图像对应唯一的灰度直方图,反之不成立。不同的图像可对应相同的直方图。
- 一幅图像分成多个区域,多个区域的直方图之和即为原图像的直方图。
应用:用于判断图像量化是否恰当、用于确定图像二值化的阈值…
5.2 特征提取
获取图像特征信息的操作称作特征提取。它作为模式识别、图像理解或信息量压缩的基础是很重要的。通过特征提取,可以获得特征构成的图像(称作特征图像)和特征参数。
5.3 特征空间
把从图像提取的m个特征量
𝑦
1
,
𝑦
2
,
…
,
𝑦
𝑚
,
𝑦_1 ,𝑦_2, …,𝑦_𝑚,
y1,y2,…,ym,用m维的向量
Y
=
[
𝑦
1
,
𝑦
2
,
…
,
𝑦
𝑚
]
𝑡
Y=[𝑦_1 , 𝑦_2, … ,𝑦_𝑚]^𝑡
Y=[y1,y2,…,ym]t表示称为特征向量。另外,对应于各特征量的m维空间叫做特征空间。
六、图像噪声
图像系统常见的噪声 ①光电管噪声 ②摄像管噪声 ③前置放大器噪声 ④光学噪声
6.1 噪声种类
①外部噪声。如天体放电干扰、电磁波从电源线窜入系统等产生的噪声。
②内部噪声。系统内部产生,主要包括四种:由光和电的基本性质引起的、机械运动产生的噪声、元器件噪声、系统内部电路噪声。
6.2 噪声特征
对灰度图像 f ( x , y ) f(x,y) f(x,y)来说,可看做二维亮度分布,则噪声可看做对亮度的干扰,用 n ( x , y ) n(x,y) n(x,y)表示。常用统计特征来描述噪声,如均值、方差(交流功率)、总功率等。
6.3 噪声的模型
按噪声对影像的影响可分为加性噪声模型和乘性噪声模型两大类。设f(x,y)为理想图像,n(x,y)为噪
声, 实际输出图像为g(x,y)。
①加性噪声,与图像光强大小无关
g
(
x
,
y
)
=
f
(
x
,
y
)
+
n
(
x
,
y
)
g(x,y)= f(x,y)+ n(x,y)
g(x,y)=f(x,y)+n(x,y)
②乘性噪声,与图像光强大小相关,随亮度大小变化而变化。
g
(
x
,
y
)
=
f
(
x
,
y
)
[
1
+
n
(
x
,
y
)
]
g(x,y)=f(x,y)[1+ n(x,y)]
g(x,y)=f(x,y)[1+n(x,y)]