第二章 数字图像基础

2.1 视觉感知要素

人眼的结构:

image-20190923095828651

有三层薄膜包围着眼睛:角膜(Cornea)和巩膜(Sclera)外壳、脉络膜(Choroid)、视网膜(Retina)。

视网膜上有两类光感受器:锥状体和杆状体。锥状体视觉称为白昼视觉或亮视觉,杆状体视觉称为微光视觉或暗视觉。

image-20190923100619163

眼睛中图像的形成:

image-20190923101138324

人类视觉系统的特征:

  • 视觉适应性(Brightness adaption)
  • 马赫带效应(Mach band effect)
  • 同时对比效应(Simultaneus contrast)
  • 视觉错觉(Optical illusion)

2.2 光和电磁波谱

波长($\lambda$)与频率($\nu$)的关系:

$$ \lambda=c / \nu $$

电磁波谱各个分量的能量:

$$ E=h \nu $$

电磁波谱:

image-20190923102358188

可见光(彩色)谱分为6个主要区域:紫色、蓝色、绿色、黄色、橘黄色、红色。

有三个基本量用于描述彩色光源的质量:

  • 发光强度(radiance):从光源流出能量的总量,用瓦特(W)度量
  • 光通量(Luminance):观察者从光源感受到的能量,用流明数(lm)度量
  • 亮度(brightness):光感知的主观描述子,实际上不能度量

2.3 图像感知和获取

图像传感器:将能量转化为电压。

  • 单个传感器(Single Sensor)

    • 光二极管(Photodiode)
    • 压电晶元(Piezoelectric element)
  • 条带传感器(Sensor Strips)

    • CAT
    • Airborne imaging
    • Ultrasound array transducer
  • 阵列传感器(Sensor Arrays)

    • CCD – digital camera
  • 彩色图像(Color Images)

    • Use a Bayer’s mosaic pattern of R/G/B filters to reduce cost, then use demosaicing to construct full resolution color images

image-20190923103257725

简单的图像形成模型:

image-20190923104541470

使用形如 $f(x,y)$ 的函数来表示图像,当一幅图像由物理过程产生时,其亮度正比于物理源所辐射的能量,因此 $f(x,y)$ 的值一定是非零的和有限的:

$$ 0<f(x, y)<\infty $$

函数 $f(x,y)$ 可由两个分量来表征:

  • 入射分量(illumination component):入射到被观察场景的光源照射总量,表示为 $i(x, y)$;
  • 反射分量(reflectance component):场景中物体所反射的光照总量,表示为 $r(x,y)$。

我们有:

$$ f(x, y)=i(x, y) r(x, y) \quad 0<i(x, y)<\infty,0<r(x, y)<1 $$

令单色图像在任何坐标 $(x_0,y_0)$ 处的强度(灰度)表示为

$$ \ell=f\left(x_{0}, y_{0}\right) $$

由上式可知 $\ell$ 的取值范围为:

$$ L_{\min } \leqslant \ell \leqslant L_{\max } $$

理论上,仅要求 $L_{\min}$ 为正,$L_{\max}$为有限值。区间 $[L_{\min},L_{\max}]$ 称为灰度级(gray level)或强度级(intensity level)。实际情况下常令该区间为 $[0,L-1]$,其中 $\ell=0$ 为黑色,$\ell=L-1$ 为白色,所有中间值是从黑色到白色之间变化的灰度色调。

2.4 图像取样和量化

取样(sampling):将坐标值数字化。

量化(quantization):将幅值数字化。

image-20190923110628787

image-20190923111035742

数字图像表示——$f(x,y)$ 的3种表示方式:

  • 函数图(plot of function):难以可视化和理解
  • 可视灰度阵列(visual intensity array):便于可视化
  • 数值阵列(numerical array):便于处理和算法开发

image-20190923111636562

使用数值阵列表示图像:

$$ f(x, y)=\left[\begin{array}{cccc}{f(0,0)} & {f(0,1)} & {\cdots} & {f(0, N-1)} \\ {f(1,0)} & {f(1,1)} & {\cdots} & {f(1, N-1)} \\ {\vdots} & {\vdots} & {} & {\vdots} \\ {f(M-1,0)} & {f(M-1,1)} & {\cdots} & {f(M-1, N-1)}\end{array}\right] $$

该矩阵中的每个元素称为像素(pixel)。数字图像的原点位于左上角,其中正 $x$ 轴向下延伸,正 $y$ 轴向右延伸,即顺时针旋转90度后的笛卡尔坐标系。对于原点在 $(0,0)$,右下角在 $(M-1,N-1)$ 的 $M\times N$ 数字图像,其中心位于 $\left(x_{c}, y_{c}\right)=\left(\text { floor }\left(M/2\right), \text { floor }\left(N/2\right)\right)$ 处。在某些语言(如MATLAB)中,索引从1开始,此时图像中心为 $\left(x_{c}, y_{c}\right)=(\text { floor }(M / 2)+1, \text { floor }(N / 2)+1)$。

image-20190923113850378

对于 $M$ 和 $N$,除了必须取正整数以外没有其他限制;处于存储和量化硬件的考虑,灰度级数典型地取2的整数次幂:$L=2^{k}$。离散灰度级是等间隔的,且它们是区间 $[0,L-1]$ 内的整数。

饱和度(saturation):图像系统中最大可度量灰度

噪声(noise):图像系统中最小可检测灰度

image-20190923114655351

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

$$ b=M \times N \times k $$

当一幅图像有 $2^k$ 个灰度级时,称该图像为一幅“$k$ 比特图像”。

线性索引和坐标索引:

  • 线性索引(linear indexing):从 $0$ 到 $MN-1$
  • 坐标索引(coordinate indexing):从 $[0,0]$ 到 $[M-1,N-1]$
  • 坐标索引→线性索引:$\alpha=M y+x$
  • 线性索引→坐标索引:$(x,y)=(\alpha \bmod M,(\alpha-x) / M)$

image-20190923115913296

空间分辨率:每单位距离点数(像素数)。

  • dpi:每英寸点数

image-20190923120256538

灰度分辨率:在灰度级中可分辨的最小变化,表示为用于量化灰度的比特数。

image-20190923120330926

图像插值(interpolation):用于调整图像的大小,是一种图像重采样方法。

  • 最近邻插值(nearest neighbor interpolation)
  • 双线性插值(bilinear interpolation)

$$ v(x, y)=a x+b y+c x y+d $$

其中4个系数可由4个用 $(x,y)$ 的最近邻点写出的未知数方程确定。

  • 双三次插值(bicubic interpolation)

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

其中16个系数可由16个用 $(x,y)$ 的最近邻点写出的未知数方程确定。此方法是商业图像编辑程序的标准差值方法,如Photoshop。

2.5 像素间的基本关系

2.5.1 相邻像素

对于像素 $p=(x,y)$:

  • 4邻域 $N_4(p)$

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

  • 对角邻域 $N_D(p)$

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

  • 8邻域 $N_8(p)$

$$ N_4(p)\cup N_D(p) $$

2.5.2 像素之间的关系

邻接性

二值图像:$V=\{1\}$

灰度图像:$V=\left[L_{\min }, L_{\max }\right]$

  • 4邻接:如果 $q$ 在集合 $N_4(p)$ 中,则具有 $V$ 中数值的2个像素 $p,q$ 是4邻接的;
  • 8邻接:如果 $q$ 在集合 $N_8(p)$ 中,则具有 $V$ 中数值的2个像素 $p,q$ 是8邻接的;
  • m邻接(混合邻接):如果 (i) $q$ 在 $N_4(p)$ 中,或 (ii) $q$ 在 $N_D(p)$ 中,且集合 $N_{4}(p) \cap N_{4}(q)$ 中没有来自 $V$ 中数值的像素,则具有 $V$ 中数值的2个像素 $p,q$ 是m邻接的。

image-20190926213415073

连通性

通路(path):从像素 $p=(x,y)$ 到像素 $q=(s,t)$ 的像素序列 $\left(x_{0}, y_{0}\right),\left(x_{1}, y_{1}\right), \cdots,\left(x_{n}, y_{n}\right)$。其中 $\left(x_{0}, y_{0}\right)=(x, y),\left(x_{n}, y_{n}\right)=(s, t)$,且像素 $\left(x_{i}, y_{i}\right)$ 和 $\left(x_{i-1}, y_{i-1}\right)$ 对于 $1 \leqslant i \leqslant n$ 是邻接的。

连通(connected):像素 $p,q$ 之间存在一条通路。

连通分量(connected component):对于像素集 $S$ 中的任何像素 $p$,$S$ 中连通到该像素的像素集称为 $S$ 的连通分量。

连通集(connected set):$S$ 仅有一个连通分量。

区域

区域(region):像素子集 $R$ 如果是连通集,则称为一个区域。

邻接区域(adjacent region):联合形成一个连通集的2个区域。

不连接区域(disjoint region):联合不能形成一个连通集的2个区域。

边界

边界(boundary):区域 $R$ 的边界是与 $R$ 的补集中的点邻近的点的集合。

内边界(inner border):上述定义。

外边界(outer border):背景($R$ 的补集)的边界。

边缘(edge):由具有超过预先设定阈值的导数值的像素组成,是一个基于在进行灰度级度量时不连续点的“局部”概念。

2.5.3 距离度量

对于坐标分别为 $(x, y),(s, t),(v,w)$ 的像素 $p,q,z$,如果

  • $D(p, q) \geqslant 0$ ($D(p, q) = 0 $ 当且仅当 $p=q$ )
  • $D(p, q)=D(q, p)$
  • $D(p, z) \leqslant D(p, q)+D(q, z)$

则 $D$ 是距离函数或度量(metric)。

几种距离度量:

  • 欧氏距离(Euclidean distance)

$$ D_{e}(p, q)=\left[(x-s)^{2}+(y-t)^{2}\right]^{\frac{1}{2}} $$

  • 街区距离(City-block distance)

$$ D_{4}(p, q)=|x-s|+|y-t| $$

  • 棋盘距离(Chessboard distance)

$$ D_{8}(p, q)=\max (|x-s|,|y-t|) $$

两个点之间的 $D_m$ 距离定义为最短的m-通路的长度(m-通路指的是m邻接情况下的通路)。

image-20190926223231267

2.6 数字图像处理中的数学工具

2.6.1 阵列与矩阵操作

阵列相乘:

$$ \left[\begin{array}{ll}{a_{11}} & {a_{12}} \\ {a_{21}} & {a_{22}}\end{array}\right]\left[\begin{array}{ll}{b_{11}} & {b_{12}} \\ {b_{21}} & {b_{22}}\end{array}\right]=\left[\begin{array}{ll}{a_{11} b_{11}} & {a_{12} b_{12}} \\ {a_{21} b_{21}} & {a_{22} b_{22}}\end{array}\right] $$

矩阵相乘:

$$ \left[\begin{array}{ll}{a_{11}} & {a_{12}} \\ {a_{21}} & {a_{22}}\end{array}\right]\left[\begin{array}{ll}{b_{11}} & {b_{12}} \\ {b_{21}} & {b_{22}}\end{array}\right]=\left[\begin{array}{ll}{a_{11} b_{11}+a_{12} b_{21}} & {a_{11} b_{12}+a_{12} b_{22}} \\ {a_{21} b_{11}+a_{22} b_{21}} & {a_{21} b_{12}+a_{22} b_{22}}\end{array}\right] $$

2.6.2 线性操作与非线性操作

线性操作:

$$ H[f(x, y)]=g(x, y) $$

$$ H\left[a_{i} f_{i}(x, y)+a_{j} f_{j}(x, y)\right]=a_{i} H\left[f_{i}(x, y)\right]+a_{j} H\left[f_{j}(x, y)\right]=a_{i} g_{i}(x, y)+a_{j} g_{j}(x, y) $$

2.6.3 算术操作

阵列操作是图像间的算术操作。

算术操作在像素对之间执行。

$$ \begin{array}{l}{s(x, y)=f(x, y)+g(x, y)} \\ {d(x, y)=f(x, y)-g(x, y)} \\ {p(x, y)=f(x, y) \times g(x, y)} \\ {v(x, y)=f(x, y) \div g(x, y)}\end{array} $$

2.6.4 集合和逻辑操作

$$ C=A \cup B $$

$$ D=A \cap B $$

$$ A^{c}=\{w | w \notin A\} $$

$$ A-B=\{w | w \in A, w \notin B\}=A \cap B^{c} $$

$$ X \times Y=\{(x, y) | x \in X \text { and } y \in Y\} $$

2.6.5 空间操作

仿射变换:

$$ \left[\begin{array}{l}{x^{\prime}} \\ {y^{\prime}} \\ {1}\end{array}\right]=\boldsymbol{A}\left[\begin{array}{l}{x} \\ {y} \\ {1}\end{array}\right]=\left[\begin{array}{ccc}{a_{11}} & {a_{12}} & {a_{13}} \\ {a_{21}} & {a_{22}} & {a_{23}} \\ {0} & {0} & {1}\end{array}\right]\left[\begin{array}{l}{x} \\ {y} \\ {1}\end{array}\right] $$

image-20190927130238705

前向映射(forward mapping):扫描输入图像的像素,并在每个位置 $(x,y)$ 处直接计算输出图像中相应像素的空间位置 $(x',y')$。

反向映射(inverse mapping):扫描输出图像的像素,并在每个位置 $(x',y')$ 处使用 $(x, y)=A^{-1}\left(x^{\prime}, y^{\prime}\right)$ 计算输入图像中的相应位置。然后使用内插技术确定输出像素的灰度值。

2.6.6 向量与矩阵操作

欧氏距离:

$$ \begin{aligned} D(\boldsymbol{z}, \boldsymbol{a}) &=\|\boldsymbol{z}-\boldsymbol{a}\|=\left[(\boldsymbol{z}-\boldsymbol{a})^{T}(\boldsymbol{z}-\boldsymbol{a})\right]^{\frac{1}{2}} \\ &=\left[\left(z_{1}-a_{1}\right)^{2}+\left(z_{2}-a_{2}\right)^{2}+\cdots+\left(z_{n}-a_{n}\right)^{2}\right]^{\frac{1}{2}} \end{aligned} $$

线性变换:

$$ \boldsymbol{w}=\boldsymbol{A}(\boldsymbol{z}-\boldsymbol{a}) $$

图像线性处理:

$$ \boldsymbol{g}=\boldsymbol{H} \boldsymbol{f}+\boldsymbol{n} $$

2.6.7 图像变换

二维线性变换:

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

其中 $r(x,y,u,v)$ 称为正变换核(forward transform kernel)。

反变换:

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

其中 $s(x, y, u, v)$ 称为反变换核(inverse transformation kernel)。

image-20190927132656181

Last modification:November 5th, 2019 at 02:15 pm
如果觉得我的文章对你有用,请随意赞赏