目录
写在前面
- 本文对小波变换进行公式整理,小波变换的公式设计真的是整齐而漂亮
- 本文只涉及基础的小波变换部分,达到进行图像处理的程度
- 主要参考冈萨雷斯的《数字图像处理》第4版英文版,这一版的第7章小波变换内容改动非常大。第7章首先从基于矩阵的变换的角度开始讲解,并把离散的余弦变换、正弦变化、哈特利变换、沃尔什——哈达玛变换、斜变换(Slant Transform)、哈尔变换、小波变换、等等,都放到了这一类当中。总之读下来醍醐灌顶,非常舒服
基于矩阵的变换(Matrix-based Transforms)
(如果想直接看小波变换,可以跳过这一节,从小波变换的基本原理开始看)
首先考虑如下形式的离散余弦变换(DCT),该变换为:
t
(
u
)
=
∑
x
=
0
N
−
1
f
(
x
)
s
(
x
,
u
)
t(u) = \sum_{x=0}^{N-1}f(x)s(x,u)
t(u)=x=0∑N−1f(x)s(x,u)
其中
s
(
x
,
u
)
s(x,u)
s(x,u)是变换核,形式为
s
(
x
,
u
)
=
α
(
u
)
c
o
s
(
u
π
N
(
x
+
1
2
)
)
s(x,u)=\alpha(u)cos(\frac{u\pi}{N}(x+\frac{1}{2}))
s(x,u)=α(u)cos(Nuπ(x+21))
其中
α
(
u
)
=
{
1
N
if
u
=
0
2
N
if
u
=
1
,
2
,
.
.
.
,
N
−
1
\alpha(u) = \begin{cases}\sqrt{\frac{1}{N}} & \text{ if } u=0 \\ \sqrt{\frac{2}{N}} & \text{ if } u = 1,2,...,N-1 \end{cases}
α(u)=⎩⎨⎧N1N2 if u=0 if u=1,2,...,N−1
离散余弦变换有很多种写法,这些写法上存在细微的差异,这里采用这种离散余弦变换写成这样的好处是变换的基向量是正交的。
什么意思呢?我们等会会解答,先看另一个问题。
把一个周期的一维离散频率域信号写成列向量的形式
f
∈
R
N
×
1
f \in \mathbb{R}^{N \times 1}
f∈RN×1,对应的频率域序列为
t
∈
R
N
×
1
t \in \mathbb{R}^{N \times 1}
t∈RN×1,上式可以写成
t
=
[
s
0
T
f
s
1
T
f
.
.
.
s
N
−
1
T
f
]
=
[
s
0
T
s
1
T
.
.
.
s
N
−
1
T
]
f
t=\begin{bmatrix}s_0^Tf \\ s_1^Tf \\ ... \\ s_{N-1}^Tf \end{bmatrix}= \begin{bmatrix}s_0^T \\ s_1^T \\ ... \\ s_{N-1}^T \end{bmatrix}f
t=⎣⎢⎢⎡s0Tfs1Tf...sN−1Tf⎦⎥⎥⎤=⎣⎢⎢⎡s0Ts1T...sN−1T⎦⎥⎥⎤f
其中
s
i
=
[
s
(
0
,
i
)
s
(
1
,
i
)
.
.
.
s
(
N
−
1
,
i
)
]
T
s_i=[s(0,i) \;s(1, i)\;...\;s(N-1, i)]^T
si=[s(0,i)s(1,i)...s(N−1,i)]T. 进一步令
A
=
[
s
0
s
1
.
.
.
s
N
−
1
]
T
A=[s_0\;s_1 \;...\;s_{N-1}]^T
A=[s0s1...sN−1]T,易得
t
=
A
f
t=Af
t=Af
会发现原信号与变换后的信号中间只是一个基于矩阵的变换,这种变换非常多,(其实最常用的傅里叶变换也可以看作是一种基于矩阵的变换),这种变换对应的逆变换也有可能是基于矩阵的变换(例如傅里叶变换)
正交变换
好了,回到离散余弦变换,刚才说的变换基向量正交即各个
s
s
s之间是正交的
A
A
T
=
[
s
0
T
s
0
s
0
T
s
1
⋯
s
0
T
s
N
−
1
s
1
T
s
0
s
1
T
s
1
⋯
s
1
T
s
N
−
1
⋮
⋮
⋱
⋮
s
N
−
1
T
s
0
s
N
−
1
T
s
1
⋯
s
N
−
1
T
s
N
−
1
]
=
I
AA^T= \begin{bmatrix}s_0^Ts_0 &\; s_0^Ts_1 \; & \cdots \; &s_0^Ts_{N-1} \\ s_1^Ts_0 &\; s_1^Ts_1 \; &\cdots \; &s_1^Ts_{N-1} \\ \vdots& \; \vdots \; & \ddots\; &\vdots \\ s_{N-1}^Ts_0 &\; s_{N-1}^Ts_1 \; &\cdots \; &s_{N-1}^Ts_{N-1} \end{bmatrix}=I
AAT=⎣⎢⎢⎢⎡s0Ts0s1Ts0⋮sN−1Ts0s0Ts1s1Ts1⋮sN−1Ts1⋯⋯⋱⋯s0TsN−1s1TsN−1⋮sN−1TsN−1⎦⎥⎥⎥⎤=I
也即
A
A
A是一个正交矩阵,所以逆变换就直接为
f
=
A
T
t
f = A^Tt
f=ATt
这也基于矩阵变换中非常特殊的一类:正交变换。
正交变换的优势包括:
- 内积不变:即 ⟨ f 1 , f 2 ⟩ = ⟨ t 1 , t 2 ⟩ = ⟨ A f 1 , A f 2 ⟩ \left \langle f_1,f_2 \right \rangle=\left \langle t_1,t_2 \right \rangle=\left \langle Af_1, Af_2 \right \rangle ⟨f1,f2⟩=⟨t1,t2⟩=⟨Af1,Af2⟩
- 夹角不变
- 距离不变
各种变换核展示
二维情况
如果信号是二维的,例如
t
(
u
,
v
)
=
∑
x
=
0
N
−
1
∑
y
=
0
N
−
1
f
(
x
,
y
)
s
(
x
,
y
,
u
,
v
)
t(u,v)=\sum_{x=0}^{N-1} \sum_{y=0}^{N-1} f(x,y) s(x,y,u,v)
t(u,v)=x=0∑N−1y=0∑N−1f(x,y)s(x,y,u,v)
如果变换核是可分离的:
s
(
x
,
y
,
u
,
v
)
=
s
1
(
x
,
u
)
s
2
(
y
,
v
)
s(x,y,u,v)=s_1(x,u)s_2(y,v)
s(x,y,u,v)=s1(x,u)s2(y,v),而且是对称的,即
s
1
≡
s
2
s_1 \equiv s_2
s1≡s2,且分离后的一维变换核是实正交的,那么二维变换可以写成
t
=
A
f
A
T
f
=
A
T
t
A
t=AfA^T \\ f=A^T tA
t=AfATf=ATtA
其中
f
,
t
∈
R
N
×
N
f,t \in \mathbb{R}^{N \times N}
f,t∈RN×N是二维信号的矩阵形式。上式中对
f
f
f的左乘
A
A
A和右乘
A
T
A^T
AT分别对应列变换和行变换(类似二维离散傅里叶变换的行列可分离性)
小波变换的基本原理
- 小波变换的思想是利用尺度函数表示原始信号,随着尺度级的下降,尺度越来越大,对原始信号的表示也越来越粗糙模糊,和原始信号的差异越来越大,怎么办呢?这时引入小波函数来对尺度函数表示部分和原始信号之间的差异进行表示,最终尺度函数+小波函数可以精确地表示原信号
- 施加在尺度函数和小波函数上的系数就是小波变换的结果。用这些系数,可以复原出原信号
- 可以理解为尺度函数大致粗糙地表示了原始信号中,而小波函数则精确的描述了两者之间的差异
- 具体地,原始信号可以看作是最高(精细)的尺度,随着尺度级逐渐下降,尺度函数从最精细的表示逐渐变得粗糙,在这过程中,小波函数不断地表示两者之间的差异部分,小波函数自身也不断地变得粗糙
- 这样做的优势是能对时间(空间)频率的局部化分析,通过伸缩平移运算对信号(函数)逐步进行多尺度细化,最终达到高频处时间细分,低频处频率细分——摘自百度百科
尺度函数(Father Scaling Function)
基本概念
尺度函数的作用是大致地表示原始信号,尺度函数
φ
(
x
)
\varphi(x)
φ(x)由实数、平方可积的函数组成,将尺度函数进行幂为2的伸缩和整数倍的平移得到函数集合
{
φ
j
,
k
(
x
)
∣
j
,
k
∈
Z
}
\{\varphi_{j,k}(x)|j,k \in \mathbb{Z}\}
{φj,k(x)∣j,k∈Z},其中:
φ
j
,
k
(
x
)
=
2
j
/
2
φ
(
2
j
x
−
k
)
(1)
\varphi_{j,k}(x)=2^{j/2}\varphi(2^j x - k) \tag{1}
φj,k(x)=2j/2φ(2jx−k)(1)
k
k
k决定了
φ
j
,
k
\varphi_{j,k}
φj,k的位置,
j
j
j决定了宽度和高度。
如果限制
j
=
j
0
j=j_0
j=j0,那么
{
φ
j
0
,
k
∣
k
∈
Z
}
\{\varphi_{j_0, k}| k\in \mathbb{Z}\}
{φj0,k∣k∈Z}则张成了一个可以表示的空间的基,我么记
V
j
0
=
{
φ
j
0
,
k
∣
k
∈
Z
}
(2)
V_{j_0}=\{\varphi_{j_0, k}| k\in \mathbb{Z}\} \tag{2}
Vj0={φj0,k∣k∈Z}(2)增大
j
0
j_0
j0会增强
V
j
0
V_{j_0}
Vj0的表达能力,因为
φ
j
0
,
k
\varphi_{j_0,k}
φj0,k更窄,可以表示出更精细的部分。
注意
φ
0
,
0
=
φ
\varphi_{0, 0} = \varphi
φ0,0=φ.
哈尔尺度函数
一种常见的尺度函数是哈尔尺度函数:
φ
(
x
)
=
{
1
if
0
≤
x
<
1
0
otherwise
(3)
\varphi(x) = \begin{cases} 1 &\text{ if } 0 \le x <1 \\ 0 & \text{ otherwise } \end{cases} \tag{3}
φ(x)={10 if 0≤x<1 otherwise (3)
从式(3)可以得出
φ
0
,
k
=
1
2
φ
1
,
2
k
+
1
2
φ
1
,
2
k
+
1
\varphi_{0, k}=\frac{1}{\sqrt 2} \varphi_{1,2k}+ \frac{1}{\sqrt 2} \varphi_{1,2k+1}
φ0,k=21φ1,2k+21φ1,2k+1,尤其是
φ
(
x
)
=
φ
(
2
x
)
+
φ
(
2
x
−
1
)
\varphi(x)=\varphi(2x)+\varphi(2x-1)
φ(x)=φ(2x)+φ(2x−1)。
下图是一个例子
尺度函数的要求
可以作为尺度函数要满足四条MRA(Multi-Resolution Analysis)要求:
- 尺度函数对其整数平移是正交的
- 低尺度长成的函数空间嵌套在高尺度内,即:
V − ∞ ⊂ . . . ⊂ V − 1 ⊂ V 0 ⊂ V 1 . . . ⊂ V ∞ (4) V_{-\infty} \subset ... \subset V_{-1} \subset V_0 \subset V_1 ... \subset V_{\infty} \tag{4} V−∞⊂...⊂V−1⊂V0⊂V1...⊂V∞(4) - 唯一一个任何尺度都能表达的函数是 f ( x ) = 0 f(x)=0 f(x)=0
- 当尺度趋于无穷时,所有可测的,平方可积的一维函数 L 2 ( R ) L^2(\mathbb{R}) L2(R)都可以表达成尺度函数的线性组合,即 V ∞ = L 2 ( R ) V_{\infty}=L^2(\mathbb{R}) V∞=L2(R)
其他性质
由这四条要求,尺度函数可以表达为高一级尺度下的线性组合
φ
(
x
)
=
∑
k
∈
Z
h
φ
(
k
)
2
φ
(
2
x
−
k
)
(5)
\varphi(x) = \sum_{k \in \mathbb{Z}} h_{\varphi}(k)\sqrt 2 \varphi(2x-k) \tag{5}
φ(x)=k∈Z∑hφ(k)2φ(2x−k)(5)
该式叫做“细化或膨胀方程”(refinement or dilation equation),其中
h
φ
(
k
)
h_{\varphi}(k)
hφ(k)叫做“扩展系数”(expansion coefficients),其所组成的有序集合
{
h
φ
(
k
)
∣
k
=
0
,
1
,
2
,
.
.
.
}
\{h_{\varphi }(k) | k=0,1,2,...\}
{hφ(k)∣k=0,1,2,...}通常叫做尺度函数系数(scaling function coefficients)。对于正交的尺度函数,提供一种
h
φ
h_{\varphi}
hφ的求法:
h
φ
(
k
)
=
⟨
φ
(
x
)
,
2
φ
(
2
x
−
k
)
⟩
=
∫
φ
(
x
)
2
φ
(
2
x
−
k
)
d
x
(6)
h_{\varphi}(k) = \left \langle \varphi(x), \sqrt 2 \varphi(2x-k) \right \rangle = \int \varphi(x) \sqrt 2 \varphi(2x-k) dx \tag{6}
hφ(k)=⟨φ(x),2φ(2x−k)⟩=∫φ(x)2φ(2x−k)dx(6)
这是由于不同
k
k
k的
2
φ
(
2
x
−
k
)
\sqrt 2 \varphi(2x-k)
2φ(2x−k)之间是互相正交的,所以由式(5)可以推出式(6).
小波函数(Mother Wavelet Function)
基本概念
小波函数修正了尺度函数表示和原始信号之间的差异。在给定尺度函数
φ
(
x
)
\varphi(x)
φ(x)后,一定存在一个小波函数
ψ
(
x
)
\psi(x)
ψ(x),类似尺度函数的幂为2的伸缩和整数倍的平移,得到函数
ψ
j
,
k
(
x
)
=
2
j
/
2
ψ
(
2
j
x
−
k
)
(7)
\psi_{j,k}(x) = 2^{j/2}\psi(2^j x-k) \tag{7}
ψj,k(x)=2j/2ψ(2jx−k)(7)
其中
j
,
k
∈
Z
j,k \in \mathbb{Z}
j,k∈Z。小波函数有啥用呢?如果我们令
W
j
0
W_{j_0}
Wj0表示小波函数集合
{
ψ
j
0
,
k
∣
k
∈
Z
}
\{\psi_{j_0,k}|k \in \mathbb{Z}\}
{ψj0,k∣k∈Z}所张成的空间,那么
V
j
0
+
1
=
V
j
0
⊕
W
j
0
(8)
V_{j_0+1}=V_{j_0} \oplus W_{j_0} \tag{8}
Vj0+1=Vj0⊕Wj0(8)
其中
⊕
\oplus
⊕表示所张成空间的直和。形象地说,从
V
j
0
+
1
V_{j_0+1}
Vj0+1到
V
j
0
V_{j_0}
Vj0之间模糊部分,可以用
W
j
0
W_{j_0}
Wj0填补。
而且
W
j
0
W_{j_0}
Wj0和
V
j
0
V_{j_0}
Vj0中的基函数是正交的,即
⟨
φ
j
0
,
k
(
x
)
,
ψ
j
0
,
l
(
x
)
⟩
=
0
for
k
≠
l
(9)
\left \langle \varphi_{j_0,k}(x) ,\psi_{j_0,l}(x) \right \rangle = 0 \qquad \text{ for } \ k \neq l \tag{9}
⟨φj0,k(x),ψj0,l(x)⟩=0 for k=l(9)
尺度空间和小波空间之间的关系如下图所示
实际上,两者之间的联系可以写成是
ψ
(
x
)
=
∑
k
h
ψ
(
k
)
2
φ
(
2
x
−
k
)
(10)
\psi(x) = \sum _k h_\psi (k)\sqrt 2 \varphi(2x-k) \tag{10}
ψ(x)=k∑hψ(k)2φ(2x−k)(10)
其中
h
ψ
(
k
)
h_\psi (k)
hψ(k)叫做小波函数系数(wavelet function coefficients),可以写成是有序集合
{
h
ψ
(
k
)
∣
k
=
0
,
1
,
2
,
.
.
.
}
\{h_\psi (k)|k=0,1,2,...\}
{hψ(k)∣k=0,1,2,...}.
而且,由于小波函数对整数平移之间是正交的,同时由式(9)和(10),可以证明
h
ψ
(
k
)
=
(
−
1
)
k
h
φ
(
1
−
k
)
(11)
h_\psi (k)=(-1)^k h_{\varphi}(1-k) \tag{11}
hψ(k)=(−1)khφ(1−k)(11)
哈尔小波函数
哈尔尺度函数对应的小波函数为
ψ
(
x
)
=
{
1
0
≤
x
<
0.5
−
1
0.5
≤
x
<
1
0
elsewhere
(12)
\psi(x) = \begin{cases} 1 & 0 \le x< 0.5 \\ -1 & 0.5 \le x < 1 \\ 0 & \text{ elsewhere } \end{cases} \tag{12}
ψ(x)=⎩⎪⎨⎪⎧1−100≤x<0.50.5≤x<1 elsewhere (12)
下图是一个例子
小波级数展开(Wavelet Series Expansion)
注意到
L
2
(
R
)
=
V
j
0
⊕
W
j
0
⊕
W
j
0
+
1
⊕
.
.
.
(13)
L^2(\mathbb{R})=V_{j_0} \oplus W_{j_0} \oplus W_{j_0+1} \oplus ... \tag{13}
L2(R)=Vj0⊕Wj0⊕Wj0+1⊕...(13)
其中
j
0
j_0
j0是一个任意起点。我们定义
f
(
x
)
∈
L
2
(
R
)
f(x) \in L^2(\mathbb{R})
f(x)∈L2(R)的小波级数展开为:
f
(
x
)
=
∑
k
c
j
0
(
k
)
φ
j
0
,
k
(
x
)
+
∑
j
=
j
0
∞
∑
k
d
j
(
k
)
ψ
j
,
k
(
k
)
(14)
f(x) = \sum_k c_{j_0} (k) \varphi_{j_0, k} (x) + \sum_{j=j_0}^{\infty} \sum _k d_j(k)\psi_{j,k}(k) \tag{14}
f(x)=k∑cj0(k)φj0,k(x)+j=j0∑∞k∑dj(k)ψj,k(k)(14)
其中
c
j
0
c_{j_0}
cj0和
d
j
(
j
≥
j
0
)
d_j \ (j \ge j_0)
dj (j≥j0)分别叫做近似和精细系数(approximation and detail coefficients)。式(14)的第一项是对
f
(
x
)
f(x)
f(x)的
j
0
j_0
j0级近似,第二项是更高级的不断精细修正。如果尺度函数和小波函数是正交的,那么有
c
j
0
=
⟨
f
(
x
)
,
φ
j
0
,
k
(
x
)
⟩
d
j
=
⟨
f
(
x
)
,
ψ
j
0
,
k
(
x
)
⟩
(15)
\begin{aligned} c_{j_0} &= \left \langle f(x), \varphi_{j_0, k}(x) \right \rangle \\ d_{j} &= \left \langle f(x), \psi_{j_0, k}(x) \right \rangle \tag{15} \end{aligned}
cj0dj=⟨f(x),φj0,k(x)⟩=⟨f(x),ψj0,k(x)⟩(15)
其中,内积的含义类似式(6).
这里给出一个例子
对应展开为
一维离散小波变换(1-D Discrete Wavelet Transform, DWT)
类似离散傅里叶变换,对于
N
N
N个点的离散信号(
N
=
2
J
N=2^J
N=2J),取
j
0
=
0
j_0=0
j0=0,则有
f
(
x
)
=
1
N
[
T
φ
(
0
,
0
)
φ
0
,
0
(
x
)
+
∑
j
=
0
J
−
1
∑
k
=
0
2
j
−
1
T
ψ
(
j
,
k
)
ψ
j
,
k
(
x
)
]
(16)
f(x)=\frac{1}{\sqrt N} [T_{\varphi }(0,0)\varphi_{0,0}(x)+ \sum_{j=0}^{J-1}\sum_{k=0}^{2^j-1}T_{\psi}(j,k)\psi _{j,k}(x)] \tag{16}
f(x)=N1[Tφ(0,0)φ0,0(x)+j=0∑J−1k=0∑2j−1Tψ(j,k)ψj,k(x)](16)其中
T
φ
(
0
,
0
)
=
⟨
f
(
x
)
,
φ
0
,
0
(
x
)
⟩
=
⟨
f
(
x
)
,
φ
(
x
)
⟩
=
1
N
∑
x
=
0
N
−
1
f
(
x
)
φ
∗
(
x
)
T
ψ
(
j
,
k
)
=
⟨
f
(
x
)
,
ψ
j
,
k
(
x
)
⟩
=
1
N
∑
x
=
0
N
−
1
f
(
x
)
ψ
j
,
k
∗
(
x
)
(18)
\begin{aligned} T_{\varphi}(0,0) &=\left \langle f(x), \varphi_{0,0}(x) \right \rangle =\left \langle f(x), \varphi(x) \right \rangle=\frac{1}{\sqrt N}\sum_{x=0}^{N-1} f(x)\varphi ^*(x) \\ T_\psi (j,k) &= \left \langle f(x), \psi_{j,k}(x) \right \rangle =\frac{1}{\sqrt N}\sum_{x=0}^{N-1} f(x)\psi_{j,k}^*(x) \tag{18} \end{aligned}
Tφ(0,0)Tψ(j,k)=⟨f(x),φ0,0(x)⟩=⟨f(x),φ(x)⟩=N1x=0∑N−1f(x)φ∗(x)=⟨f(x),ψj,k(x)⟩=N1x=0∑N−1f(x)ψj,k∗(x)(18)
以上,
j
=
0
,
1
,
.
.
.
,
J
−
1
j=0,1,...,J-1
j=0,1,...,J−1,且
k
=
0
,
1
,
.
.
.
,
2
j
−
1
k=0,1,...,2^j - 1
k=0,1,...,2j−1,和连续情况类似,式(18)中的系数分别叫做近似和精细系数(approximation and detail coefficients)。如果尺度函数和小波函数是实函数,那么式(18)中的共轭操作“
∗
^*
∗”可以不要。
一个例子:如果4个点的信号,
f
(
0
)
=
1
,
f
(
1
)
=
4
,
f
(
2
)
=
−
3
,
f
(
3
)
=
0
f(0)=1,f(1)=4,f(2)=-3, f(3)=0
f(0)=1,f(1)=4,f(2)=−3,f(3)=0,那么
N
=
4
,
J
=
2
N=4,J=2
N=4,J=2,
从正交变换的角度,也即
后记
读到这里,小波变换到这里记本上已经讲清楚了这个过程。知道小波变换在干什么,这篇文章的目的就达到了。
其实后面还有一些东西,这里只粗浅的简记一下,想深入了解的,建议去看原版书。
快速小波变换(The Fast Wavelet Transform)
对于近似和精细系数,其实有以下关系:
- 连续情况
c j ( k ) = ∑ n h φ ( n − 2 k ) c j + 1 ( n ) d j ( k ) = ∑ n h ψ ( n − 2 k ) c j + 1 ( n ) c_j(k) = \sum_n h_\varphi(n-2k)c_{j+1}(n) \\ d_j(k) = \sum_n h_\psi(n-2k)c_{j+1}(n) cj(k)=n∑hφ(n−2k)cj+1(n)dj(k)=n∑hψ(n−2k)cj+1(n) - 离散情况
T φ ( j , k ) = ∑ n h φ ( n − 2 k ) T φ ( j + 1 , n ) T ψ ( j , k ) = ∑ n h ψ ( n − 2 k ) T φ ( j + 1 , n ) T_{\varphi}(j,k) = \sum_n h_\varphi (n-2k)T_\varphi(j+1,n) \\ T_{\psi}(j,k) = \sum_n h_\psi (n-2k)T_\varphi(j+1,n) Tφ(j,k)=n∑hφ(n−2k)Tφ(j+1,n)Tψ(j,k)=n∑hψ(n−2k)Tφ(j+1,n)
在离散的情况下,可以用卷积的方式计算系数
T
φ
(
j
,
k
)
=
T
φ
(
j
+
1
,
n
)
★
h
φ
(
−
n
)
T
ψ
(
j
,
k
)
=
T
φ
(
j
+
1
,
n
)
★
h
ψ
(
−
n
)
T_\varphi (j,k) = T_\varphi(j+1, n) \bigstar h_\varphi (-n) \\ T_\psi (j,k) = T_\varphi(j+1, n) \bigstar h_\psi (-n)
Tφ(j,k)=Tφ(j+1,n)★hφ(−n)Tψ(j,k)=Tφ(j+1,n)★hψ(−n)
记下采样
y
2
↓
(
n
)
=
y
(
2
n
)
y_{2↓}(n)=y(2n)
y2↓(n)=y(2n),(n=1,2,…),
用子带编码,系数可以采用如下的方式计算
时间复杂度从
O
(
N
log
2
N
)
\mathcal O (N \log_2 N)
O(Nlog2N)降为
O
(
N
)
\mathcal{O}(N)
O(N).
下面是一个例子:
反变换为:
二维快速小波变换
反变换为
小波包(Wavelet Packets)
对每一层都嵌套的进行小波变换
参考文献:
[1] Gonzales, Rafael C., and Richard E. Woods. “Digital image processing. Fourth Edition” (2018).