当前位置: 首页 > article >正文

第7章 小波基及其构造


前面重点介绍了小波变换及其应用,在选用某一具体小波基函数时,提供了几种参考方法。通过多分辨分析的知识介绍了如何构造小波基,并且介绍了这些基是否具有正交特性。
同傅立叶分析不同,小波基函数不是唯一存在的,所有满足小波条件的函数都可以作为小波函数,那么小波函数的选取就成了十分重要的问题。
本章将介绍几类常用的小波基函数,如Haar和db9等,并且给出MATLAB中相应函数的命名;还要进一步介绍小波基的性质,特别是具有正交性的小波基函数构造方法;最后会结合MATLAB函数提取小波与尺度函数的应用范例。
学习目标:
(1)了解几种常见的小波基的概念
(2)熟悉小波基的MATLAB命名
(3)熟悉小波基的构造
(4)熟练掌握小波基及尺度函数的提取函数
7.1 几种常用的小波
随着小波理论及各种数值方法的发展,人们在一些基本小波的基础上构造了满足不同需要的小波。下面介绍几种常用的小波。
7.1.1 Haar小波
A.Haar于1990年提出了一种正交函数系,定义如下:
这是一种最简单的正交小波,即:
图7-1所示是Haar小波的形状图。
图7-1 Haar小波的形状图
引入具有正交性的特征函数φH
 (x):
特征函数φH
 (x)就是尺度函数。Haar小波可用φH
 (x)表示为:
Haar小波是不连续可微的。
7.1.2 Daubechies(dbN)小波系
该小波是Daubechies从两尺度方程系数{hk
 }出发设计出来的离散正交小波。一般简写为dbN,N是小波的阶数。
除N=1外,dbN不具对称性〔即非线性相位〕;dbN没有显式表达式(除N=1外),但{hk
 }的传递函数的模的平方有显式表达式。
注:N=1时,Daubechies小波就是Haar小波,在MATLAB中同时也用db1代表haar。
假设
 ,其中, 为二项式的系数,则有:
其中,
图7-2 给出了db2~db10的小波函数形状图。
图7-2 dbN形状图
7.1.3 双正交小波Biorthogonal(biorNr.Nd)小波系
Biorthogonal函数系的主要特征体现在具有线性相位性,它主要应用在信号与图像的重构中。通常的用法是采用一个函数进行分解,用另外一个小波函数进行重构。Biorthogonal函数系通常表示为biorNr.Nd的形式:
Nr=1  Nd=1,3,5
Nr=2  Nd=2,17,6,8
Nr=3  Nd=1,3,5,7,9
Nr=17 Nd=17
Nr=5  Nd=5
Nr=6  Nd=8
其中:r表示重构,d表示分解。
图7-3 给出了biorNr.Nd的几种形状图。
图7-3 biorNr.Nd的几种形状图
7.1.4 Coiflet(coifN)小波系
Coiflet函数也是由Daubechies构造的一个小波函数,它具有coifN(N=1,2,3,4,5)这一系列,Coiflet具有比dbN更好的对称性。从支撑长度的角度看,coifN具有和db3N及sym3N相同的支撑长度;从消失矩的数目来看,coifN具有和db2N及sym2N相同的消失矩数目。
图7-4 给出了Coiflet的形状图。
图7-4 Coiflet的形状图
7.1.5 SymletsA(symN)小波系
SymletsA函数系是由Daubechies提出的近似对称的小波函数,它是对db函数的一种改进。SymletsA函数系通常表示为symN(N=2,3,…,8)的形式。
图7-5 给出了SymletsA的形状图。
图7-5 SymletsA形状图
7.1.6 Morlet(morl)小波
常用的是复值Morlet小波:
其傅立叶变换是:
Morlet函数定义为
 ,它的尺度函数不存在,且不具有正交性。
图7-6给出了Morlet形状图。
图7-6 Morlet形状图
7.1.7 MexicanHat(mexh)小波
MexicanHat函数为:
它是Gauss函数的二阶导数,因为它像墨西哥帽的截面,所以有时称这个函数为墨西哥帽函数。墨西哥帽函数在时间域与频率域都有很好的局部化,并且满足:
由于它的尺度函数不存在,所以不具有正交性。
图7-7给出了MexicanHat形状图。
图7-7 MexicanHat形状图
7.1.8 Meyer函数
Meyer小波函数Ψ和尺度函数φ都是在频率域中进行定义的,是具有紧支撑的正交小波。
其中,υ(a)为构造Meyer小波的辅助函数,且有:
图7-8给出了Meyer形状图。
图7-8 Meyer形状图
7.2 小波基的性质及其在MATLAB中的命名
上述8类小波基具有的性质见表7-1,这里仅供读者选用时参考。
表7-1 小波基性质
注:Y表示该小波基具有此性质,空白表示不具有此性质。
有的小波具有对称性,有的小波具有良好的正则性,易于重构曲线或图像。
在前面几个章节的算例中,曾经引用过MATLAB软件中提供的小波基。针对上一节所介绍的8种常用小波基,MATLAB小波工具箱中相应地包含了这些小波函数,请参看表7-2。表7-2中主要给出了8种常用小波函数,可供操作者使用。
表7-2 MATLAB对应的小波函数
说明:表7-2中的参数N表示选取该小波的类型,通常是整数,具体请读者参见Help文档。
7.3 小波基的构造
本节主要讨论的是在表7-1中提到的具有正交性质的小波基,其在多分辨分析(MRA)框架下是如何构造的。最后,将在MATLAB中实现小波基构造。
7.3.1 由尺度函数构造正交小波基
1.由正交尺度函数
 构造正交小波基
具体构造步骤如下。
(1)选择ϕ(t)或
 为一组正交基。
(2)求h(n):

(3)由h(n)求g (n):

(4)由g(n)、ϕ(t)构造正交小波基函数ψ(t):

例如,Haar小波的构造。首先选择尺度函数:
显然
 为一正交归一基,则:
由式(7.3)
可得:
这就是Haar小波函数。
说明:滤波器gn
 代表高通滤波器h1
 (n);滤波器hn
 代表低通滤波器h0
 (n);下同。
2.由尺度函数为Riesz基时构造正交小波基函数
要找到一个多分辨分析的尺度函数ϕ(t),使它的整数平移构成一个正交系列,有时候不太方便。但要找到一个函数,使它的整数位移构成一个Riesz基
 来构造一个多分辨框架,从而构造一组正交小波基。
首先给出Riesz基的定义:
设函数
 构成的空间为V0
 的 Riesz基的充分必要条件为存在两常数A>0,B<∞,使得对于所有
 都有:
可以证明式(7.7)等价于:
因此我们可以定义一个
 ,使得:
显然,Φ#
 (ω)满足:
即ϕ#
 (t−k)是正交基,且ϕ#
 (t−k)可以构成{Vj
 }j∈Z
 的多分辨分析框架。由此可由
 入手,构造一个正交小波基。
可以证明如下:
(1)除了N=0时(此时为Haar小波)例外,其他ϕ(t−k)都不具有正交性,因此必须实行正交化处理过程ϕ#
 (t);
(2)正交的ϕ#
 (t)及其构造的小波函数ψ(t) (Battle-Lemarie 小波函数)支集都为非紧的(定义域为整个实轴);
(3)当N为偶数时,ϕ#
 (t)或ϕ(t)关于
 对称;当N为奇数时,ϕ# (t)ϕ或(t)关于t=0对称。而所有Battle-Lemarie小波关于
 对称。并且已有学者证明,ϕ#
 (t)ψ和(t)都具有指数衰减性。
7.3.2 紧支集正交小波基的性质和构造
由MRA理论可知,尺度函数和小波函数均满足双尺度方程:
由上式可知,即使ϕ(t)是支集紧的,相应的ψ(t)的支集未必是紧的。因此,既简单又重要的是要求式(7.8)的右边仅包含有限(N+1)项,此时只要作适当的平移变换即可将双尺度方程写成:
如此,若ϕ(t)是正交MRA中紧支集的母函数,则由此构成的正交小波基的母函数ψ(t)也是紧支集的。现在的关键问题是要求出满足式(7.9a)的双尺度方程中的ϕ(t)。
由式(7.9a)我们发现,如果先直接寻找ϕ函数,然后再来确定有限项的h是不容易的;相反,若有限长度的h已确定,再来确定ϕ则容易些。
我们先不考虑这样得到的ϕ(t)是否满足多尺度分析的生成元的正交性等条件,而只考虑若给定一组常数h0
 ,h1
 ,…,hN−1
 ,如何由解方程(7.9a)来求得ϕ(t)的问题。
1.有限长双尺度方程的求解
由有限长双尺度方程求解尺度函数ϕ(t)有多种方法,下面介绍常用的两种。
解法1 理论推求法。
其中,H (ω)为hn
 的离散傅立叶变换为
 ,则:
这种方法看起来简单,但在具体应用时很难用数值方法求解,因此只有理论上的价值。
解法2 数值迭代法。(略)
解法3 解方程组法。
若事先知道方程(7.9a)的解
 ,则可简单地直接求出ϕ(t)在所有二进小数
 上的值,如下:
所以:
在双尺度方程(7.9a)中,令
 ,得:
此方程组在标准化条件
 下有唯一解。
这样,求得
 后,利用双尺度方程:
即可求得 之值。重复上述过程,即可求得ϕ(t)一切二进小数之值
 就数值计算而言,这足够了。
2.紧支集正交小波基的构造
构造紧支集正交小波基的双尺度方程:
也就是构造特征多项式
 的方法,可归结为下列步骤。
选定一整数
选定一多项式,使它满足以下3式:
其中PL
 (y)满足:
寻找一实系数三角多项式Q(z),使得
选取方法是:从
 的每四个复零点中选两个,每对实零点中选一个,若想构造Q(z)则要满足:
最简单的情况是取
 ,此时PL
 (y)是正系数多项式,所以条件式(7.12)显然得到满足,且因当y.0时,PL
 (y)单调增加,因此,
故条件式(7.14)也得到满足。于是利用 Riesz 引理即可构造实系数三角多项式
由PL
 (y)构造Q时,在选取时选取PL
 (y)在单位圆内的根,这相应于设计滤波器时选取最小相位。
当L=2,3时,QL
 (ejω
 )的具体解析式为:
相应的hn
 如下。
当L=2时:
此时hn
 的非零长度N=4。
当L=2时:
此时hn
 的非零长度N=6。
图7-9和图7-10给出了一些尺度函数与小波母函数的图形。
图7-9 Daubechies尺度函数(N=4,6,8,…,40)
图7-10 Daubechies 小波函数(N=4,6,8,…40)
对这样的紧支集小波,我们讨论一下它的一般性质。
(1)支集大小。
由式(7.15)得到不同L下尺度函数的支集为:
其相应的小波母函数的支集为:
(2)对称性问题。
尽管紧支集小波有支集紧的优点,但它一般没有对称性。可以证明,除Haar小波(其
 为反对称,其
 为对称)外,其他所有连续的紧支集正交小波基及其尺度函数都不具有任何对称性。
(3)光滑性问题。
紧支集多尺度生成元ϕ的光滑性也较差。要增加ϕ的光滑度,则要增加支集长度,即时域支集变长,其光滑度也即频域局部性变好(与海森堡测不准原理是统一的)。
(4)消失矩(Cancellation)特性。
对某些应用来说(特别在指数计算方面),小波不仅应当是零均值的(满足可容许性条件),而且还必须具有高阶消去性。小波的消失矩定义如下:若
称小波ψ(t)具有M阶消失矩。
小波的消失矩特性使函数在小波展开时消去了其高阶平滑部分(也即函数展开为多项式时的前M−1项对应函数的光滑部分,小波系数将非常小,因此小波变换将仅仅反映函数的高阶变化部分),使我们能研究函数的高阶变化和某些高阶导数中可能的奇异性。
Haar小波只具有一阶消失矩,Daubechies连续的紧支集正交小波可具有任意高阶消失矩,消失矩随着支集增大而增大。对于L阶消失矩的 Daubechies 小波,其h(n)的长度N=2L,并且L−1次连续可导。
7.3.3 实现小波基的构造
上面讨论了一些正交小波基的构造理论,对于如何实现小波基构造,相信绝大多数的用户都感兴趣,本节中的代码参考了一些国内研究者在此领域做出的贡献。在此基础上,调试并修正了几个小波基构造的实例,希望对此领域的学习者有所帮助。
【例7.1】小波基构造的程序。MATLAB代码设置如下:
% 此程序实现构造小波基
% globalMOMENT;  %消失矩阶数
% globalLEFT_SCALET;  % 尺度函数左支撑区间
% globalRIGHT_SCALET;  % 尺度函数右支撑区间
% globalLEFT_BASIS;  %小波基函数左支撑区间
% globalRIGHT_BASIS;  %小波基函数右支撑区间
% globalMIN_STEP;  %最小离散步长
% globalLEVEL;   %计算需要的层数(离散精度)
% globalMAX_LEVEL;  %周期小波最大计算层数
clear all
MOMENT=10;   %消失矩阶数
LEFT_SCALET=0;   %尺度函数左支撑区间
RIGHT_SCALET=2*MOMENT-1; %尺度函数右支撑区间
LEFT_BASIS=3-MOMENT; %小波基函数左支撑区间
RIGHT_BASIS=MOMENT;  % 小波基函数右支撑区间
MIN_STEP=1/512;   %最小离散步长
LEVEL=-log2(MIN_STEP);  %计算需要的层数(离散精度)
MAX_LEVEL=8;   %周期小波最大计算层数
h=wfilters('sym10','r');
for i=LEFT_SCALET+1:RIGHT_SCALET-1
for j=LEFT_SCALET+1:RIGHT_SCALET-1
k=2*i-j+1;
if (k>=1&k<=RIGHT_SCALET+1)
a(i,j)=h(k);    %矩阵系数矩阵
else
a(i,j)=0;
end
end
end
[s,w]=eig(a);    % 求特征向量,解的基
s1=s(:,1);
s2=[0;s1/sum(s1);0]; %根据条件SUM(FI(T))=1,求解;本函数实现尺度函数经伸缩后的离散值
LEFT_SCALET=0;   %尺度函数左支撑区间
RIGHT_SCALET=2*MOMENT-1; %尺度函数右支撑区间
LEFT_BASIS=3-MOMENT;  %小波基函数左支撑区间
RIGHT_BASIS=MOMENT;  % 小波基函数右支撑区间
MIN_STEP=1/512;   %最小离散步长
LEVEL=-log2(MIN_STEP);  %计算需要的层数(离散精度)
MAX_LEVEL=8;    %周期小波最大计算层数
for j=1:LEVEL    % 需要计算到尺度函数的层数
t=0;
for i=1:2:2*length(s2)-3   %需要计算的离散点取值(0,1,2,3 -> 1/2,3/2,5/2)
t=t+1;
fi(t)=0;
for n=LEFT_SCALET:RIGHT_SCALET; % 低通滤波器冲击响应紧支撑判断
temp=i/2^(j-1)-n;
if (temp>=LEFT_SCALET&temp<=RIGHT_SCALET) %小波尺度函数紧支撑判断
%temp1=i-n*2^(j-1)+1;
fi(t)=fi(t)+h(n+1)*s2(n+1);  %反复应用双尺度方程求解
end
end
end
end
clear s
n1=length(s2);
n2=length(fi);
for i=1:length(s2)+length(fi)  % 变换后的矩阵长度
if (mod(i,2)==1)
s(i)=s2((i+1)/2);   % 矩阵奇数下标为小波上一层(0,1,2,3)离散值
%s(i)=fi((i+1)/2);
else
s(i)=fi(i/2); %矩阵偶数下标为小波下一层(1/2,3/2,5/2)(经过伸缩变换后)的离散值
end
end
% 采用双尺度方程求解小波基函数 PSI(T)
LEFT_SCALET=0;   %尺度函数左支撑区间
RIGHT_SCALET=2*MOMENT-1; %尺度函数右支撑区间
LEFT_BASIS=3-MOMENT;     % 小波基函数左支撑区间
RIGHT_BASIS=MOMENT;     % 小波基函数右支撑区间
MIN_STEP=1/512;      %最小离散步长
LEVEL=-log2(MIN_STEP);     %计算需要的层数(离散精度)
MAX_LEVEL=8;      % 周期小波最大计算层数
i=0;
for t=LEFT_BASIS:MIN_STEP:RIGHT_BASIS;   % 小波基支撑长度
s=0;
for n=3-RIGHT_SCALET:3-LEFT_SCALET   % g(n)取值范围
if((2*t-n)>=LEFT_SCALET&(2*t-n)<=RIGHT_SCALET) % 尺度函数判断
s=s+h(3-n+1)*(-1)^(n)*((2*t-n)/MIN_STEP+1);  %计算任意精度的小波基函数值
end
end
i=i+1;
wave_base(i)=s;
end
plot(wave_base);
title('小波基构造');
结果如图7-11所示。
图7-11 小波基构造
注:此程序只用作学习参考,希望读者批评指正。
【例 7.2】利用滤波器构造小波函数,并且通过势插值出正弦函数来画出尺度函数。MATLAB代码设置如下:
% 小波构造
clear;clc;
t=3;
phi=[0,1,0];
h=wfilters('db7','r');
h=h*sqrt(2);
h_e=h(1,[2:2:14]);
h_o=h(1,[1:2:13]);
for m=1:15;
stem(phi);
drawnow;
pause(1);
ee=conv(h_e,phi);
oo=conv(h_o,phi);
phi(1,[2:2:2*length(ee)])=ee;
phi(1,[1:2:2*length(oo)-1])=oo;
end;
plot(phi)
title('构造小波')
结果如图7-12所示。
图7-12 小波构造
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% cubic_average(立方b样条)
% 均值插值% 初始化
s=[0 0 1 0 0] %正弦波
se=[1/8,6/8,1/8];
so=[4/8,4/8] %循环
for p=1:10;
t=length(s)-1;
o(1:t)=s(1:t)*so(1)+s(2:t+1)*so(2);
e(1)=s(t+1)*se(1)+s(1)*se(2)+s(2)*se(3);
e(2:t)=s(1:t-1)*se(1)+s(2:t)*se(2)+s(3:t+1)*se(3);
e(t+1)=s(t)*se(1)+s(t+1)*se(2)+s(1)*se(3);
s([1:2:2*t+1])=e([1:t+1]);
s([2:2:2*t])=o([1:t]);
drawnow;
end;%抽取
figure(2)
plot(s)
title('正弦函数')
结果如图7-13所示。
t=length(s);%总长度
p=128;
% 需要点数% 间隔
d=(t-1)/p;
% 最终尺度函数
r=s(2:d:t-1);
% 画图
figure(3);
plot(r);
title('尺度函数')
结果如图7-14所示:
图7-13 正弦函数
图7-14 尺度函数
7.4 提升方案构造二代小波并实现
前面介绍的小波变换都属于一代小波,然而更一般的情况下,利用提升方案可以构造第二代小波。
7.4.1 提升方案的基本原理
小波函数ψj,k
 (t)通常定义为一个属于L2
 (R)空间的母小波的二进伸缩(Dilates)和平移(Translate):
这样的小波称为第一代小波。然而,在更一般的情况下,小波并不一定要彼此伸缩与平移,但仍然具有第一代小波的特点,这样的小波称为第二代小波,利用提升方案可以构造它们。
第一代小波具有如下性质。
P1:是L2
 (R)空间的Riesz基,还是Lebesgue、Lipschitz、Sobolev和Besov空间的无条件基。
P2:小波及其对偶在空间和频域是局域化的,有些小波还是紧支的。
P3:小波分析可纳入多分辨分析的框架,这导致了快速小波变换算法。
在研究中常有如下需要。
G1:第一代小波提供了定义在Rn
 上函数的基,但在像数据分割、在一般定义域上的微分和积分方程的求解,需要定义在任意的、可能不光滑的域上的小波。
G2:第一代小波典型地只提供具有不变测度的空间的基,而微分方程的对角化、在曲线或表面上的分析等需要可适应加权测度的基。
G3:第一代小波隐含对数据进行规则采样,而实际问题经常要处理不规则采样的数据。
下面介绍利用提升方案构造第二代小波的方法。
考虑信号
 ,把X分成二个不相交的集合:偶下标采样
 和奇下标采样
 ,通常情况下这两个集合是紧密相关的,因而从一个集合能很好地建立另一个集合的预测P:
知道了d和奇采样值,可立即恢复信号:
若P性能好,则d将是一个稀疏集,换言之,我们期望d的一阶熵小于xo
 。


利用相邻两偶采样对奇采样进行预测,记下差值
若信号是相关的,则大多数小波系数γ−1,k
 将很小。在理论上,我们可以继续通过对{λ−1,k
 }k∈Z
 施加以上操作,然而,上述简单的操作性能并不好,为此引入另一个条件,即希望λj,k
 系数的平均值在每一次分解时保持一致,或者说使
 ,此前所进行的下采样很显然不具有这种特点,我们可通过借助于γ−1,k
 对λ−1,k
 进行提升来实现这点:
现在,每一级小波变换由两步构成:首先计算小波系数,其次提升下采样系数。逆变换可立即得到:只需把式(7.21)中的加号换成减号,再把式(7.20)的等式中的项作一下移动即可。整个计算过程如图7-15所示。
图7-15 提升方案示意图
从图7-15中可以看出,在进行小波变换时,可进行同址运算,即不需要辅助存储器,这对硬件实现十分有利。下面的定理给出提升方案的一般方法。
定理7-1 给定双正交滤波器算子的初始集合
 ,那么可通过如下方法获得一个新的双正交滤波器算子集
式中:Sj
 是一个从l2
 (M(j))到l2
 (K (j))的算子。
证明:利用矩阵形式表示提升方案
因为 ,有
根据双正交滤波器的定义有
所以:
另外:
根据定义,满足式(7.22)和式(7.23)的即为双正交滤波器。证毕。
已经证明所有FIR小波滤波器都有能分解成基本的提升步骤。用矩阵表示时,一个提升步骤对应一个单元(Elementary)矩阵。分解的基本理论依据是矩阵代数,根据矩阵代数,任何具有多项式元素项且行列式为1的矩阵都可以分解成一系列的单元矩阵。
把求自然数的最大公约数的Euclidean算法推广到求两个多项式的最大公因子。两个多项式的公因子取决于因子zp
 ,而且与自然数不同的是,在多项式的情形下,解并不是唯一的。
定理 7-2 (多项式的 Euclidean算法)。设有两个多项式a(z)和b(z)≠0,而且
 ,从i=0开始循环执行以下步骤:
那么
 ,如果n是使得bn
 (z)=0的最小数。
定理中
 定义为:若
用矩阵形式表示为:
相应地
式中:
 。这样,an
 (z)能整除a(z)、b(z),如果an
 (z)是一个单项式的话,那么a(z)、b(z)是互素的。
为了把FIR小波滤波器h(,g)分解成基本的提升步骤,我们首先注意到
 必须是互素的,而且利用公约数的不唯一性,总是可以使公约数为常量K,即
对于给定的滤波器h,通过如下操作,总可以找到一个互补滤波器g0
 ,
即令
在式(7.24)中
当i为奇数时使用式(7.25)的第一个等式,当i为偶数时使用第二个等式,有
通过一个提升步骤可获得滤波器g,
由以上分析可得如下定理
定理7-3给定互补滤波器对h(,g),那么总是存在多项式
 以及一个常量K,使得
与对偶滤波器对
 相关的多相p(olyphase)矩阵为:
在正交小波滤波器时有
 ,这就对应着两种不同的分解,也就是说,把FIR小波滤波器分解成基本的提升步骤时,分解是不唯一的。
利用提升方案进行的小波变换如图7-16所示。
图7-16 利用提升方案进行分解与重构
图7-16 (续)
作为例子,下面给出对具有两阶消失矩的D4正交小波的分解:
其中
多相矩阵是:
因式分解是:
使用式(7.27)作为P(z)的分解,则分析用的多相矩阵为:
由此可得小波分解算法:
由分解算法,通过反向进行操作,并改变相应的符号可得重构算法:
利用提升方案进行小波变换具有可进行同址运算的优点,这样在具体实现时可省去大量在存储器的开销,在进行图像处理时,这个优点更为明显。
它的另一个优点是可提高小波变换的速度。所以把现存的有限长小波滤波器分解成基本的提升步骤,可加快小波变换的进行。根据Daubechies的分析,随滤波器长度的增加,运算速度趋于常规小波变换的2倍。换言之,在同等的硬件条件下,对一维小波变换而言,运算时间降低一半,对二维小波变换则降为原来的四分之一。这个优点在实时性要求比较高的场合有很大的实用价值。
7.4.2 提升法实现第二代小波变换
上面是提升法构造二代小波的理论,本节将参考相关学者的研究,调试并修改一个关于提升法实现二代小波的MATLAB程序,希望广大爱好者可以参考,这里也同时感谢为此做出贡献的程序员。
【例7.3】提升法实现第二代小波分解变换。
MATLAB代码设置如下:
%%第二代小波变换源码;此程序用提升法实现第二代小波变换
clear;clc;
loadwoman;  % 下载图像
f=X;   % 原始图像
N=length(f);  % 图像维数
T=N/2;   % 子图像维数
% 3.列变换
% A.分裂(奇偶分开)
f1=f([1:2:N-1],:);  % 奇数
f2=f([2:2:N],:);  % 偶数
% B.预测
for i_hc=1:T;
high_frequency_column(i_hc,:)=f1(i_hc,:)-f2(i_hc,:);
end;
% C.更新
for i_lc=1:T;
low_frequency_column(i_lc,:)=f2(i_lc,:)+1/2*high_frequency_column(i_lc,:);
end;
% D.合并
f_column([1:1:T],:)=low_frequency_column([1:T],:);
f_column([T+1:1:N],:)=high_frequency_column([1:T],:);
figure(1)
colormap(map);
image(f);
title('原始图像')
结果如图7-17所示。
figure(2)
colormap(map);
image(f_column);
title('将原始图像进行列变换')
结果如图7-18所示。
 

http://www.lryc.cn/news/2418709.html

相关文章:

  • android:stretchcolumns=0,1,2,3,安卓表格布局android:collapseColumns,android:shrinkColumns和stretchColumn...
  • C# MessageBox最全的详解
  • error C2100: illegal indirection
  • 基于python的网站设计,python网站开发教程
  • jsp实现简易购物车
  • 各职业抗火装出处
  • 【河北工业大学城市学院毕业论文】基于Java的连连看游戏的设计与实现
  • 如何打开和编程NH文件
  • DropDownList绑定的两种方法
  • QQ空间欢迎动画代码大全
  • PDP协议简介
  • Windows 7 RTM“新版本”7600.16399”释疑
  • Linux介绍与操作系统安装
  • MATLAB6.5安装后MATLAB 出现 license manager error 103错误
  • Bcrypt.NET开源项目使用手册
  • MDK5(KEIL5)设置输出bin文件
  • 免费打造个人博客系统
  • APE文件直接刻录CD
  • 8 款浏览器兼容性测试工具介绍
  • MPEG-4标准定义的音频压缩格式AAC详解
  • CocosCreator 源码cc.moveBy详解
  • xiao
  • 小黄的日记,爱情本该如此
  • 分享97个社区论坛PHP源码,总有一款适合你
  • java仿qq空间音乐播放_使用JS改造的简单网页音乐播放器,仿QQ空间样式
  • CSS - 实现横向滚动(横向滚动布局)
  • 分享12款我常用的开源免费工具
  • 海外CDN加速方式
  • libtorrent源码分析(三)BT下载相关知识总结
  • C# TreeView的两种绑定方法