数字图像处理(4版)——第 7 章——小波及其它图像变换(上)(Rafael C.Gonzalez&Richard E. Woods)

第 7 章 小波及其它图像变换

(Wavelet and Other Image Transforms)

目录

导读(Preview)

[7.1 预备知识(Preliminaries)](#7.1 预备知识(Preliminaries))

[7.2 基于矩阵的变换(Matrix-based transforms)](#7.2 基于矩阵的变换(Matrix-based transforms))

[7.2.1 矩形数组(Rectangular arrays)](#7.2.1 矩形数组(Rectangular arrays))

[7.2.2 复正交正规基向量(Complex orthonormal basis vectors)](#7.2.2 复正交正规基向量(Complex orthonormal basis vectors))

[7.2.3 双正交正规基向量(Biorthonormal basis vectors)](#7.2.3 双正交正规基向量(Biorthonormal basis vectors))

[7.3 相关性(Correlation)](#7.3 相关性(Correlation))

[7.4 时频平面中的基函数(Basis functions in the time-frequency plane)](#7.4 时频平面中的基函数(Basis functions in the time-frequency plane))

[7.5 基图像(Basis images)](#7.5 基图像(Basis images))

[7.6 Fourier相关变换(Fourier-related transform)](#7.6 Fourier相关变换(Fourier-related transform))

[7.6.1 离散Hartley变换(The discrete Hartley transform)](#7.6.1 离散Hartley变换(The discrete Hartley transform))

[7.6.2 离散余弦变换(The discrete cosine transform)](#7.6.2 离散余弦变换(The discrete cosine transform))

[7.6.3 离散正弦变换(The discrete sine transform)](#7.6.3 离散正弦变换(The discrete sine transform))

[7.7 Walsh-Hadamard变换(Walsh-Hadamard transforms)](#7.7 Walsh-Hadamard变换(Walsh-Hadamard transforms))

[7.8 斜变换(Slant-transform)](#7.8 斜变换(Slant-transform))

[7.9 Haar变换(Haar transform)](#7.9 Haar变换(Haar transform))


导读(Preview)

第4章介绍的离散Fourier变换属于一类重要的线性变换包括 Hartley 变换、正弦变换、余弦变换、 Walsh - Hadamard 变换、斜变换( Slant ) Haar 变换和小波变换。 这些变换是本章的主题,它们将函数分解为正交基或双正交基函数之加权和,并且可以使用线性代数和泛函分析的工具进行研究。从这个角度来看,图像是所有图像构成的向量空间中的向量。基函数决定了图像变换的性质和用途变换是线性展开式的系数对于给定的图像和变换(或一组基函数),基函数的正交性和所得变换的系数都可以使用内积来计算。所有图像变换在某种意义上都是等价的,因为它们包含相同的信息和总能量。它们是可逆的,区别仅在于信息和能量在变换系数中的分布方式不同

7.1 预备知识(Preliminaries)

在线性代数和泛函分析中,向量空间(或更正式地说是抽象向量空间)是一组数学对象或实体(称为向量)的集合,这些向量可以相加并与标量相乘。 一个内积空间由定义在一个数场(field)上的一个抽象向量空间和一个内积函数构成,该内积函数将向量空间中的两个向量映射到数场中的一个标量,且它们之间满足关系

(a) ,

(b) <u +v ,w > = <u +w , v +w> ,

(c) <αu ,v > = α <u ,v> ,

(d) 当且仅当 v = 0 时,有 <v ,v > ≥ 0 和 <v ,v> = 0 ,

其中,u ,vw 是向量,α 是一个标量,而 <...> 表示内积运算。向量空间的一个简单例子是二维空间中的有向线段集合,其中线段在数学上表示为 2 × 1 列向量,向量加法相当于将线段首尾相连。内积空间的一个例子是实数集合 R 与内积函数 < u ,v > = uv 结合形成的集合,其中"向量"是实数,内积函数是乘法,上述公理 (a) 到 (d) 分别对应于乘法的交换律、分配律、结合律和"偶次幂非负性(positivity of even powers)"性质。

本章重点关注以下三个内积空间:

(1) 实数场 R 上具有如下形式的点积(或标量积)的 Euclid 空间 :

(7-1)

其中,uvN × 1 列向量。

(2) 复数场C 上具有如下形式的内积函数的玄正空间(unitary space) :

(7-2)

其中,* 表示复共轭运算,而 ,uv 是复值 N × 1 列向量。

(3) 内积空间 C ([a ,b ]),其中,向量是区间 axb 上的连续函数,且内积函数是可积内积函数(integral inner function)

(7-3)

在所有三个内积空间中,向量 z范数 (norm)或长度 (length)(表示为

(7-4)

且两个非零向量 zw 之间的角度是

(7-5)

z 的范数是 1 ,则称 z 是正规的。在公式 (7-5) 中若 < z , w > = 0 ,则 θ = 90°并称 zw正交的 。 这些定义的一个自然的推论是:对于一个非零向量 当仅仅当

(7-6)

时,其是相互或逐对正交的。它们是称为张成(span)的内积空间的正交基。若基向量是正规的,则它们是正交基,且

(7-7)

类似地,对于向量 的一个集合及对偶向量 (dual vectors) 之补集,若有

(7-8)

则其分别称为它们所张成的向量空间双正交 (biorthogonal)或双正交基(biorthogonal basis)。当且仅当

(7-9)

时,它们是双标准正交基(biorthonormal basis)。

作为一种简洁描述无限向量集的机制,内积空间的基是线性代数中最有用的概念之一 。以下推导过程依赖于基向量的正交性,是下一节基于矩阵变换的基础。令 为一个内积空间 V 的一个正交基,并令 zV 。则向量 z 可以表示为如下形式的列基向量的一个线性组合:

(7-10)

其与基向量的内积是

(7-11)

由于 是相互正交的,公式 (7-11) 右侧的内积是0 (除非参与计算内积的向量之下标匹配(参见公式 (7-7)))。因此,唯一非零项是 。消除了零项并在公式两侧除以 得到

(7-12)

若基向量的范数是1,则其简化为

(7-13)

按类似的推导(留与读者练习),对于双正交基向量和双正规正交基向量,分别有

(7-14)

(7-15)

请注意,当基向量组及其对偶基向量组相同时,双正交性就简化为正交性。

例子 7.1:向量范数和角度。

内积空间 C ([ 0 ,2π ]) 的向量 之范数是

Euclid 内积空间 的向量 之间的角度是

这些结果可根据公式 (7-1) ,(7-3) ,(7-4) ,和 (7-5) 。

7.2 基于矩阵的变换(Matrix-based transforms)

第4章介绍的一维离散 Fourier 变换是一类可以根据下述关系描述的重要变换之一:

(7-16)

其中,x 是空间变量,T (u ) 是 f (x ) 的变换,r (x ,u ) 是正向线性变换核 (a forward transform kernel), 而整数 u 是一个其值位于范围 0 ,1 ,2 ,... ,N -- 1 内的变换变量。类似地,T (u) 的逆Fourier 变换是

(7-17)

其中,s (x ,u ) 是一个逆变换核,且 x 取得范围 0 ,1 ,2 ,... ,N -- 1 中的值。公式**(7-16)** 中的变换核 r (x ,u ) 和公式 (7-17) 中的变换核 s (x ,u ) (其仅取决于索引xu ,而非取决于 f (x ) 和T (u )) 确定了它们定义的变换对的特征( nature**)** 和用途( usefulness**)** 公式 (7-17) 如图 7.1 所示。注意,f (x ) 是 N 个逆核函数(即 s (x ,u ), u = 0, 1, ... , N - 1)之加权和,而 T (u )(其中 u = 0, 1, ... , N -- 1)是权重。所有 Ns (x ,u ) 都对 f (x ) 在每一个 x 处的值有贡献。如果我们展开公式 (7-17) 的右侧,则可得到

(7-18)

---------------------------图 7.1:公式 (7-18) 的图形化说明------------------

显然,图 7.1 所示的计算是类似于公式 (7-10) 的线性展开------公式 (7-18) 中的 s (x ,u ) 和 T (u ) 分别取代了公式 (7-10) 中的 (即基向量)和 。若我们假设公式 (7-18) 中的 s (x ,u) 是一个内积空间的正交基向量,则根据公式 (7-13) ,我们有

(7-19)

且变换 T (u ) (其中 u = 0, 1, ... , N -- 1) 可通过内积进行计算。

现在我们可以将公式 (7-16) 和 (7-17) 表示成矩阵形式。首先,我们将函数 f ( x ),T (u ) 和 s (x ,u) 分别定义为列向量

(7-20)

(7-21)

(7-22)

并利用这些列向量将公式 (7-19) 重写为

(7-23)

将变换的 N 个基向量结合到一个 N × N 变换矩阵中,即

(7-24)

然后,我们可以将公式 (7-23) 代入公式 (7-21) ,并利用公式**(7-1)**以得到

(7-25)

(7-26) t = Af

这个公式的逆可从下列观察推导:

(7-27)

其中,最后两步分别是公式 (7-1) 和 (7-2) 的结果。由于 , 用 左乘公式 (7-26)并化简得到 。因此,公式 (7-16) 和公式 (7-17) 成了基于矩阵的变换对

(7-28)

(7-29)

谨记这一点很重要,即在公式 (7-28) 和 (7-29) 的推导中,我们假设变换矩阵 AN 个变换基向量(即, ( u = 0, 1, ... , N -- 1 ) ) 是实数且正交的。根据 (7-7),有

(7-30)

假设的正交正规化允许无需显式引用正变换核即可计算正变换------即 t = Af ,其中 A 仅是逆变换核 s (x ,u ) 的函数。对于实数正交基向量,有r ( x ,u ) = s ( x , u) ,其证明过程留给读者作练习(参见习题 7.3)。

由于 A 的基向量是复数且正交的,则公式(7-28) 所定义的变换称为正交变换,其保留了内积,即 , 因此,变换前后向量之间的距离和角度保持不变。A 的行向量和列向量均是正基,且 , 因此, 。 结论是公式 (7-28) 和 (7-29) 是一个互逆变换对 。将公式 (7-29) 代入 (7-28) 得到 , 而将 (7-28) 代入 (7-29) 得到

对于二维方形数组或图像,公式 (7-16) 和 (7-17) 成为

(7-31)

(7-32)

其中,r ( x ,y , u , v ) 和 s ( x ,y , u , v ) 分别是正向 (forward) 和 逆向 (inverse) 变换核。变换 T ( u , v ) 和逆变换核 s ( x ,y , u , v ) 同样可以分别视为加权系数和基向量,且公式 (7-32) 定义了 f ( x ,y) 的一个线性扩展。正如第 2 章中所指出的那样,若

(7-33)

则正向变换核 r ( x ,y , u , v ) 是可分离的,而若 在功能上等于 ,因此有

(7-34)

则正向变换核 r ( x ,y , u , v ) 是对称的。若变换核是实数且正交的,且 rs 是可分离且对称的,则公式 (7-31) 和 (7-32) 的矩阵等价对象是

(7-35)

(7-36)

其中, F 是一个包含 f ( x ,y ) 之元素的矩阵,F 是其 N × N 变换矩阵,且 A 如前述公式 (7-24) 所定义。在公式 (7-35) 中用 A 左乘和用 右乘F 分别计算出了 F的列变换和行变换。实际上,这将这个二维变换分解成了两个一维变换, 该过程与第 4.11 节中描述的二维离散 Fourier变换过程类似。

例子 7.2: 一个简单的正交变换。

考虑 2 元素基向量

并注意到,根据公式 (7-30),有

代入公式 (7-24)( N = 2 ) 即得到变换矩阵

(7-37)

并根据公式 (7-35) 求得 2 × 2 变换矩阵

求解过程为:

根据公式 (7-36) ,变换矩阵 T 的逆矩阵是

最后,我们注意到 A 是一个正交变换矩阵,因为

**。**值得注意的是,公式 (7-37) 是离散Fourier变换, Hartley变换、余弦变换,正弦变换 ,Walsh-Hadamard变换,斜变换(Slant)和Haar变换的变换矩阵,分别适用于大小为 2 × 1 和 2 × 2 的一维和二维输入。这些变换将在第 7.6 节至第 7.9 节中详细讨论。

尽管公式 (7-35) 和 (7-36) 是针对实数正交基和方阵推导的,但它们可以进行修改,以适应各种情况,包括矩形矩阵、复数值基向量和双正交基。

7.2.1 矩形数组(Rectangular arrays)

当待变换的数组为矩形而非方形时,公式(7-35)和(7-36)变为

(7-38)

(7-39)

其中, ,和 的大小分别为 M ×NM ×MN ×N 均根据公式 (7-24) 而定义。

例子 7.3: 计算矩形数组的变换。

MN 分别为 2 和 3 的一个简单的变换是

其中,矩阵 F , 如计算的第一步中定义。可以预期,2 × 3 输出矩阵 T 之大小同 F 之大小。证明 是正交变换矩阵,并且可以使用公式 (7-39) 进行逆变换,这留作读者的习题(参见习题 7.5)。 的正交性已在例 7.2 中证明。

7.2.2 复正交正规基向量(Complex orthonormal basis vectors)

当且仅当

(7-40)

(其中,* 表示复共轭运算) 时,复数值基向量是正交的。当基向量是复数时,与实数情况相反,公式 (7-35) 和 (7-36) 分别成了

(7-41)

(7-42)

变换矩阵 A 则称为一个幺正矩阵 (a unitary matrix),而公式 (7-41)(7-42) 则称为一个幺正变换对A 的一个重要且实用的属性是, ,因此 。公式 (7-41)(7-42) 对应的一维情况是

(7-43)

(7-44)

例子 7.4: 具有复值基向量的一个变换。

与正交变换矩阵不同,正交变换矩阵的逆矩阵等于其转置矩阵,而幺正变换矩阵的逆矩阵则是其共轭转置。令

(7-45)

其中 , ,且矩阵 A 是一个幺正矩阵,可以用于从 (7-41) 到 (7-44) 的公式中。不难证明(见问题 7.4),当 时 ,A中的基向量满足 (7-40),因此是正交的。

7.2.3 双正交正规基向量(Biorthonormal basis vectors)

对于公式(7-24)中的扩展函数 , 若存在一个对偶扩展函数 (dual expansion functions)集 使得

(7-46)

则此扩展函数是双正交正规化的。扩展函数及其对偶函数本身都不需要是正交正规化的。已知一个双正交正规扩展函数集,公式 (7-35) 和 (7-36) 成为

(7-47)

(7-48)

变换矩阵 A 仍如公式 (7-24) 所定义;对偶变换矩阵 是一个 N × N 矩阵,其行是转置对偶扩展函数。当扩展函数和其对偶函数相同时,即当 时,公式 (7-47)和 (7-48)分别简化为 (7-35)和 (7-36)。公式 (7-47)和 (7-48) 的一维形式:

(7-49)

(7-50)

例子 7.5: 一个双正交正规变换。

证明 是对正交正规矩阵的工作留给读作作为练习(见问题 7.16),一维列向量 的变换是

由于

其不等于 <f ,f> ,因此,这个变换不保留内积。然后,它是可逆的:

在此,分别通过使用公式 (7-49) 和 公式 (7-50) 计算正向和逆向变换。

最后,我们注意到,本节中提出的大部分概念都可以推广到以下形式的连续展开式:

(7-51)

其中, 分别表示内积空间 C ([a ,b ]) 的扩展系数和基向量。对于一个已知的 f ( x ) 和基 ,可以根据C ([a ,b ]) 空间中积分内积的定义(即公式 (7-10) 到 (7-15))和所有内积空间的一般属性(即公式(7-15)到公式(7-15))计算出相应的展开系数。因此(例如),若 C ([a ,b]) 正交正规基向量,则

(7-52)

在此,我们只是简单地将公式 (7-13) 中的 i , z , 和 替换为 u ,f ( x ) , 和 。在下一个例子中,公式 (7-52) 将用于连续 Fourier 级数的推导。

例子 7.6: Fourier 级数和离散 Fourier 变换。

将一个周期为 T 的连续周期函数的表达式视为形如

(7-53)

的正交正规基向量的一个线性展开式。根据公式 (7-51) 和 (7-52) ,有

(7-54)

(7-55)

除了变量名和正规化(即,上述两个公式中 的使用,而不是在其中之一中仅使用 1/T ),公式 (7-54) 和 (7-55) 是第4章中我们熟悉的公式 (4-8) 和 (4-9) 的 Fourier 级数。按照几乎相同的推导(留作读者练习(见问题 7.22))可得出公式 (7-53) 到 (755)的离散形式:

(7-56)

(7-57)

(7-58)

公式 (7-56) 的离散复基向量是内积空间 的一个正交正规基。公式 (7-58) 和 (7-57) (除了变量名和正规化形式)是第 4 章中我们熟悉的公式 (4-44) 和 (4-45) 的离散 Fourier变换(和逆变换)。

现在考虑使用公式 (7-55) 和 (7-58) 来计算周期 T = 1 的函数 f ( x ) = sin(2πx) 之离散级数和离散 Fourier 变换。根据公式 (7-55),有

按照同样的方式,有 ,由于所有其它系数都是0 ,因此最终的 Fourier 级数是

(7-59)

在另一方面,根据公式 (7-58)( N = 8 ) 和 求得

(7-60)

图 7.2 将两种计算都描述为"矩阵乘法",其中连续或离散的基向量(矩阵 A 的行)与连续或离散函数(列向量 f )相乘,然后进行积分或求和,从而得到一组离散的展式或变换系数(列向量 t )。对于Fourier级数,展开系数是 sin(2πx) 与一组可能无限的连续基向量之一的积分内积。对于离散Fourier变换 (DFT),每一个变换系数是 f 与八个离散基向量之一的离散内积,如公式 (7-2) 所示。请注意,由于 DFT 基于复数正交基向量,因此可以将其计算为矩阵乘法 [根据公式 (7-43)]。因此,生成变换向量 t 元素的内积都包含在矩阵乘法 Af 中。即,t 的每一个元素都是通过将 A 的一行(即一个离散展开函数)与 f 逐元素相乘,然后对所得乘积求和而形成的。

----------------------------------------图 7.2:将 f (x ) = sin(2πx ) 的连续Fourier级数和 8 点 DFT 表示为"矩阵乘法"。所有复数的实部和虚部分别用蓝色和黑色表示。连续函数和离散函数分别用直线和点表示。虚线用于表示 , ,且 ,这有效地将离散 Fourier 变换的最大频率减半。t 左侧的负索引仅用于Fourier级数计算。--------------------------------------

7.3 相关性(Correlation)

例 7.6 阐明了内积在计算正交变换系数中的作用。在本节中,我们将重点探讨这些系数与相关性之间的关系。

已知两个连续函数 f (x ) 和 g (x ) ,则 fg 之间的相关性(用 f gx) 表示)定义为

(7-61)

fgx)** =

其中,最后一步可以根据公式 (7-3)(其中 a = -∞ 和 b = ∞ )推导出。有时候相关性又称为 fg滑动内积 (sliding inner product),相关性度量了 f ( x ) g ( x ) 作为它们的相对位移 Δx 的一个函数的相似性。 若 Δx = 0 ,则

(7-62) f g (0) = < f (x ) ,g (x ) >

且公式 (7-52) (其定义了公式 (7-51) 中连续正交正规展示之系数)可以改写为

(7-63) = f

因此,当偏移量 Δx 是0 的时候,这个展式系数呈单点相关性 (single-point correlations)。每一个 都度量了 f(x ) 与一个 的相似性。

公式 (7-61) 到 (7-63) 的离散等价形式分别为

(7-64) f ☆ g (m ) =

7-65) f g (0) = < f ,g >

(7-66)

与关于公式 (7-63) 和连续级数展开式所做的评注类似,我们也可以对公式 (7-66) 和离散正交变换进行类似的评注。正交变换的每一个元素 (即公式 (7-23) 中的变换系数 T (u ))都是一个单点相关,用于衡量函数 f 和向量 之间的相似性正交变换的这一强大特性是识别和消除 第 2 章例 2.11 图 2.45(a) 和第 4 章例 4.25 图 4.65(a) 中正弦干扰的基础。

例子 7.7: 7.6 DFT中的相关性。

再次考虑示例 7.6 中的 8 点 DFT,并注意,根据公式 (7-56),基向量是以下谐波相关角频率的复指数:0 , 2π , 4π , 6π , 8π , 6π , 4π 和 2π (由于混叠效应,最后三个频率分别由 10π , 12π , 和 14π 降至 6π ,4π 和 2π )。由于离散输入 f (x ) = sin(2πx ) 是角频率为 2π 的单频正弦波,因此 f 应该与基向量 高度相关。如图 7.2 所示,变换 t 确实在 u = 1 和 7 处达最大值;它仅在这两个频率处非零。

7.4 时频平面中的基函数(Basis functions in the time-frequency plane)

由于(相关性)变换度量的是函数与一组选定的基向量的相似程度,因此我们现在将注意力转向基向量本身。在接下来的讨论中,基向量基函数这两个术语是同义的。

如图 7.3 所示,图中描绘了一些常用变换的基向量,大多数正交基都是由正弦波、方波、斜坡波以及其他称为小波的微小波形组成的数学上的相关集合 。如果 h (t ) 是一个基向量,g (t ) 是待变换的函数,则变换系数 g h (0)(如前一节所述)是度量 gh 相似性的指标。较大的 g h (0) 值表明 gh 在时间和频率上具有重要的共同特征(例如,形状和带宽)。因此,如果 h 是图 7.3(d) 中 u = 1 处的斜坡形基函数,则变换系数 g h (0) 可用于检测图像一行像素上的线性亮度梯度。在另一方面,若 h 是类似图 7.3(a) 中的那样的正弦基函数,则 g h (0) 可用于检测 (spot)正弦干扰模式。类似图 7.3 所示的图以及像 g h (0) 这样的相似性度量可以揭示待变换函数的大量时间和频率特性

------------------------------图 7.3:一些常用变换的基向量( N = 16 ):(a) Fourier基(实部和虚部),(b) 离散余弦基,(c) Walsh-Hadamard 基,(d) 斜基,(e) Haar 基,(f) Daubechies 基,(g) 双正交 B 样条基及其对偶基,以及 (h) 标准基,该基仅用于参考(即不作为任何变换的基)。-----------------------------------------

h 的一个纯粹客观的描述符(因此就有当 g h (0) 取大值时g 的纯粹客观描述符)是 h 在图 7.4(a)的时频平面上的位置( location**)** 。令 为一个概率密度函数,其均值为

(7-67)

而其方差(variance)是

(7-68)

并令 为另一个概率密度函数,其均值为

(7-69)

而其方差是

(7-70)

其中,f 表示频率,而 H ( f ) 是 h (t ) 的Fourier 变换。则基函数 h 的能量(注:连续函数 h (t ) 的能量是 ( 如图7.4(a) )汇聚于时频平面上的 处。大部分能量集中在一个面积为 的矩形区域(称为 Heisenberg (box)或单元(cell))内,且这个矩阵区域满足

(7-71)

由于一个函数的支集可以定义为函数基其上非零的点集,根据 Heisenberg 不确性原理,一个函数不可能同时在时间和频率上具有有限支集 。公式 (7-71)(称为 Heisenberg-Gabor 不等式) ,这为图 7.4(a) 中Heisenberg单元的面积设定了一个下限,这表明 不可能同时为任意小。因此,当图 7.4(b) 中的基函数 在时间上是完全局部化时[即 ,因为 的宽度是零],其谱在整个f 轴上是非零的。即由于 ( 对于所有 f ) ,因此 结果是在时频平面上形成一个宽度极小、高度无限 的Heisenberg单元 。在另一方面,图 7.4(c) 的基函数 在整个时间轴上是完全非零的,但是在频率上是完全局部化的。因为 ,谱 在所有频率处都为零而非 。Heisenberg单元是无限宽的 ( ) 而在高度上是无限无穷小的 ( ) 。如图 7.4(b) 和 (c) 所示,时间上的完全局部化伴随着频率上局部化的损失,反之亦然。

----------------------------图 7.4:(a) 基函数在时频平面上的局部化表示。(b) 一个标准基函数、其频谱及其在时频平面上的位置。(c) 一个复正弦基函数(其实部和虚部分别用实线和虚线表示)、其频谱及其在时频平面上的位置。----------------------------

再次回到图 7.3 ,请注意,图 7.3(a) 中的离散Fourier变换 (DFT) 基和图 7.3(h) 中的其它标准基分别是图 7.4(c) 和 (b) 中脉冲函数和复指数函数的离散示例(N = 16)。图 7.3 上半部分中的每一个其它基都按基于索引 u 进行频率排序的,且宽度或支集(support)均为 16 。对于给定的 u ,它们在时频平面上的位置相似。当 u 为 8 时,这一点尤为明显,此时基函数完全相同,它们的 Heisenberg 单元也相同。对于所有其它的 u ,Heisenberg 单元参数 ,和 在值是上封闭的。这主要归因于余弦波、斜坡波和方波的不同的形状,它们存在一些细微的差别。类似地,图 7.3 下半部分的基函数(除了前面讨论过的标准基函数)对于给定的 u 也具有相似性。这些基函数是经过缩放和平移的微小波 (small waves)(称为小波(wavelet)),其形式为

(7-72)

其中,sτ 是整数,而母小波 (mother wavelet) ψ (t ) 是实数,即为一个具有带通滤波器状频谱 (bandpass-like spectrum)的平方可积函数。参数 τ 确定了 t 轴上 的位置,s 确定了其宽度------即,其沿 t 轴的宽度或窄度, 控制其幅度。

结合适当设计的母小波,公式 (7-72) 生成了一个以图 7.5 右侧所示的Heisenberg单元为特征的基函数,令 Ψ( f ) 为 ψ (t ) 的Fourier变换,时间尺度小波 的变换是

(7-73)

且对于 s 的正值,这个谱是拉伸的------将每一个频率分量移动高过 的一个因子。正如例子 4.1 中的矩形脉冲所示,时间压缩会导致频谱展宽。图 7.5(b)--(d) 以图形方式展示了这一点。请注意,图 7.5(c) 中基函数的宽度是图 7.5(d) 中基函数宽度的一半,而其频谱的​​宽度却是图 7.5(d) 中频谱宽度的两倍。其频率向上偏移了两倍。与图 7.5(c) 相比,图 7.5(b) 中的基函数和频谱也具有相同的特性。这种时间支集范围减半和频率支集范围加倍的现象产生了宽度和高度不同但面积相等的 Heisenberg 单元。此外,图 7.5 右侧的每一行单元格都代表一个唯一的尺度 s 和频率范围。同一行中的单元在时间上互相平移。根据第4章公式 (4-71) 和表 4.4 ,若 ψ (t ) 在时间上平移 τ ,则

(7-74)

因此,| 𝔉(ψ (t - τ ))| = |Ψ( f)| 且时间偏移后的子波的频谱是相同的。图 7.5(a) 和 (b) 中的基函数证明了这一点。请注意,它们的 Heisenberg 单元大小相同,只是位置不同。

------------图 7.5: 128点Daubechies基函数的时间和频率局部化特性。------------

上述论述的一个重要结论是,每一个小波基函数都具有唯一的谱和时间位置因此,基于小波变换的变换系数(作为度量被变换函数与相应小波基函数相似度的内积)同时提供了频率和时间信息。 它们为被变换函数提供了类似于乐谱的信息,不仅揭示了应该演奏哪些音符,还揭示了何时演奏这些音符。图 7.3 下半部分所示的所有小波基都具有这一特性。图中上半部分的基函数只能提供音符信息;时间信息在变换过程中丢失,或者很难从变换系数中提取出来(例如,从Fourier变换的相位分量中提取)。

7.5 基图像(Basis images)

由于 7.2 节中公式 (7-32) 中的逆变换核仅取决于索引 x , y ,u ,v 而不取决于 f ( x ,y ) 或 T (u ,v) 的值,公式 (7-32) 可以改写为矩阵和

(7-75)

其中,F 是一个包含 f ( x ,y ) 之元素的 N × N 矩阵且对于 u ,v = 0 ,1 ,...,N -- 1 ,有

(7-76)

F 则显式地定义为 N 个大小为 N × N 的矩阵的一个线性组合,即 ( 对于 u ,v = 0 ,1 ,...,N -- 1 )。若底层 s ( x , y ,u ,v)是实数值、可分离且对称的,则

(7-77)

其中, 如前述公式 (7-22) 所定义。在数字图像处理的语境中,F 是一幅二维图像,而 称为基图像。它们可以排列成一个 N × N 的矩阵,如图 7.6(a) 所示,从而简洁而可视化地表示了它们所表示的二维基函数。

例子 7.8:标准基的基图像。

图 7.3(h) 中的基是标准基 的一个具体实例( N = 16 ) ,其中, 是一个 N × 1 列向量,其第 n 个元素是 1 而所有其它元素是 0 。因为其为实数且正交的,因此,相应的正交变换矩阵[见公式(7-24)]是 A = I ,而相应的二维变换[见公式(7-35)] 矩阵是 。即,F相对于标准基的变换仍然是 F------这证实了这样一个事实:当离散函数以向量形式表示时,它实际上是隐式地相对于标准基进行表示的

图 7.6(b) 显示了尺寸为 8 × 8 的二维标准基的基图像。与图 7.3(h) 中的一维基向量类似,这些基向量仅在一个时间点(或 x 值)处非零,图 7.6(b) 中的基图像也仅在 xy 平面上的一个点处非零。这可以从公式 (7-77) 推导得出。由于 ,其中, 是一个第 u 行第 v 列元素为1 其它元素为0的 N × N 矩阵。按同样的方式,图 7.7 中的 DFT 基图像由公式 (7-77)、公式 (7-22) 和一维 DFT 展开函数的定义方程(即公式 (7-56))推导而来。请注意,最大频率的 DFT 基图像出现在 uv 都等于 4 的情况下,正如图 7.2 中最大频率的一维 DFT 基函数出现在 u = 4 的位置一样。

-------------------------------图 7.6:(a) 基图像的组织方式;(b) 一个标准尺寸为 8 × 8 的基图像。为了清晰起见,每个基图像周围都添加了灰色边框。每个基图像的原点( 即 x = y = 0 )位于其左上角。--------------------------------------------

----------------------------图 7.7:(a) N = 8 时离散 Fourier 变换的变换矩阵 AF ,其中 。(b) 和 (c) 为 8 × 8 大小的离散 Fourier 变换基图像的实部和虚部。为了清晰起见,每一个基图像周围都添加了黑色边框。对于一维变换,矩阵 AF 与公式 (7-43) 和 (7-44) 结合使用;对于二维变换,它与公式 (7-41) 和 (7-42) 结合使用。--------------------------------------------------

正如第4章所述,实函数的 Fourier 变换是复数值的 。在本节中,我们将探讨三种与Fourier变换相关的变换,它们的值都是实数而非复数------离散Hartley变换、离散余弦变换和离散正弦变换。这三种变换都避免了复数运算的复杂性,并且可以通过类似快速Fourier变换(FFT)之类的算法来实现。

7.6.1 离散 Hartley变换(The discrete Hartley transform)

离散Hartley变换(DHT)的变换矩阵是通过将逆变换核

(7-78)

代入(7-22)和(7-24)而求得的,其可分离的二维形式是

(7-79)

由于最终的 DHT 变换矩阵(在图 7.8 中用 表示 ) 是实数、正交且对称的, 可以用于正变换和逆变换。对于一维变换, 与第 7.2 节中的公式 (7-28) 和 (7-29) 结合使用;对于二维变换,其与公式 (7-35) 和 (7-36) 结合使用。由于 是对称的,且正逆变换相同。

请注意图 7.8(a) 中谐波相关的 DHT 基函数与图 7.2 中 DFT 基函数的实部之间的相似性。不难证明

(7-80)

其中, 表示 DFT 的幺正变换矩阵。此外,由于 DFT 的实部[见公式(7-56)]是

(7-81)

且三角恒等式 可用于将 Hartley 核(见公式 7-78)重写为

(7-82)

离散 Fourier 变换和 Hartley 变换的基函数是相互缩放和平移的版本------即,按 缩放再按 进行平移。当对比图 7.2 和图 7.8(a) 时,这个平移是显而易见的。对于一个已知的 N 值和一个采样间隔 ΔT ,Fourier 变换和Hartley变换具有相同的频率分辨率 Δu = 1/(N ΔT ) ,即相同的频率范围 0.5R = 0.5(1/(ΔT )) = 1/(2ΔT ),当 u > N /2 时, 它们均为欠采样的。当 u = 5, 6 ,7 时,试对比图 7.2 和图 7.8(a)。最后,我们注意到这两种变换的 8×8 基图像也很相似。例如,如图 7.8(c) 和图 7.7(b) 所示,最高频率的基图像出现在 uv 等于 N/2 或 4 的情况下。

------------------------------图 7.8:当N = 8 时离散 Hartley 变换的变换矩阵和基图像:(a) 正交变换矩阵 的图形表示,(b) 四舍五入到两位小数,以及 (c) 二维基图像。对于一维变换,矩阵 与公式 (7-28) 和 (7-29) 结合使用;对于二维变换,则与公式 (7-35) 和 (7-36) 结合使用。---------------------------------------

例子 7.8 DHT DFT 重建。

考虑离散函数 及其离散 Fourier 变换

其中, ,且 是一个 图 7.7(a) 的幺正变换矩阵。 的实部和虚部 (用 表示)分别是

而离散 Hartley 变换

根据公式 (7-17), f 可以写成

其中, 因此,f 可以通过将计算出的变换系数与相应的基函数相乘求和从 重构出来。在图 6.9(a) 中,这种重构是逐步进行的,从图中顶部的 f 的平均值或直流分量(u = 0)开始,最终收敛到图中底部的 f( u = 0 , 1, ... , 7 ) 。随着更高频率的基函数被包含在求和中,重构函数对 f 的近似程度越来越好,当所有八个加权基函数相加时,即可实现完美重构,生成相当于离散Hartley逆变换的结果 。图 7.9(b) 显示了类似的离散 Fourier 变换 (DFT) 的重构过程。

--------------------------图 7.9:通过添加频率逐渐升高的分量来重构离散函数:(a) 离散Hartley变换 (DHT) 和 (b) 离散Fourier变换 (DFT)。------------------------

7.6.2 离散余弦变换(The discrete cosine transform)

最常见的离散余弦变换(DCT)形式的变换矩阵是通过将逆变换核

(7-83)

代入公式 (7-22) 和 (7-24) 而得到的,其中,

(7-84)

最终得到的变换矩阵(在图 7.10 表示为 ) 是实数且正交的,但不是对称的。底层基函数是频率从0 到 R = [(N - 1 )/N ][1/( 2ΔT )] 的谐相关的余弦函数;邻接频率之间的跨度(spacing)(即频率分辨率)是 Δu = 1/(2N ΔT ) 。比较图 7.10(a) 与图 7.8(a) 或图 7.2 可以发现,离散余弦变换的频谱范围与Fourier变换和 Hartley 变换的频谱范围大致相同,但频率分辨率是它们的两倍。例如,若N = 4 且 ΔT = 1,则得到的 DCT 系数对应的频率为 { 0, 0.5, 1, 1.5 },而 DFT 频谱分量对应的频率为 { 0, 1, 2, 1 }。图 7.10(c) 和图 7.8(c) 进一步说明了这一点。值得注意的是,DCT 基图像的最大频率出现在 uv 都等于 7 的情况下,而 DFT 的最大频率出现在 uv 都等于 4 的情况下。由于二维 DCT 基于可分离的逆变换核

(7-85)

其中,α ( u )α ( v ) 根据公式(7-84) 而定义,变换矩阵 可以用于计算一维和二维变换(有关相应的变换公式,请参见图 7.10 的图注(caption))。

------------------------ -图 7.10:当 N = 8时离散余弦变换的变换矩阵和基图像。(a) 正交变换矩阵 的图形表示,(b) 矩阵四舍五入到小数点后两位,以及(c) 基图像。对于一维变换,矩阵 与公式(7-28)和(7-29)结合使用;对于二维变换,则与公式(7-35)和(7-36)结合使用。-----------------------------------------------------

虽然离散余弦变换与离散Fourier变换具有一些共同的特性,但它对被处理的函数施加了一组完全不同的假设。离散Fourier变换的基本假设是N 点周期性,而离散余弦变换假设的是2N 点周期性和偶对称性。如图7.11所示,N 点周期性会导致边界不连续,从而在变换中引入"人为的"高频分量;而2 N 点周期性和偶对称性可以最大限度地减少不连续性以及伴随的高频伪影。 正如第8章将要讨论的,这是离散余弦变换在图像压缩方面的一个重要优势。鉴于上述讨论,N 点函数f (x ) 的离散余弦变换可以从f (x ) 的2N点对称扩展版本的离散Fourier变换中获得,这一点也就不足为奇了:

I 按对称性扩展 N 点离散函数 f (x) 以获得

(7-86)

其中,

II计算 g 的 2N 点离散 Fourier 变换:

(7-87)

其中, 是 DFT 的变换矩阵,而 2N 元素变换 划分成两个等长 N 元素列向量

IIIN 元素列向量为 , 其中

(7-88)

并令

IVf的离散余弦变换为

(7-89)

其中, ∘ 表示 Hadamard 积(product),这是一个矩阵乘法,由两个向量或矩阵的相应元素相乘而得,例如,

例子 7.10 基于一个 8 点 DFT 计算一个 4 点 DCT

在这个例子中,我们使用从 (7-86) 到 (7-86) 的公式来计算一维函数 ( x = 0 ,1, 2 , 3 ) 的离散余弦变换。

(1) 令 并利用公式 (7-86) 来创建一个 f 的具有偶对称性的 8 点扩展。扩展函数 是一个类似于图 7.11(b)中的那样的偶对称函数的一个周期。

(2) 将来自图 7.7(a) 8 × 8 幺正变换矩阵代入公式 (7-87),则 g 的离散 Fourier 变换是

因此 ,

**(3)**根据公式 (7-88) ,有

(4)f 的离散余弦变换是

为了验证这个结果,我们将公式 (7-83) 代入公式 (7-22) 和 (7-24)( N = 4) 并利用公式 (7-28) 中的 4×4 DCT 变换矩阵进行计算,即可得到

图 7.12 展示了通过逆离散余弦变换对函数 f 的重构过程。与图 7.9 中的重构类似,图中顶部(即图 7.12(a))的直流分量是离散函数的平均值------在本例中为 (0 + 1 + 4 + 9) / 4 = 3.5。这是对 f 的初步但粗略的近似。随着图中 (b),(c) 和 (d) 部分依次添加三个频率递增的余弦分量,近似的精度逐渐提高,直到在 (d) 部分实现完美重构。请注意,x 轴已扩展,以表明所得的 DCT 展开式确实是周期为 2N(在本例中为 8)的周期函数,并且展现了所有离散余弦变换都必须具备的偶对称性。

-----------------------------图 7.11:一维 (a) 离散Fourier变换 (DFT) 和 (b) 离散余弦变换 (DCT) 中隐含的周期性。-------------------------------------------

---------------------------图 7.12:通过逐步添加更高频率分量来重建离散函数的离散余弦变换(DCT)。请注意,DCT 施加了 2N 点周期性和偶对称性。-----------------

7.6.3 离散正弦变换(The discrete sine transform)

离散正弦变换(DST)的变换矩阵可通过将逆变换核

(7-90)

代入公式 (7-22) 和 (7-44) 而求得的,其可分离的二维形式是

(7-91)

求得的变换矩阵(在图 7.13 中表示为 ) 是实数的、正交的且对称的。如图 (a) 部分所示,底层基函数是频率从 1/[2(N + 2)ΔT ] 到 N /[2(N + 2)ΔT ] 的谐波相关的正弦函数;频率分辨率或相邻频率之间的间隔为 Δu = 1/[2(N + 2)ΔT ]。与离散余弦变换 ( DCT ) 类似,离散正弦变换(DST )的频率范围与离散Fourier变换 ( DFT ) 大致相同,但频率分辨率是其两倍。例如,若 N = 4 且 ΔT = 1,则得到的 DST 系数对应的频率为 { 0.4, 0.8, 1.2, 1.6 }。需要注意的是,与 DCT和 DFT 不同,DST 没有直流 ( u = 0 ) 分量。这是由于其底层假设被变换的函数是 2(N + 1) 点周期且奇对称的,因此其平均值为零。与假设函数为偶对称的 DCT不同,DST 所施加的奇对称性并不能减少边界不连续性。图 6.14 清晰地展示了这一点,该图显示了对 ( x = 0 , 1 , 2 , 3 )进行正向和反向 DCT变换的结果。请注意,通过与生成图 6.12(d) 相同的过程获得的底层连续重构函数,也表现出上述周期性、奇对称性和边界不连续性。

-------------------------------图 6.13:当N = 8时离散正弦变换的变换矩阵和基图像。(a) 正交变换矩阵 的图形表示,(b) 四舍五入到两位小数,以及(c) 基图像。对于一维变换,矩阵 与公式 (7-28) 和 (7-29) 结合使用;对于二维变换,则与公式(7-35)和(7-36)结合使用。-------------------------------------------------------

N 点函数f (x ) 的离散正弦变换可以通过对f (x ) 的2(N+ 1 )点对称扩展版本(具有奇对称性)进行离散Fourier变换来求得:

I 按对称性扩展 N 点函数 f (x) 以求得

(7-92)

其中, 。II 计算 g 的 (2N + 1) 点离散 Fourier 变换:

(7-93)

其中, DFT 的变换矩阵,而 (2N + 1) 元素变换 划分为单元素 0 向量 [0] 和两个 N 元素列向量

III 则 f 的离散正弦变换 ( 用 表示)是

(7-94)

----------图 7.14:对示例 6.10 中定义的函数的离散正弦变换(DST)进行重建。----

例子 7.11:基于一个10点 DFT 计算一个 4 点 DST

在该例中,我们使用 (7-92) 到 (7-94) 的公式来求得来自例子 7.10中的 的 DST 。

(1) 创建一个具有奇对称性的 2( N + 1 ) 点扩展版本的函数 f。根据公式 (7-92),

(2) 利用公式 (7-93) 计算 g 的离散 Fourier 变换。矩阵 是一个 10 × 10 幺正 DFT 变换矩阵,而求得的变换是

注意, 的实部是 0,块

(3) 则根据公式 (7-94) ,f的DST 是

此外,DST 也可以直接计算为

其中, 可以通过将公式 (7-90) 代入公式 (7-22) 和 (7-24)而求得( N = 4 ) 。

例子 7.12:利用 Fourier相关变换进行理想低通滤波。

图 7.15 显示了将理想低通滤波器应用于示例 4.16 中使用的测试图像的结果,其中使用了本章介绍的所有Fourier变换相关方法。与第 4 章的示例一样,图 7.15(a) 所示的测试图像尺寸为 688 × 688,并在计算任何变换之前将其填充至 1376 × 1376。作为参考,测试图像的Fourier变换如图 7.15(b) 所示,其中叠加了蓝色覆盖层以显示低通滤波器函数。只有未被蓝色阴影覆盖的频率才能通过滤波器。由于我们再次使用半径为 60 的截止频率,因此图 7.15(c) 中的滤波结果与图 4.41(d) 类似,任何差异都是由于使用了零填充而不是镜像填充造成的。请再次注意示例 4.16 中讨论的模糊和振铃现象。

图 7.15(d) 至 (i) 显示了使用本章介绍的三种Fourier相关变换得到的类似结果。与图 6.15(b) 中Fourier变换的处理方式类似,图 6.15 ( d ) 至 ( f ) 分别显示了对图 7.15(a) 中的测试图像进​​行零填充至 1376 × 1376 大小后,得到的离散 Hartley变换、余弦变换和正弦变换结果。尽管余弦变换和正弦变换的滤波器函数(图中再次以蓝色叠加显示)的半径似乎是用于 Fourier 变换和 Hartley 变换的滤波器半径的两倍,但所有滤波器都通过了相同的频率范围。尺寸的明显增大是由于正弦变换和余弦变换具有更高的频率分辨率,这一点已在前面讨论过。需要注意的是,这些变换的频谱无需像Fourier变换和哈特利变换的频谱那样进行中心化处理,即可方便地进行解释。最后,我们注意到,在所有实际应用中,图 7.15(g) 至 (i) 中的滤波图像与图 7.15(c) 中的Fourier滤波结果是等效的。

---------------------图 7.15:(a) 图 4.41(a) 所示的 688 × 688 测试图案的原始图像。(b) 对 (a) 中的测试图案进行零填充至 1376 × 1376 大小后,得到的离散傅里叶变换 ( DFT )。蓝色叠加层是一个半径为 60 的理想低通滤波器 ( ILPF )。(c) Fourier 滤波后的结果。( d )--( f ) 对 (a) 中的测试图案进行零填充后,得到的离散Hartley变换、离散余弦变换 ( DCT ) 和离散正弦变换 ( DST )。蓝色叠加层与 (b) 中的 ILPF 相同,但由于 DCT 和 DST 的频率分辨率更高,因此在 ( e ) 和 ( f ) 中看起来更大。( g )--( i ) 分别为Hartley变换、余弦变换和正弦变换的滤波结果。-----------------

最后,我们总结一下这个例子。虽然 Fourier变换及其相关变换可以使用类似快速Fourier变换(FFT)的算法实现,或者直接基于FFT计算,但我们使用了本节介绍的矩阵实现方法来计算正变换和逆变换。在MATLAB®、Windows® 10操作系统以及配备2.1 GHz Intel® i7-4600U处理器的笔记本电脑上,计算本例中Fourier变换及其相关变换所需的总时间比相应的FFT计算时间长2到5倍。不过,所有计算都耗时不到一秒。

7.7 Walsh-Hadamard变换(Walsh-Hadamard transforms)

Walsh-Hadamard变换(WHT)是一种非正弦变换,它将函数分解为矩形基函数的线性组合。这些基函数称为Walsh函数,其取值为 +1 和 -1。Walsh-Hadamard变换矩阵中基函数的排列顺序决定了所计算的变换的具体形式。对于Hadamard排序(也称为自然排序),这个变换矩阵可通过将逆变换核

(7-95)

代入公式 (7-22) 和 (7-24) 而求得,其中,公式 (7-95) 指数上的求和是按模 2 的算术进行计算, ,且 z 的二进制表示中的第 k 位,例如,n = 3 和 z = 6 ( 二进制表示为 110 ),则 , , 和 。若 N = 2 ,则导致的 Hadamard 排序的变抽矩阵是

(7-96)

其中,右边的矩阵(不考虑标量乘数)称为 2 阶 Hadamard 矩阵。令 表示 N 阶Hadamard 矩阵,则生成 Hadamard 排序的变换矩阵的一个简单递归关系是

(7-97)

其中,

(7-98)

(7-99)

因此,公式 (7-96) 可根据公式 (7-97) 和 (7-99) 推导出来。按同样的方式,有

(7-100)

(7-101)

相应的 Hadamard 变换矩阵可通过将 代入公式 (7-97) 而求得。

Hadamard矩阵一行中符号变化的次数(0交叉点的数量) 称为该行的列率 (sequency)。与频率类似,列率 衡量函数的变换速率,并且与Fourier变换的正弦基函数一样,每个Walsh函数都具有唯一的列率 。由于Hadamard矩阵的元素源自逆核值,因此序列率 概念也适用于基函数 s (x ,u )( u = 0, 1, ..., N -- 1 )。例如,式 (7-100) 中 基向量的更率分别为 0, 3, 1, 2;公式 (7-101) 中 基向量的列率分别为 0,7,3,4,1,6,2 和 5 。这种列率的排列方式是Hadamard排序 Walsh-Hadamard 变换的定义特征。

在信号和图像处理应用中,将Hadamard矩阵的基向量进行排列,使其序列数随着u的增加而递增,这种做法既可取又常见。导致的列率排序 Walsh-Hadamard 变换的变换矩阵可通过将逆变换核

(7-102)

代入公式 (7-22) 和 (7-24) 而求得,其中,

(7-103)

如前,公式 (7-102) 和 (7-103) 中的求和是按照模 2 算术进行运算的。因此(例如),

(7-104)

其中,加入撇号( ' ) 以表明相对于 Hadamard 排序的列率排序。注意, 的行的列率匹配它们的行数------即,0 ,1 , 2 , 3 , 4 ,5 , 6 和 7 。另一种生成 的方式是重排 Hadamard 排序 的行,注意, 的行 s 对应于 的行是s 的位反转gray码(bit-reversed gray code)(反射二进制编码),由于对应 n 位 gray 码可以计算为

(7-105) (对于 0 ≤ in - 2)

(对于 i = n - 1) 。

其中,⨁ 表示异或 运算( exclusive OR ------只有当输入值不同时(一个为真,另一个为假)才为真), 的行s 的行 。例如, 的行 4 或 ,其 gray 码是 ,来自 的行 或 3 。注意,公式 (7-104) 中 的行 4 实际上等于公式 (7-101) 中 的行 3 。

图 7.16(a) 和 (b) 以图形和数值方式描绘了 N = 8 时按列率排列的 WHT 变换矩阵。注意,图 7.16(a) 中离散基函数的列率随着 u 从 0 增加到 7 而增加,相应的底层方波函数的列率也随之增加。此外,注意图7.16(b) 中的变换矩阵是实对称的,且根据公式 (7-105) 和公式 (7-97) 推导为

(7-106)

这个矩阵是正交的,且有 ,其证明过程留给读者作练习。最后,请注意图 7.16(c) 中按列率排列的基图像之间的相似性。其基于图 7.1(c) 中的二维 DCT 的基图像可分离2维逆变换核

(7-107)

列率随着 uv 的增加而增加,类似于离散余弦变换( DCT )基图像中的频率,但它没有像频率那样有用的物理意义。

------------------------------图 7.16:N = 8 的列率排序Walsh-Hadamard的变换变换矩阵和基图像。(a) 正交变换矩阵 的图形表示,(b) 四舍五入到小数点后两位,以及 (c) 基图像。对于一维变换,矩阵 与公式 (7-28) 和 (7-29) 结合使用;对于 2 维变换,与公式 (7-35) 和 (7-36) 结合使用。------------------------

例子 7.13 一种简单的列率排序 Walsh-Hadamard变换

为了计算一维函数 的列率排序 Walsh-Hadamard ,我们首先利用公式 (7-100) Hadamard 排序的 Hadamard 矩阵 ,并利用所描述的与公式 (7-105) 关联的过程对基向量重新排序。 的Hadamard 排序基向量到 的频率排序基向量的映射计算如下:

因此,根据公式(7-106),4 × 4 的列率排序 Walsh-Hadamard 变换矩阵为

而列率排序的变换是

7.8 斜变 (Slant-transform)

许多单色图像包含大面积亮度均匀的区域以及亮度呈线性增加或减少的区域。除了离散正弦变换,我们迄今为止介绍的所有变换都包含一个基向量(频率或列率u = 0),用于有效地表示恒定灰度区域,但没有一个变换的基函数是专门用于表示线性增加或减少的亮度值的。本节讨论的变换称为斜变换,它包含这样一个基函数。

可以使用公式

(7-108)

按递归求得,其中,斜矩阵(slant matrix)是

(7-109)

在这里, N × N 阶恒等矩阵(单位矩阵),

(7-110) ​​​​​​​

而系数 (对于 N > 1 )分别是

(7-111)

(7-112)

N ≥ 8 时,矩阵 不是频率排序的,但可以使用例子 6.13 中展示的 WHT 的过程来使其成为频率排序的。使用公式 (7-108) 到 (7-112) 的例子是斜变换矩阵

(7-113)

由于 N = 4 ,因此 的基向量 ( 和 的斜矩阵之行)是列率排序的。

例子 7.14 一个简单的一维斜变换

使用公式 (7-28) 和 (7-113) ,计算得到来自例子 7.13 的函数 的斜变换是 **。**注意,该变换仅包含两个非零项,而前面示例中的Walsh-Hadamard变换包含三个非零项。斜变换能够更有效地表示函数 f ,因为 f 是一个线性递增函数------即,f 与列率为 1 的斜基向量高度相关。因此,使用斜基函数进行线性展开所需的项数比使用Walsh基函数所需的项数更少。

图 7.17(a) 和 (b) 以图形和数值方式描绘了 N = 8 时列率排序的斜变换矩阵。正如使用撇号(') 来表示 Walsh-Hadamard 变换列序排序那样,我们分别使用 来表示公式 (7-108) 和 (7-109) 的列率排序版本。注意,图 7.16 (b) 中的斜变换矩阵是实数的,但不是对称的。因此, 。此外,矩阵 是正交的,可以与公式 (7-35) 和 (7-36) 结合使用来实现二维可分离斜变换。图 6.17(c) 显示了尺寸为 8 × 8 的二维斜变换基图像。请注意,当 4 ≤ u ≤ 5 且 4 ≤ v ≤ 5 时,这些基图像与图 7.16(c) 中对应的 Walsh-Hadamard 变换基图像完全相同。在图 7.16(a) 和图 7.17(a) 中,当 4 ≤ u ≤ 5 时,这一点也显而易见。事实上,所有斜变换基向量都与 Walsh-Hadamard 变换的基向量非常相似。最后,我们注意到斜变换矩阵具有可以实现类似于快速 Fourier 变换 (FFT) 的快速斜变换算法的必要特征。

-------------------- ----------图 7.17:N = 8 的斜变换排序的变换变换矩阵和基图像。(a) 正交变换矩阵 的图像表示 ,(b) 四舍五入到小数点后两位,以及 (c) 基图像。对于一维变换 ,矩阵 与公式 (7-28) 和 (7-29) 结合使用;对于 2 维变换,与公式 (7-35) 和 (7-36) 结合使用。--------------------------------------

7.9 Haar (Haar transform)

Haar变换的基函数发现于1910( Haar[1910]),后来被认为是历史最悠久、最简单的正交小波。我们将在下一节中从小波的角度探讨Haar函数。在本节中,我们将把Haar变换视为另一种基于矩阵的变换,它使用一组矩形形状的基函数。

Haar变换基于定义于连续的半开区间 x ∈[0,1) 上的 Haar 函数 。变量 u > 0是一个整数,其可以唯一地分解为

(7-114)

其中,p 是包含于 u 中的 2 的最大幂且 q 是余数------即, 。则 Haar 基函数是

(7-115)

u = 0 时,对于所有 x ;因此,第一个 Haar 函数与连续变量 x 无关。对于 u 的所有其它值, ,除非处于半开区间 中,在两种区间中,其函数分别为大小 (magnitude)为 的矩形波。参数 p 决定了两个矩形波的幅度 (amplitude)和宽度 ,而 q 决定了它们沿 x 轴的位置。随着 u 的增大,矩形波变得越来越窄,可以表示为 Haar 函数线性组合的函数数量也随之增加。图 7.18(a) 显示了前八个 Haar 函数(即图中蓝色的曲线)。

-----------------------------图 7.18:N = 8 时离散 Haar 变换的变换矩阵和基图像。(a) 正交变换矩阵 的图形表示,(b) 四舍五入到小数点后两位,以及 (c) 基图像。对于一维变换,矩阵 与公式 (7-28) 和 (7-29) 结合使用;对于二维变换,它与公式 (7-35) 和 (7-36) 结合使用。----------------------------------------------------

离散Haar 变换的变换矩阵可通过将逆变换核

(7-116)

( 对于x = 0 ,1 ,... ,N -- 1 ;u = 0 ,1 ,... ,N -- 1)

代入公式 (7-22) 和 (7-24) 而求得,其中, 。所得的变换矩阵(用 表示)可以写成一个 N × N Haar 矩阵

(7-117)

的一个函数

(7-118)

例如,若 N = 2 ,

(7-119)

的计算中,公式 (7-116) 的 xu 是 0 和 1 。因此,公式 (7-114),(7-115)和 (7-116) 给出 , , 和 。对于 N = 4 ,公式 (7-114) 中的 u , qp 假设取值为

而大小为 4 × 4 的 Haar 变换矩阵则成为

(7-120)

N = 8 时的变换矩阵如图 7.18(b) 所示。 是实数、正交且按列率排列的。Haar变换矩阵的一个重要特性是它可以分解为比原矩阵非零元素更少的矩阵之积我们迄今为止讨论的所有变换都具有此特性 。**它们可以使用复杂度为 的类似 FFT 的算法来实现。然而,Haar变换矩阵在分解过程开始之前就具有较少的非零元素,因此可以实现复杂度为 O (N ) 的更简单的算法。**如图 7.18(c) 所示, 8 × 8 大小的图像的可分离二维Haar变换的基图像也具有较少的非零元素。

相关推荐
冬奇Lab2 小时前
烧了数千美金 Token,我用 AI Agent 打通了企业级 Bug 修复全流程
人工智能·debug
冬奇Lab2 小时前
一天一个开源项目(第85篇):TypeScript 巫师把自己的 Claude 配置推到了 GitHub,一夜全球第一
人工智能·开源·claude
爱艺江河2 小时前
智慧合规的HarmonyOS原生实践:与OpenClaw适配的项目方案浅析
人工智能·华为·harmonyos
xiaoduo AI2 小时前
客服机器人用知识图谱推理吗?Agent功能介绍+关联问答,跨品类问题能推导?
人工智能·机器人·知识图谱
Data-Miner2 小时前
数以轻舟聚焦Excel-Agent场景:当AI做表工具学会说人话
人工智能·excel
甲维斯2 小时前
完了!我要背弃Opus4.7叛逃到GPT5.5+Codex了
人工智能·ai编程
夏沫の梦3 小时前
生图新王GPT-image-2已用!附使用教程+生成案例
人工智能
AI木马人3 小时前
13.【多租户架构实战】如何让一个AI系统同时服务多个用户且数据完全隔离?(完整设计方案)
人工智能·架构
sjsjsbbsbsn3 小时前
大模型核心知识总结
java·人工智能·后端