数字图像处理(Digital Image Processing)
数字图像处理是电子通信专业多媒体通信方向的专业课,虽然作者本科时没有好好学习,但是也对此领域略知一二. 该课可以算是概率论,随机过程,信号与系统,数字信号处理,信息论, 通信原理的集大成者,换句话说,集大成者也就是都会用到,但都不那么深刻。鉴于作者本身就是个混子,凑活看吧。想学这门课的大多数人应该也是奔着特征提取和一些处理操作去的,一些通信强相关的压缩编码和图形学相关的放到最后再看(爱看不看)。
参考用书:数字图像处理 冈萨雷斯,信号与系统 奥本海默/郑君里, 概率论与随机过程,信息论,数字信号处理
编程语言:Matlab,Python
绪论
1. 图像处理定义
一幅图像可以定义为一个二维函数f(x,y)f(x,y)f(x,y)(二维空间域信号),坐标(x,y)(x,y)(x,y)处的幅值fff称为图像在该点的强度或者灰度。当x,yx,yx,y和fff的值都为离散量时,称该图像为数字图像。
图像处理,图像分析,计算机视觉三者的界限并不清晰。目前大部分人认为三者分别代表图像的初级处理,中级处理和高级处理。初级处理对应输入输出都为图像的处理,包括提取特征直到目标识别。仁者见仁智者见智。
2. 电磁波与成像
图像来源主要是电磁波,其他还有声波,超声波,电子。
电磁波可以定义为以各种波长传播的正弦波,或者无质量的粒子流,每个粒子以光速运动并以波的形式传播。每个无质量的粒子包含一个光子,光子携带能量,根据光子能量对光谱波段进行分组如下:
-
伽马射线成像应用
核医学中,给病人注射放射性同位素,同位素衰变时发射正电子,正电子与电子湮灭后发射两束伽马射线,医疗器械检测到这两束伽马射线利用断层成像原理创建断层图像,所以这种方法叫正电子仿射断层成像(PET),如下图。
-
X射线成像应用
X射线广泛应用于医学和工业。X射线管是有阴极和阳极的真空管,阴极加热后,释放高速电子流向阳极,电子撞击原子核后以X射线的形式释放能量。一般的,让X射线穿透病人后落在成像胶片上,俗称X光。还有一种应用是血管造影:将一根导管通过腹股沟动脉或者静脉到达待研究部位,释放X射线造影剂,这回增强血管对比度。
其他全略!
信号与系统补充
信号与系统是电子通信专业和自动化专业的专业课。主要关注通信信号的时频分析,但是在图处中关注的是空间域频域离散信号分析,换汤不换药,模式更固定,不用考虑电路,机械系统和通信系统,只考虑图像处理系统。
1. 信号,系统
信号
可以这么理解:信号就是函数。
在《信号与系统》中全部信号都是时序信号,这里将时间换为空间,二维离散空间信号即是图像。举例用连续信号,例子中离散与连续结论相同。
信号可以根据不同的角度进行划分:
-
确定性信号和随机信号
确定性信号即指信号是确定的时间的函数,如果是这样,那么通信系统将毫无意义,因为每个时刻是什么都是确定的了。在信号传输过程中,干扰和噪声会让信号具有随机性,具有随机性的信号称为随机信号。
-
周期与非周期信号
对应周期与非周期函数
-
连续时间与离散时间信号
按照时间取值的连续与否可将信号分为这样两种信号
单位冲激信号
单位冲激信号是一个超越函数,定义方式有很多种,经典的一种是狄拉克给出的:
{∫−∞∞δ(t)dt=1δ(t)=0while t≠0
\begin{cases}
\displaystyle\int_{-\infty}^\infty \delta(t)dt = 1\\
\\
\delta(t) = 0 \quad while\ t \neq 0
\end{cases}
⎩⎨⎧∫−∞∞δ(t)dt=1δ(t)=0while t=0
图像用一个在零点的一个单位长度的箭头表示,表示很短暂时间内取值极大的函数
这里只说这一个信号,因为这个信号在LTI(Linear Time Invariant System)–线性时不变系统中具有启发性作用。
该信号对应离散版本为单位脉冲信号,是一个长度为一个单位长度的信号。其他重要的信号诸如单位阶跃信号,复指数信号,正弦信号等等可以自行了解。
系统
假设f(x),g(x)f(x),g(x)f(x),g(x)是连续时间信号,将输入信号转换为输出信号的单元HHH就是一个系统:g(x)=H[f(x)]g(x) = H[f(x)]g(x)=H[f(x)],HHH称为系统函数。
系统性质
-
线性
如果系统H满足如下性质:
f(ax+by)→ag(x)+bg(y) f(ax+by) \to ag(x)+bg(y) f(ax+by)→ag(x)+bg(y)
则称该系统满足线性性质,线性性质可拆分为可加性(additivity)和齐次性(homogeneity),可加性表示两信号相加通过系统的响应与两信号分别通过系统响应的和。齐次性,也称比例性,指一个信号的倍数通过系统的响应等于该信号通过系统的响应再乘以倍数。 -
时不变性
从概念上说,如果一个系统的特性和行为不随时间改变而改变,该系统就是时不变的。即:
f(x−x0)→g(x−x0) f(x-x_0)\to g(x-x_0) f(x−x0)→g(x−x0)
也就是说,输入信号发生了一定的时移,输出信号也会发生相同的时移。拓展:
时不变性是很多通信系统的前提,这里也可以将时不变拓展到空间不变性,频率不变性等。也就是说一个系统对图像进行的处理不随着空间位置的改变而改变,这是图像处理系统有效的前提。
-
稳定性
∣f(x)∣<K,∣g(x)∣<cKwhere K,c are constants |f(x)| < K,\quad |g(x)|<cK\\ where\ K,c\ are\ constants ∣f(x)∣<K,∣g(x)∣<cKwhere K,c are constants
对应函数有界性 -
因果性
如果一个系统的输出只取决于现在的输入和过去的输入,该系统就成为因果系统。
典中典之RC电路就是因果系统,工程中因果系统较多,但是也有非因果的系统,比如语音分析。
y[n]=x[n]+x[n−1] y[n] = x[n] + x[n-1] y[n]=x[n]+x[n−1]
这样就是一个因果系统,直观的来看,就是没有x[n+k],k>0x[n+k],k>0x[n+k],k>0这样的项出现。因为x[n+k]x[n+k]x[n+k]出现在”未来“。 -
记忆性
表示一个系统的当前响应取决于过去所有的输入,典型的一个标志是响应的表达式中积分或加和下标为−∞-\infty−∞
y(t)=∫−∞tx(τ)dτ y(t)=\displaystyle \int_{-\infty}^tx(\tau)d\tau y(t)=∫−∞tx(τ)dτ
这种记忆系统相当于一个积分器
卷积
先不说数学中的卷积。信号与系统中的卷积起源:
考虑一个离散的LTI系统,一个离散时间信号可以看作是一组带权单位脉冲信号经过时移后的线性组合。线性时不变性质保证一个信号通过系统的响应可以分为许多单位脉冲信号经过时移后的响应乘以自身的权重再加和。
如下图这样的一个离散时间信号
就可以等同于这样的一个信号:
x[n]=x[−3]δ[n+3] +x[−2]δ[n+2] +x[−1]δ[n+1]+⋯+x[3]δ[n−3]
x[n] = x[-3]\delta[n+3]\ +x[-2]\delta[n+2]\ +x[-1]\delta[n+1]+\cdots+x[3]\delta[n-3]
x[n]=x[−3]δ[n+3] +x[−2]δ[n+2] +x[−1]δ[n+1]+⋯+x[3]δ[n−3]
即
x[n]=∑k=−∞+∞x[k]δ[n−k]
x[n]=\sum_{k=-\infty}^{+\infty}x[k]\delta[n-k]
x[n]=k=−∞∑+∞x[k]δ[n−k]
可以看到,上面的信号可以拆分为六个单位脉冲乘以权重再时移。那么,只需研究单位脉冲响应即可以推出该系统的特性。
对于LTI系统:
设单位脉冲信号x[n−k]x[n-k]x[n−k]经过系统得到hk[n]h_k[n]hk[n]。则
y[n]=∑k=−∞k=+∞x[k]hk[n]
y[n]=\sum_{k=-\infty}^{k=+\infty}x[k]h_k[n]
y[n]=k=−∞∑k=+∞x[k]hk[n]
而hk[n]h_k[n]hk[n]是h0[n]h_0[n]h0[n]的一个时移,即
hk[n]=h0[n−k]
h_k[n]=h_0[n-k]
hk[n]=h0[n−k]
简化符号,定义单位脉冲序列响应为
h[n]=h0[n]
h[n]=h_0[n]
h[n]=h0[n]
那么
y[n]=∑k=−∞+∞x[k]h[n−k]
y[n]=\sum_{k=-\infty}^{+\infty}x[k]h[n-k]
y[n]=k=−∞∑+∞x[k]h[n−k]
该式就是卷积,具体来说是离散卷积和,用下面的符号表示
y[n]=x[n]∗h[n]
y[n]=x[n]*h[n]
y[n]=x[n]∗h[n]
该式的意义就是,既然LTI系统对任意输入的响应都可以用系统对单位脉冲的响应表示,那么单位脉冲响应就完全刻画了系统的特性。