Digital Image Processing Review

数字图像处理

课程概述

参考教材

考核

  1. 三个作业(15+15+10=40%)

  2. 期末考试(60%)

课程主页:http://lamda.nju.edu.cn/chenyuhui/dip19/dip19.html

CH1 数字图像处理概述

采样:用有限的样本数目去近似无限的现实物理信号;或简而言之,有限近似无限

量化:用离散计算机表示去近似连续的现实物理信号;或简而言之,离散近似连续

把物理世界表示到计算机中来是数字图像获取的关键

有大量细节的图像,需要的量化级数较少

**最佳量化:**使量化误差最小的量化方法, 使用公式推导

CH2 空间域图像处理

图像内插

像素间的基本关系

背景知识

图像增强是领域特殊的。

两大类方法:

空间域方法是直接对像素操作的过程

$g(x,y)= T(f(x,y))$, $T$ 为操作算子,定义在$(x,y)$ 的邻域。

边界怎么办? 忽略外部、填充

两种类型

基本灰度变换

三类基本函数:线性函数、对数函数、幂律函数

值越低,颜色越深

图像反转

$S = L - 1-r, L= 2^b$

增强嵌入在暗区域中的白色或灰色细节

对数变换

$s = c \log (1+r)$

幂律变换

$s = c r^{\gamma}$

分段线性函数

可以只拉伸某些灰度级上的对比度

灰度直方图

阈值面积函数A(D)

概率密度函数(PDF)

累积分布函数(CDF)

定义

应用

直方图处理

直方图均衡化

直方图呈均匀分布时,对比度会有明显增强。通过灰度变换函数,将原图像直方图的分布均衡化,这一过程称为直方图均衡化。

$p_s(s) = p_r(r) |\frac{dr}{ds}| = p_r(r) |(\frac{ds}{dr})^{-1}| = p_r(T^{-1}(s))\frac{1}{T'(T^{-1}(s))}$

变换函数

直方图匹配(规定化)

核心思想:以平衡化直方图图像为桥梁

先把A转化成均衡化图像B, 再把B转化成图像C。

局部直方图处理

步骤:

在图像增强中使用直方图统计

灰度平均值: $m = \sum_{i=0}^{L-1} r_i p(r_i)$

n阶距: $\mu_n(r) = \sum_{i=0}^{L-1} (r_i -m)^np(r_i)$

采样均值: $m = \frac{1}{MN} \sum_{x=0}^{M-1} \sum_{y=0}^{N-1}f(x,y)$

采样方差: $\sigma^2 = \frac{1}{MN} \sum_{x=0}^{M-1} \sum_{y=0}^{N-1}[f(x,y)- m]^2$

空间滤波

空间滤波机理

空间相关与卷积

线性滤波的向量表示

空间滤波器模板

平滑线性滤波器

统计排序滤波器

锐化空间滤波器

数学基础

直观的结论

使用二阶微分对图像锐化

非锐化掩蔽

使用一阶微分对图像锐化

算术操作增强

空间域图像增强(Part IV)

灰度图像的集合操作

逻辑操作

单像素操作

邻域操作

单像素操作、邻域操作对单幅图像做处理,不改变像素的空间位置

算术/逻辑运算对多幅图像做处理,也不改变像素的空间位置

几何变换

仿射变换

图像配准

点匹配法

线性内插

双线性内插

频率域图像增强,傅里叶变换

傅里叶级数:任何周期函数都可以表示为不同频率的正弦函数和/或余弦函数加权之和。

傅里叶变换:非周期函数也可以表示为不同频率的正弦函数和/或余弦函数加权之后的积分。

欧拉公式:$e^{j \theta} = \cos \theta + j \sin \theta $

在0处的连续单位冲激:$\delta(t) = \begin{cases} \infty & \text{if } t= 0\ 0 & \text{if } t \not= 0 \end{cases}$, 且满足 $\int_{-\infty}^{\infty} \delta(t) dt =1$

采样性质: $\int_{-\infty}^{\infty} f(t) \delta(t) dt = f(0)$

在$t_0$处的连续单位冲激:$\delta(t-t_0)$

在0处的离散单位冲激: $\delta(x) = \begin{cases} 1 & x=0 \ 0 & x \not= 0\end{cases}$ ,且满足$\sum\limits_{x=-\infty}^{\infty} \delta(x) = 1$

采样性质$\sum\limits_{x=-\infty}^{\infty} f(x) \delta(x) = f(0)$

在$x_0$处的离散单位冲激$\delta(x-x_0)$

冲激串:

无穷个以$\Delta T$ 为间距的周期性冲激之和

$s_{\Delta T} = \sum\limits_{n = -\infty}^{\infty} \delta(t-n\Delta T)$, $\delta$ 可以是连续的,也可以是离散的

傅里叶级数

傅里叶级数可以理解为把$f(t)$ 在$e^{j \frac{2 \pi n}{T}t}$ 生成的空间中表示出来,其中基向量两两正交,所以系数就是$<f(t), e^{j \frac{2\pi n}{T}t}>$

$f(t)$是周期为$T$的周期函数

$f(t) = \sum\limits_{n= -\infty}^{infty} c_n e^{j \frac{2 \pi n}{T}t}$, 其中 $c_n = \frac{1}{T} \int_{-T/2}^{T/2} f(t) e^{-j \frac{2 \pi n}{T}t} dt$

连续函数的傅里叶变换

$\Im{f(t)} = \int_{-\infty}^{\infty} f(t) e^{-j2 \pi \mu t} dt$, 区中$\mu$ 是连续变量

表示成$\mu$ 的函数: $F(\mu) = \int_{-\infty}^{\infty} f(t) e^{-j 2 \pi \mu t} dt$ , $\mu$ 表示频率,单位是$Hz$

傅里叶反变换:$f(t) = \int_{-\infty}^{\infty}F(\mu) e^{j2 \pi \mu t} d \mu$

盒状函数的傅里叶变换:$F(\mu) = AW \frac{\sin (\pi \mu W)}{(\pi \mu W)}$

$sinc(m) = \frac{\sin (\pi m)}{(\pi m)}$

连续单位冲激的傅里叶变换:$F(\mu) = \int_{-\infty}^{\infty} \delta(t) e^{-j 2 \pi \mu t} dt = \int_{-\infty}^{\infty} e^{-j 2 \pi \mu t} \delta(t) dt = e^{-j2 \pi \mu 0} = e^0 = 1$

$t_0$ 处连续单位冲激的傅里叶变换:$F(\mu) = e^{-j2 \pi \mu t_0} = \cos(2 \pi \mu t_0) - j \sin(2 \pi \mu t_0)$

$f(t)$的傅里叶变换为$F(\mu)$, $F(t)$ 的傅里叶变换为$f(-\mu)$

$\delta(t-t_0) \rightarrow e^{-j2 \pi \mu t_0}$, $e^{-j 2\pi t_0 t} \rightarrow \delta(-\mu - t_0)$, $\rightarrow$代表傅里叶变换

$\delta(t-t_0) \rightarrow e^{-j 2 \pi \mu t_0}$ , $e^{j 2 \pi a t} \rightarrow \delta(-\mu +a) = \delta(\mu -a)$

冲激串

$s_{\Delta T}(t) = \sum\limits_{n = - \infty}^{\infty} \delta(t-n \Delta T)$

傅里叶级数:$s_{\Delta T}(t) = \frac{1}{\Delta T} \sum\limits_{n = -\infty}^{\infty} e^{j \frac{2 \pi n}{\Delta T}t}$

傅里叶变换: $\Im{e^{j \frac{2 \pi n}{\Delta T}t} } = \delta(\mu - \frac{n}{\Delta T})$. 所以 $S(\mu) = \frac{1}{\Delta T} \sum\limits_{n=-\infty}^{\infty} \delta(\mu - \frac{n}{\Delta T})$

连续卷积

连续函数的卷积:$f(t) \star h(t) = \int_{-\infty}^{\infty} f(\tau) h(t - \tau) d \tau$, $t$是位移,负号表示反转

平移性质:$\Im{h(t - \tau) } = H(\mu) e^{-j2 \pi \mu \tau}$

$\Im{ f(t) \star h(t) } = H(\mu) F(\mu)$

卷积定理

连续函数采样

$\tilde{f}(t) = f(t) s_{\Delta T} (t) = \sum\limits_{n = - \infty} ^{\infty} f(t) \delta(t - n \Delta T)$

采样值:$f_k = \int_{-\infty}^{\infty}f(t) \delta(t-k \Delta T) dt = f(k \Delta T)$

$\tilde{F}(\mu) = \Im{\tilde{f}(t) } = \Im{f(t)s_{\Delta T}(t) } = F(\mu) \star S(\mu)$

采样定理

带限函数$f(t)$: 傅里叶变换后非零频率属于$[-\mu_{\max}, \mu_{\max}]$

采样定理:如果以超过函数最高频率的两倍采样率来获得样本,连续的带限函数可以完美地从它的样本集来恢复。

奈奎斯特频率:$2\mu_{\max}$

混淆:在实际中,不可以避免,因为即使原函数是带限的,但采样仍然是有限的。有限长度采样会引入无限频率分量。

抗混淆

由样本恢复原函数

扩展:超越采样定理

离散傅里叶变换(DFT)

离散卷积:

图像中的混淆

图像采样

莫尔模式

两个近似等间隔的光栅产生的差拍模式

二维离散傅里叶变换对

平移和旋转

傅里叶谱和相角

$|F(0,0)| = MN |\bar{f}(x,y|$, $F(0,0)$ 被称作直流分量(频率为0)

傅里叶谱决定了正弦波的幅度,表示灰度

相角表示正弦波的位移,携带了定位信息

图像平移不改变傅里叶谱

图像旋转$\theta_0$, 谱图旋转同样的角度: $f(r,\theta + \theta_0) \Leftrightarrow F(\omega, \phi+\theta_0)$

0填充

Ch08

提纲:

频率域性质

图像空间特征和频率分量的一般性关系

频率域滤波:

傅里叶变换:

频率域滤波基础

低通滤波器:衰减高频而通过低频,模糊图像. 低频对应于图像中缓慢变换的灰度

高通滤波器:衰减低频而通过高频,强化细节。高频对应于图像中剧烈变换的灰度。

二维0填充

如何对频域滤波器0填充

空间滤波器一般流程

  1. 给定一幅大小为$M \times N$ 的输入图像$f(x,y)$, 选择填充参数$P$和$Q$。 典型地,我们选择$P=2M$ 和 $Q=2N$
  2. 对$f(x,y)$ 添加必要数量的0, 形成大小为$P \times Q$ 的填充后图像$f_p (x,y)$
  3. 用$(-1)^{x+y}$ 乘以$f_p(x,y)$ 移到其变换的中心
  4. 计算来自步骤3的图像的DFT,得到$F(u,v)$
  5. 生成一个实的、对称的滤波函数$H(u,v)$, 其大小为$P \times Q$, 中心在$(\frac{P}{2}, \frac{Q}{2})$ 处。用阵列相乘形成乘积$G(u,v) = H(u,v) F(u,v)$
  6. 得到处理后的图像:$g_p(x,y) = { real[\Im^{-1}[G(u,v)] ] } (-1)^{x+y}$
  7. 通过$g_p(x,y)$的左上象限提取$M \times N$ 区域,得到最终处理结果$g(x,y)$

零相移滤波器

频率域滤波器-> 空间滤波器

理想低通滤波器

有振铃现象

振铃效应是一种出现在信号快速转换时,附加在转换边缘上导致失真的信号。而在图像或影像上,振铃效应会导致出现在边缘附近的环带或像是"鬼影"的环状伪影

巴特沃斯低通滤波器

没有振铃(ringing)现象

$n=2$是比较好的折中

高斯低通滤波器

高斯函数的傅里叶变换依然是高斯

没有振铃现象

巴特沃斯低通滤波器比高斯低通滤波器更模糊

Ch09

提纲

如何构造高通滤波器:

理想高通滤波器

巴特沃斯高通滤波器

高斯高通滤波器

频率域的拉普拉斯算子

Ch10. 图像复原

提纲

引言:

图像退化/复原建模

噪声

噪声类型

仅有噪声的图像复原

统计排序滤波器

Ch11. 彩色图像处理(I)

区分颜色:

  1. 亮度:主观描绘,类似于无色光的强度
  2. 色调:主波长,也就是感知到的颜色
  3. 饱和度:
    • 反应白光的比例,白光越多越不饱和
    • 红色+白色=粉红色、紫色+白色=淡紫色

伪彩色图像处理

按照特定规则对灰度值赋颜色

便于可视化和理解灰度事件

灰度分层

根据截面分配两种颜色

也可以截取k个面,分成$k+1$个颜色。

也可以对每个RGB做一次灰度变换。

RGB彩色模型

CMY颜色模型

HSI颜色模型

Ch13. 图像分割

引言:

基础知识:

基本概念:

背景知识:

一般结论:

孤立点的检测

线检测

边缘模型

存在噪声的边缘:

  1. 视觉上噪声并不明显
  2. 噪声对导数影响很大
  3. 二阶导数无法辨认
  4. 存在噪声时,图像平滑很必要

边缘检测的三个基本步骤

  1. 为降噪对图像进行平滑处理
    • 导数对噪声敏感
  2. 边缘点的检测
    • 抽取所有的潜在边缘点
  3. 边缘定位
    • 选出真正的边缘点

基本边缘检测

图像的梯度及其性质:

梯度算子:

高级边缘检测

Marr-Hildreth边缘检测器

  1. 灰度变化和图像尺度有关
    • 需要用不同尺寸的算子
  2. 灰度变化会影响导数
    • 一阶导数出现波峰或波谷
    • 二阶导数出现零交叉
  3. 理想的检测器具有如下功能
    1. 能够近似1阶或2阶导数
    2. 能够被调整以在不同尺寸上起作用
      • 大的算子检测模糊边缘、小的算子检测细节

滤波器$\nabla^2 G$

优势

  1. 高斯部分会模糊图像
    • 可以去掉尺寸小于$\sigma$ 的细节,比如噪声
  2. 二阶导数
    • 各向同性,对任何方向的变化有相同的响应
    • 符合人的视觉系统

步骤:

  1. 用$n \times n$ 的高斯低通滤波器平滑图像
    • $n$是大于等于$6 \sigma$的最小奇数
  2. 计算上述图像的拉普拉斯
  3. 寻找上述结果的零交叉
    1. 检查某像素两个相对 邻域像素的符号(上下、左右、两对角)
    2. 符号相反,并且差异大于某阈值

产生闭环 “意大利空心粉”效应, 通过阈值化可以缓解

坎尼(Canny)边缘检测器

  1. 低错误率
    • 所有边缘都被找到,并且没有伪响应
  2. 边缘点应被很好地定位
    • 已定位的边缘必须尽可能接近真实边缘
  3. 单一的边缘点响应
    • 对每个真实边缘点,检测器仅返回一个点

步骤:

  1. 高斯函数平滑输入图像
  2. 计算图像的梯度
  3. 非最大抑制
    • 目的:把梯度生成的粗边缘变细
    • 指定梯度(边缘法线)的多个离散方向
      • 4种边缘:水平、垂直、+$45^{\circ}$, $-45^{\circ}$
    • 根据梯度(边缘法线)的方向确定边缘的方向
    • 考虑$(x,y)$为中心的$3 \times 3$区域
    • 考虑四个方向
    • 确定和梯度$\alpha(x,y)$最接近的方向$d_k$
    • 如果$M(x,y)$的值比$(x,y)$在$d_k$方向的任一邻居数值小,对其抑制
      • $g_N(x,y) = 0$
    • 否则,保留:
      • $g_N(x,y) = M(x,y)$
  4. 滞后阈值
    • 目的:减少伪边缘点
    • 两个阈值:低阈值$T_L$、 高阈值$T_H$
    • 两个阈值的比值为: $2:1$或$3:1$
    • 利用$T_H$阈值化
      • 强边缘点: $g_{NH} (x,y) = g_N(x,y) \ge T_H$
    • 利用$T_L$阈值化
      • $g_{NL}(x,y) = g_N(x,y) \ge T_L$
      • $g_{NL}$包含$g_{NH}$的所有非零元素
      • 去掉$g_{NL}$ 中和$g_{NH}$重复的点
        • $g_{NL}(x,y) = g_{NL}(x,y) - g_{NH}(x,y)$
        • 弱边缘点
  5. 连通性分析
    1. 遍历$g_{NH}$中的每一个点$p$
      • 保留$g_{NL}$中和$p$ 连通(例如8连通)
    2. 去掉$g_{NL}$剩余的点
    3. 合并$g_{NH}$ 和 $g_{NL}$

Ch14. 图像分割

背景:

局部处理

  1. 分析每个点$(x,y)$邻域内像素的特点

  2. 将依据某准则相似的点连接起来

    1. 基于梯度大小判断相似: $|M(s,t) - M(x,y)| \le E$
    2. 基于梯度方向判断相似:$|\alpha(s,t) - \alpha(x,y)| \le A$
    • 如果大小和方向都相似,则连接$(s,t)$和$(x,y)$

简化算法(计算简单)

  1. 计算输入图像$f(x,y)$的梯度大小和方向
    • 梯度大小$M(x,y)$, 梯度方向$\alpha(x,y)$
  2. 依据下式产生二值图像
    • $g(x,y) = 1$ if $M(x,y) > T_M$ AND $\alpha(x,y) = A \pm T_A $
    • $T_M$为阈值、$A$为特定角度、$T_A$为允许的带宽
  3. 逐行扫描,填充长度不超过$K$的空隙
  4. 以角度$\theta$ 旋转$g(x,y)$,重复第3步,再反旋转

区域处理

算法设计:

区域处理算法:

  1. 令$P$ 是一个已排序、不重复的二值图像中的序列。指定两个起始点$A$和$B$。它们是多边形的两个起始顶点。
  2. 指定一个阈值$T$,以及两个空堆栈"开"(OPEN)和"闭"(CLOSED)。
  3. 如果$P$中的点对应于一条闭合曲线,则把$B$放到"开"和"闭"中,并把$A$放到"开"中。 如果对应于一条开放曲线,则把$A$放到"开"中,而把$B$放到"闭"。
  4. 计算从"闭"中最后一个顶点到"开"中最后一个顶点的线的参数。
  5. 寻找属于序列$P$、且在步骤4中直线的两个顶点之间的点;计算这些点与直线的距离,选择具有最大距离$D_{max}$的点$V_{max}$。
  6. 如果$D_{max} > T$, 则把$V_{max}$作为一个新顶点放在"开"堆栈的末尾。转到步骤4.
  7. 否则,从"开"中移除最后一个顶点,并把它作为"闭"的最后一个顶点插入。
  8. 如果"开"非空,转到步骤4
  9. 否则,退出。“闭"中的顶点就是拟合$P$中的点的多边形的顶点。

全局处理

霍夫变换

但这样导致$ab$平面无限延伸,我们换一种表示方式

如何计算交点(近似计算):

将霍夫变换用于边缘连接(可以扩展到直线以外的曲线)

  1. 生成二值的边缘图像
    • 可采用之前介绍的任意算法
  2. 划分$\rho \theta - $平面的累积单元
    • 粒度决定了精度、计算量
  3. 统计每个累加单元的曲线数量
    • 寻找数值高的单元
  4. 检验数值高累加单元对应的像素
    • 将距离小于某阈值的像素连接起来

Ch15. 图像压缩

2维灰度矩阵包含三种冗余

霍夫曼编码

  1. 简化信源
    • 对符号的概率进行排序,合并低概率符号
    • 重复该过程,直到剩余两个符号
  2. 对简化后的信息源编码
    • 从最小信源开始,返回到原信源
    • 为每一个分支分配符号

Ch16. 形态学处理

腐蚀

膨胀

对偶性

开操作和闭操作

$A \circ B = \bigcup { (B)_z | (B)_z \subseteq A }$

$A \cdot B = {z | (B)_z \cap A \not= \emptyset}$

Ch17. 目标识别

提纲

决策论方法

最小距离分类器

  1. 把原型定义为每个类的平均向量
    • $m_j = \frac{1}{N_j} \sum\limits_{x_j \in w_j} x_j $, $j=1,…,W$
    • $N_j$ 是类别$w_j$包含的模式数量
  2. 利用欧式距离判断远近
    • $D_j(x) = ||x-m_j || $, $j=1,…,W$
    • $||a|| = (a^T a)^{1/2}$
    • 如果$D_i(x)$是最短距离,那么$x \in w_i$
    • 等价计算方式
    • $d_j(x) = x^T m_j - \frac{1}{2} m_j^T m_j$ $j=1,2,…,W$
    • 如果$d_i(x)$是最大值,那么$x \in w_i$

最佳统计分类器

基础知识

针对高斯模式类的贝叶斯分类器

Ch04

空间相关与卷积 区别 联系 例子

滤波器特点

近邻含义

不用背傅里叶公式 只会被离散版本

选择题

判断题

简答题

计算题