signed

QiShunwang

“诚信为本、客户至上”

数字图像学习笔记 -- 数字图像基础

2021/4/26 19:26:45   来源:

一 成像模型

我们用二维函数f(x, y) 来表示图像。在空间坐标(x, y)f的值是一个标量,其物理意义由图像源决定,其值与物理源辐射的能量成正比。

区间[L_{min}, L_{max}]称为亮度级(灰度级)。实际工作中常将这类区间表示为[0, 1][0, C],其中L = 0表示黑色,L = 1表示白色。

 

二 图像取样和量化

1. 取样和量化的基本概念

对于一幅连续图像,我们需要将它转化成数字形式。一幅图像的x坐标和y坐标是连续的,其幅度也是连续的。要将函数数字化,就要对该函数的坐标和幅度进行取样。对坐标值进行数字化称为取样(采样),对幅度值进行数字化称为量化。

 

2. 数字图像表示

f(x, y)表示一个有两个连续变量st的连续图像函数。

假设把一幅连续图像取样为一幅数字图像f(x, y),该图像包含有M行和N列,其中(x, y)是离散坐标。

一般来说,数字图像在任何坐标(x, y)处的值记为f(x, y),其中xy都是整数。

由图像的坐标张成的实平面部分称为空间域,xy称为空间变量或空间坐标。

f(x, y) = \begin{equation} \left [ \begin{array}{ccc} f(0,0) & f(0, 1) & ... \qquad f(0, N - 1) \\ f(1, 0) & f(1, 1) & ... \qquad f(1, N - 1) \\ .. & .. & .. \\ f(M - 1, 0) & f(M - 1, 1) & ...\qquad f(M - 1, N - 1) \end{array} \right ] \end{}

一幅图像中的可观像素数量具有高动态范围时,称之为该图像具有高对比度。

存储数字图像所需的比特数b为:

                                     b = MNk

M = N是,上式变为:

                                     b = N^2k

1字节等于8比特,1兆字节等于10^6字节。

一幅图像具有2^k个可能的灰度级时,我们通常称该图像是一幅"k比特图像"。

 

3. 线性索引和坐标索引

一个像素的位置由其二维坐标给出的约定,称为坐标索引或下标索引。

在图像处理中广泛使用的线性索引,由一个一维的非负整数串组成,这个非负整数串是通过计算到坐标(0, 0)的偏移量得到的。

线性索引主要是两种:一种基于图像的行扫描;另一种基于图像的列扫描;

 

4. 空间分辨率和灰度分辨率

空间分辨率是图像中最小可辨别细节的测度。

灰度分辨率是指在灰度级中可分辨的最小变化。

灰度分辨率通常是指量化灰度时所用的的比特数。

 

5. 图像内插

内插通常在图像放大,缩小,旋转和几何校正等任务中使用。

内插是用已知数据来估计未知未知的值的过程。

双线性内插,使用4个最近邻的灰度来计算给定位置的灰度。令(x, y)表示待赋灰度值的位置的坐标,令v(x, y)表示灰度值。其公式为:

                                                                       v(x, y) = ax + by + cxy + d

上式中,4个系数可用由点(x, y)的4个最近邻点写出的4个未知方程求出。双线性内插的结果要比最近邻内插的结果好得多,但计算量会随之增大。

双三次内插,它包括16个最近邻点。其公式为:

                                                                       v(x, y) = \sum_{i = 0}^{3} \sum_{j=0}^{3}a_{ij}x^{i}y^{j}

上式中,16个系数可用由点(x, y)的16个最近邻点写出的16个未知方程求出。通常,双三次内插在保留细节方面确实要强于双线性内插。

内插时可以使用更多的邻点,并且存在使用样条和小波的复杂技术,采用这些技术可以得到更好的结果。

 

三 像素间的一些基本关系

1. 像素的相邻像素

坐标(x, y)处的像素p有2个水平的相邻像素和2个垂直的相邻像素,它们的坐标是:

                                  (x + 1, y), (x - 1, y), (x, y + 1), (x, y - 1)

这组像素称为p的4邻域,用N_{4}(p)表示。

p的4个对角相邻像素的坐标是:

                       (x + 1, y + 1), (x + 1, y - 1), (x - 1, y + 1), (x - 1, y - 1)

N_{D}(p)表示。这些相邻像素和4邻域合称为p的8邻域,用N_{8}(p)表示。

p的相邻像素的图像位置集称为p的邻域。如果一个邻域包含p,那么称该邻域为闭邻域,否则称该邻域为开邻域。

2. 邻接,连通,区域和边界

令V是用于定义邻接的灰度值集合。在二值图像中,指值为1的像素的邻接时,V = { 1 } 。

三种类型的邻接:

1. 4邻接。q在集合N_{4}(p)中时,值在V中的两个像素pq是4邻接的。

2. 8邻接。q在集合N_{8}(p)中时,值在V中的两个像素pq是8邻接的。

3. m邻接(混合邻接)。如果:(a) qN_{4}(p) 中,或(b) qN_{D}(p)中,且集合N_{4}(p) \cap N_{4}(q)中没有值在V中的像素,那么值的V中的两个像素pqm邻接。

混合邻接是8邻接的改进,目的是消除采用8邻接时可能导致的歧义性。

从坐标为(x_0, y_0)的像素p到坐标(x_n, y_n)的像素q的数字通路(或曲线)是不同的像素序列,这些的像素坐标为:

                                                             (x_0, y_0), (x_1, y_1), ..., (x_n, y_n)

式中,点(x_i, y_i)(x_{i - 1}, y_{i - 1})在 1 \le i \le n时是邻接的。n是通路的长度。(x_0, y_0) = (x_n, y_n)时,通路是闭合通路。

 

S表示图像中像素的一个子集。如果完全由S中所有像素组成的两个像素pq之间存在一个通路,那么称pqS中是连通的。对于S中的任意像素p,在S中连通到该像素的像素集称为S的连通分量。若S仅有一个连通分量,则集合S称为连通集。

R表示图像中像素的一个子集。若R是一个连通集,则称R为图像的一个区域。两个区域R_iR_j联合形成一个连通集时,称R_iR_j为邻接区域。不邻接的区域称为不相交区域。

2. 距离测度

对于坐标分别为(x, y)(u, v)(w, z)的像素pqs,如果:

D(p, q) \geq 0  [ D(p, q) = 0, 当且仅当 p = q]

D(p, q) = D(q, p) 且

D(p, s) \le D(p, q) + D(q, s)

D是一个距离函数或距离测度。pq之间的欧几里得距离定义为:

                             D_{e}(p, q) = [(x - u)^2 + (y - v)^2]^{\frac {1}{2}}

对于这个距离测度,到点(x, y)的距离小于等于r的像素,是中心在(x, y),半径为r的圆盘。

pq之间的距离D_4定义为:

                                           D_4(p, q) = |x - u| + |y - v|

此时,到(x, y)的距离D_4小于等于d的像素形成一个中心为(x, y)的菱形。

 

pq之间的距离D_8定义为:

                                           D_8(p, q) = max(|x - u|, |y - v|)

此时,到(x, y)的距离D_8小于等于d的像素形成一个中心为(x, y)的方形。

3. 空间运算

分为三类:

  1. 单像素运算;
  2. 邻域运算;
  3. 几何空间变换;

 

单像素运算

用一个变换函数T改变图像中各个像素的灰度:

                                s = T(z)

式中,z是原图像中像素的灰度,s是处理后图像中对应像素的灰度。

 

邻域运算

S_{xy}代表图像f中以任意一点(x, y)为中心的一个邻域的坐标集。邻域处理在输出图像g中的相同坐标处生成一个对应的像素,这个像素的值由输入图像中邻域像素的规定运算和集合S_{xy}中的坐标确定。平均运算公式为:

                                                                   g(x, y) = \frac {1}{mn} \sum_{(r, c) \in S_{xy} }f(r, c)

式中,rc是像素的行坐标和列坐标,这些坐标属于集合S_{xy}

 

几何变换

几何变换改变图像中像素的空间排列。

数字图像的几何变换由两种基本运算组成:

  1. 坐标的空间变换;
  2. 灰度内插,即为空间变换后的像素赋灰度值;

坐标变换可表示为:

                      \left [ \begin{matrix} x' \\ y' \end{matrix} \right] = T \left [ \begin{matrix} x \\ y \end{matrix} \right] = \left[ \begin{matrix} t_{11} & t_{12} \\ t_{21} & t_{22} \end{matrix} \right ] \left[ \begin{matrix} x \\ y \end{matrix} \right ]

二维仿射变换的关键性质是,它保留点,直线和平面。

采用3 x 3矩阵,用齐次坐标来表示所有4个仿射变换是可能的:

                    \left[ \begin{matrix} x' \\ y' \\ 1 \end{matrix} \right ] = A \left[ \begin{matrix} x \\ y \\ 1 \end{matrix} \right ] = \left[ \begin{matrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ 0 & 0 & 1 \end{matrix} \right ] \left [ \begin{matrix} x \\ y \\ 1 \end{matrix} \right ]

这个变换可根据为矩阵A选择的元素值,对图像进行缩放,旋转,平移或剪切变换。

 

 

4. 图像变换

表示为T(u, v)的二维线性变换是一种特别的重要的变换,其通式为:

                       T(u, v) = \sum_{x=0}^{M - 1} \sum_{y=0}^{N-1}f(x, y)e^{-j2\pi(ux / M + vy / N)}

式中,f(x, y)是输入图像,r(x, y, u, v)称为正变换核。(x和y是空间变量,M和N是f的行数和列数, uv称为变换变量)。T(u, v)称为f(x, y)的正变换。

 

已知T(u, v),我们用T(u, v)的反变换还原f(x, y)

                      f(x, y) = \sum_{u = 0}^{M - 1} \sum_{v = 0}^{N - 1} T(u, v)s(x, y, u, v)

式中,x = 0, 1, 2, ..., M - 1, y = 0, 1, 2, ..., N - 1s(x, y, u, v)称为反变换核。

变换的性质取决于变换核。

在数字图像处理中特别重要的一种变换是傅立叶变换,它具有如下正变换核和反变换核:

                             r(x, y, u, v) = e^{-j2 \pi (\frac {ux} {M} + \frac {vy} {N})}

                             s(x, y, u, v) = \frac {1} {MN} e^{j2 \pi (\frac {ux} {M} + \frac {vy} {N})}

式中,j = \sqrt{-1},因此这些变换核是复函数。可得到离散傅立叶变换对:

                           T(u, v) = \sum_{x=0}^{M-1} \sum_{y=0}^{N-1} f(x, y)e^{-j2 \pi (\frac {ux}{M} + \frac {vy} {N})}

                          f(x, y) = \frac {1} {MN} (\sum_{u=0}^{M-1} \sum_{v=0}^{N-1}T(u, v)e^{j2 \pi (ux / M + vy / N)})

 

当正,反变换核可分,对称,且f(x, y)是大小为M x M的方形图像时,可表示为矩阵形式:

                                                 T = AFA

式中,F是包含f(x, y)的元素的M x M矩阵;A 是元素为a_{ij} = r_1(i, j)的M x M 矩阵,T是元素为T(u, v), u, v = 0, 1, 2, ..., M - 1的M x M变换矩阵。

为得到反变换,我们用反变换矩阵B前乘和后乘式:

                                                  BTB = BAFAB

B = A^{-1},则

                                                F = BTB

该式表明F或等效的f(x, y)可由其正变换完全恢复。若B \neq A^{-1},则:

                                              \hat F = BAFAB

5. 图像灰度和随机变量

灰度级z_k在这幅图像中出现的概率p(z_k)计算为:

                               p(z_k) = \frac {n_k} {MN}

式中,n_k是灰度级z_k在图像中出现的次数,MN是像素总数。很明显有:

                                 \sum_{k =0}^{L-1}p(z_k) = 1

均值灰度为: 

                                 m = \sum_{k=0}^{L - 1} z_k p(z_k)

同理,灰度的方差为:

                                \sigma ^ 2 = \sum_{k=0}^{L-1} (z_k - m)^2 p(z_k)

 

一般来说,随机变量z相对于均值的第n阶中心矩定义为:

                                \mu_n (z) = \sum_{k = 0}^{L - 1} (z_k - m)^n p(z_k)