小波变换算法应用

小波变换算法应用
小波变换算法应用

《软件开发》

课程设计

题目:小波算法的设计

【题目要求:将小波算法在MATLAB中实现,并将其应用于数字图像处理中。】

学院:数学学院

专业班级:应用数学09-2班

姓名:明

学号:20096312

指导教师:邢燕、何蕾

2013.3.5

小波算法的设计

一、小波变换背景

小波变换是当前应用数学中一个迅速发展的领域,是分析和处理非平稳信号的一种有力 工具。它是以局部化函数所形成的小波基作为基底而展开的,具有许多特殊的性能和优点。 小波分析是一种更合理的时频表示和子带多分辨分析,对它的研究开始于20世纪80年代, 理论基础奠基于20世纪80年代末。经过十几年的发展,它已在信号处理与分析、地震信号处理、信号奇异性监测和谱古迹、计算机视觉、语音信号处理、图像处理与分析,尤其是图像编码等领域取得了突破性进展,成为一个研究开发的前沿热点。

二、小波变换概念

小波变换是一窗口大小固定不变但其形状可改变的时频局部化分析方法。小波变换在信号的高频部分,可以取得较好的时间分辨率;在信号的低频部分,可以取得较好的频率分辨率,从而能有效地从信号〔语音、图像等)中提取信息。

设)(t f 是平方可积分函数,即)()(2R L t f ∈,则该连续函数的小波变换定义为: dt a

b t t f a b a WT f )()(1

),(*-=?+∞

∞-ψ 0≠a 式中)()(1

,*t a

b t a b a ψψ=-称为母小波)(t ψ(基本小波)生成的位移和尺度伸缩,其中a 为尺度参数,b 为平移参数。 连续小波变换有明确的物理意义,尺度参数a 越大,则)(a t

ψ越宽,该函数的时间分辨

率越低。)(t ab ψ前增加因子

a 1是为了使不同的a 下的)(t a

b ψ能量相同。而),(b a WT f 在频域可以表示为ωωψωπωd e F a

b a WT b j f )()(2),(*?=。)(ωψ是幅频特性比较集中的带通

函数,小波变换具有表征分析信号)(ωF 频域上局部性质的能力。采用不同的a 值做处理时,)(ωψ的中心频率和带宽都不同,但品质因数(中心频率/带宽)却不变。

三、小波变换需求分析

小波分析的应用领域十分广泛,其中包括数学分析、信号分析、图像处理、量子力学、理论物理、军事电子对抗与武器的智能化、计算机分类与识别、音乐与语言的人工合成、医学成像与诊断、地震勘探数据处理和大型机械的故障诊断等方面。例如,在数学方面,它已用于数值分析、构造快速数值方法、曲线曲面构造、微分方程求解、控制论等领域;在信号分析方面,它主璧用于滤波、去噪声、压缩、传递等领域;在图像处理方面,它已应用于图像的压缩、分类、识别与诊断等领域;在医学成像方面,它已应用于减少B超、CT、核磁共振成像的时间,以及提高图像分辨率等领域。

本课程设计要求将小波算法在MATLAB中实现,并将其应用于数字图像处理中。所以本课程设计中主要将小波变换应用于图像处理的去噪。

四、图像去噪常用函数

通常处理的图像很多为索引图像,图像矩阵各元素表示的是调色板中的序号。而小波分析是对数值进行分析的,因此要将索引图像进行编码,进行小波分析才有实际意义。MATLAB 提供了wcodemat函数来对图像进行编码。

(1)wcodemat函数语法格式:Y=wcodemat(X,NB) 功能:对索引图像的数据矩阵X 进行编码,Y为编码返回值。NB是最大编码值,决定了编码的围是0~NB。

(2)dwt2函数实现二维离散小波变换,其语法格式:[cA,cH,cV,cD]=dwt2(X,’wname’)

其功能:使用指定的小波基函数’wname’对图像X进行二维离散小波变换,cA,cH,cV,cD 分别为图像分解的近似分量、水平分量、垂直分量和细节分量。

(3)idwt2函数实现二维离散小波反变换,其语法格式:X=idwt2[cA,cH,cV,cD,’wname’]

其功能是:利用小波分解得到的cA,cH,cV,cD分量进行二维离散小波反变换得到原始图像,wname函数指定二维小波反变换采用的小波基函数。

(4)wavedec2函数用于二维图像进行多层小波分解,其语法格式[C,S]=wavedec(X,N,’wname’) 其功能:使用指定的小波基函数wname。对图像X进行N 层二维离散小波分解。

五、利用小波变换进行图像去噪

下面以二维小波分析用于图像去噪为例。对于二维图像信号的去噪方法同样适用于一维信号,尤其对于几何图像更适合。二维模型可以表示为

+

=1

i

,2,1,0

?

i,

j

=m

j

,-

j

)

*

,(

)

,(

)

i

e

i

,(j

f

其中e是标准偏差不变的高斯白噪声(幅度分布服从高斯分布,功率谱密度又是均匀分布的噪声)。二维信号用二维小波分析的去噪步骤如下:

(1)二维信号的小波分解。选择一个小波和小波分解的层次N,然后计算信号s到第N 层的分解。

(2)对高斯系当选进行阀值量化。对于从1到N的每一层,选择一个阀值,并对这一层的高频系数进行软阀值量化处理。

(3)二维小波重构。根据小波分解的第N层的低频系数和经过修改的从第一层到第N 层的各层高频系数计算二维信号的小波重构。

值得注意的是,重点是如何选取阀值和阀值的量化。在MATLAB中的去噪函数有ddendmp 和wdencmp等。

MATLAB运行结果:

六、结论

这次设计利用小波变换完成了对图像进去噪目的,基本上实现了设计的要求。图像去噪是一个很有发展前途的研究领域,由于成像传感器噪声、相片颗粒噪声、图片在传输过程中的通道传输误差等因素会使图片上出现一些随机的、离散的、孤立的像素点,这就是图像噪声。图像噪声在视觉上通常与它们相邻的像素明显不同,例如黑区域中的白点、白区域中的黑点等。与Fourier变换相比,小波变换是空间(时间)和频率的局部变换,因而能有效地从信号中提取信息,通过伸缩和平移等运算功能可对函数或信号进行多尺度的细化分析,解决了Fourier变换不能解决的许多困难问题,因此利用小波变换进行图像的去噪处理,有其独特的优势。

此外,小波变换联系了应用数学、物理学、计算机科学、信号与信息处理、图像处理、地震勘探等多个学科。小波分析是一个新的数学分支,它是泛函分析、Fourier分析、样调分析、数值分析的完美结晶;小波分析是时间—尺度分析和多分辨分析的一种新技术,它在信号分析、语音合成、图像识别、计算机视觉、数据压缩、地震勘探、大气与海洋波分析等方面的研究都取得了有科学意义和应用价值的成果。

七、参考文献

[1] 平、王娜、林洪彬等编《数字信号处理》燕山大学2007年3月。

[2] 余成波编《数字图像处理及MATLAB实现》大学 2007年8月。

[3] 薛年喜主编《MATLAB在数字信号处理中的应用》清华大学 2003年。

附录:源程序

load detfingr%装入图像

init=3718025452; %下面进行噪声产生

randn('seed',init); %设置一个种子,设置后下面的随机数是一定的Xnoise=X+18*(randn(size(X))); %产生噪声

colormap(map); %显示原始图像及他的含噪声图像

subplot(2,2,1);

image(wcodemat(X,192));

title('原始图像X');

subplot(2,2,2);

image(wcodemat(Xnoise,192));

title('含噪声的图像Xnoise');

[c,s]=wavedec2(X,2,'sym5'); %用sym5小波对图像信号进行二层的小波分解

%下面进行图像的去噪处理

%使用ddencmp函数来计算去噪的默认阀值和熵标准

%使用wdencmp函数来实现图像的压缩

[thr,sorh,keepapp]=ddencmp('den','wv',Xnoise);

[Xdenoise,cxc,lxc,perf0,perf12]=wdencmp('gbl',c,s,'sym5',2,thr,sorh,keepapp); subplot(2,2,3);

image(Xdenoise); %显示去噪后的图像

title('去噪后的图像');

相关主题
相关文档
最新文档