小波分析源代码

上传人:小** 文档编号:57154955 上传时间:2018-10-19 格式:DOC 页数:14 大小:54.52KB
返回 下载 相关 举报
小波分析源代码_第1页
第1页 / 共14页
小波分析源代码_第2页
第2页 / 共14页
小波分析源代码_第3页
第3页 / 共14页
小波分析源代码_第4页
第4页 / 共14页
小波分析源代码_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《小波分析源代码》由会员分享,可在线阅读,更多相关《小波分析源代码(14页珍藏版)》请在金锄头文库上搜索。

1、 一:引言 本文从二维小波理论出发,对其在图像处理的应用上进行了一些分析和处理,力图反映出小波分析在图像处理方面有着其独特的特点。本文就以下几点进行阐述:小波基本概念图像压缩图像消噪图象增强图象平滑处理二:小波基本概念小波定义:设 ,其傅立叶变换为 ,当 满足允许条件,即完全重构条件或恒等分辨条件. 时,我们称 为一个基本小波或母小波,将母函数 经伸缩和平移后,得 。 我们称其为一个小波序列。其中 a 为伸缩因子,b 为平移因子。小波变换是一种信号的时间尺度分析方法,他具有多分辨率分析的特点,而且在时频两域都具有表征信号局部特征的能力,是一种窗口大小固定不变但其形状可变,时间窗和频率窗都可变的

2、时频局部化分析方法。即再低频部分具有较高的频率分辨率和时间分辨率,在高频部分具有较高的时间分辨率和较低的频率分辨率,很适合探测正常信号中夹带的瞬态反常现象并展示其成分,所以被誉为分析信号的显微镜。波分析是把信号分解成低频 al 和高频 dl 两部分,在分解中,低频 al 中失去的信息由高频 dl 捕获。在下一层的分解中,又将 al 分解成低频 a2 和高频 d2 两部分,低频 a2 中失去的信息由高频 d2 捕获,如此类推下去,可以进行更深层次的分解。二维小波函数是通过一维小波函数经过张量积变换得到的,二维小波函数分解是把尺度 j 的低频部分分解成四部分:尺度 j+1 的低频部分和三个方向(水

3、平、垂直、斜线)的高频部分。三:图像压缩对于图像来说,如果需要进行快速或实时传输以及大量存储,就需要对图像数据进行压缩。在同样的通信容量下,如果图像数据压缩后在传输,就可以传输更多的图像信息。例如,用普通的电话线传输图像信息。图像压缩研究的就是寻找高压缩比的方法且压缩后的图像要有合适的信噪比,在压缩传输后还要恢复原信号,斌且在压缩、传输、恢复的过程中,还要求图像的失真度小。这就是图像压缩的研究问题。图像数据往往存在各种信息的冗余、如空间冗余、信息熵冗余 、视觉冗余 和结构冗余等等。所谓压缩就是去掉各种冗余,保留对我们有用的信息。图像压缩的过程常称为编码。相对的,图像的恢复当然就是解码了。图像压

4、缩的方法通常可分为有失真编码和无失真编码两大类:无失真编码方法如改进的霍夫曼编码。有失真编码方法的还原图像较之原始图像存在着一些误差,但视觉效果是可以接受的。常见的方法有预测编码、变换编码、量化编码、信息熵编码、分频带编码和结构编码等等。而将小波分析引入图像压缩的范畴也是一个重要的手段,并且有着它自己的特点。它的特点在于压缩比高、压缩速度快,压缩后能保持信号与图像的特征基本不变,且在传递过程中可以抗干扰等等。下面我们就举一个粒子来说明怎样用小波分析进行图像压缩。例如现在有一个二维图像(文件名为),我们利用二维小波分析来进行图像压缩。由原理可知,一个图像作小波分解后,可得到一系列不同分辨率的子图

5、像,不同分辨率的子图像对应的频率是不相同的。高分辨率(高频)子图像上大部分点的数值都接近于 0,越是高就越是明显。而对于一个图像来说,表现一个图像的最主要的部分是低频部分,所以最简单的压缩方法是利用小波分解去掉图像的高频部分而只保留低频部分。程序大致如下:clear%装入图像load wbarb;%显示图像syms X;subplot(221);image(coast);colormap(map)title(原始图像);axis squaredisp(压缩前图像 X 的大小);whos(coast)%对图像用小波进行层小波分解c,s=wavedec2(X,2,bior3.7);%提取小波分解结

6、构中的一层的低频系数和高频系数cal=appcoef2(c,s,bior3.7,1);%水平方向ch1=detcoef2(h,c,s,1);%垂直方向cv1=detcoef2(v,c,s,1);%斜线方向cd1=detcoef2(d,c,s,1);%各频率成份重构a1=wrcoef2(a,c,s,bior3.7,1);h1=wrcoef2(h,c,s,bior3.7,1);v1=wrcoef2(v,c,s,bior3.7,1);d1=wrcoef2(d,c,s,bior3.7,1);c1=a1,h1;v1,d1;%显示分频信息subplot(222);image(c1);axis square

7、;title (分解后低频和高频信息);%进行图像压缩%保留小波分解第一层低频信息%首先对第一层信息进行量化编码ca1=appcoef(c,s,bior3.7,1);ca1=wcodemat(ca1,440,mat,0);%改变图像高度并显示ca1=0.5*ca1;subplot(223);image(ca1);colormap(map);axis square;title(第一次压缩图像);disp(第一次压缩图像的大小为:);whos(ca1)%保留小波分解第二层低频信息进行压缩ca2=appcoef2(c,s,bior3.7,2);%首先对第二层信息进行量化编码ca2=wcodemat(

8、ca2,440,mat,0);%改变图像高度并显示ca2=0.25*ca2;subplot(224);image(ca2);colormap(map);axis square;title(第二次压缩图像);disp(第二次压缩图像的大小为:);whos(ca2)输出结果如图:NameSizeBytesclass压缩前图像X256256524288Double array第一次压缩图像Ca1135135145800Double array第二次压缩图像Ca2757545000Double array在这里可以看出,第一次压缩我们是提取原始图像中小波分解第一层的低频信息,此时压缩效果较好,压缩比较

9、小(约为 1/3 大小)。第二次压缩实提取第一层分解低频部分的低频部分(即第二层的低频部分),其压缩比较大(约为 1/12),压缩效果在视觉上也基本过得去。上面的保留原始图像中低频信息的压缩办法只是一种最简单的压缩办法。它不需经过其他处理即可获得较好的压缩效果。当然,对于上面的例子我们还可以只提取小波分解的第三、第四层的低频信息。从理论上说,我们可以获得任意压缩比的压缩图像。只不过在对压缩比和图像质量都有较高要求时,它就不如其他编码方法了。下面我们在举一个例子,这一次用 中函数来对上图进行压缩。 Clear;%装入图形信号load wbarb;%显示图像subplot(221);image(X

10、);colormap(map);title(原始图像);disp(压缩前图像的大小);whos(X);axis square;%对图像进行压缩%对图像用 db3 小波进行二层小波分解c,s=wavedec2(X,5,db3);thr,sorh,keepapp=ddencmp(cmp,wv,X);Xcomp,cxc,lxc,perf0,perfl2=wdencmp(gbl,c,s,db3,5,thr,sorh,keepapp);%将压缩后的图像于原始图像相比较subplot(222);image(Xcomp);colormap(map);title( 压缩后的图像);disp(压缩后图像的大小)

11、;whos(Xcomp)%显示有关参数disp(小波分解系数中值为 0 的系数个数百分比);disp(perf0);disp(压缩后剩余能量百分比);disp(perfl2);输出结果如下:小波分解系数中值为 0 的系数个数百分比:49.8088压缩后剩余能量百分比:99.9754四:图像消噪图像消噪方法的一般说明对二维图像信号的消噪方法同样适用于一维信号,尤其是对于几何图像更适合。二维模型可以表述为 其中, e 是标准偏差不变得高斯白噪声。二维信号的消噪步骤与一维信号的消噪步骤完全相同,也有三 步,只是用二维小波分析工具代替了一维小波分析工具。如果用固定的阀值形式,测选择的阀值用 m2 代替

12、了一维信号中的 n 。着三步是:(1) 二维信号的小波分解 。选择一个小波和小波分解的层次 N, 然后计算信号 s 到第 N 层的分 解。(2) 对高频系数进行阀值量化。对于从一到 N 的每一层,选择一个阀值,斌对着一层的高频系数 进行软阀值化处理。(3) 二维小波的重构。根据小波分解的第 N 层的低频系数和经过修改的从第 1 层到第 N 层的各层 高频系数,来计算二维信号的小波重构。在这三个步骤中,重点内容就是如何选取阀值和如何进行阀值的量化。请注意,了一维信号自动消噪的情况,对于其他的情况,一维信号的消噪和压缩用的是 wdencmp, 这对于二维信号 也是一样的。编程给定一个有较大白噪声的

13、图象,利用二维小波分析进行信号消噪处理。分析:由于图象所含的噪声主要是白噪声,且集中于高部分,故用第通实现消去噪声。程序如下。load tire;subplot(221); image(X);colormap(map); title(原图 );axis square; 画出原图象init=2055615866;randn(seed,init)x=X+38*randn(size(X);subplot(222);image(x);colormap(map);title(含噪声图象 ); axis square; 画出含噪声图象c,s=wavedec2(x,2,sym4); a1=wrcoef2(a

14、,c,s,sym4,1); 第一次低通滤波消噪 subplot(223);image(a1);title(第一次消噪后图象 );axis square; 画出第一次低通滤波消噪后图象a2=wrcoef2(a,c,s,sym4,2); 第二次低通滤波消噪subplot(224);image(a2);title(第二次消噪后图象 );axis square; 画出第二次低通滤波消噪后图象分析: 第一次消噪滤去了大部分高频噪声,但与原图比较,依然有不少高频噪声,第二次消噪在第一次 消噪基础上,再次滤去高频噪声,消噪效果较好,但图像质量比原图稍差。五:图象增强说明小波变换将一幅图象分解为大小、位置和方

15、向都不同的分量。在做逆变换之前可以改变小波变换域中某些 系数的大小,这样就能够洋选择的放大所感兴趣的分量而减小不需要的分量。编程:给定一个图象信号,用二维小波分析对图象进行增强处理。分析由于图象经二维小波分解后,图象的轮廓主要体现在低频部分,而细节部分则体 现子高频部分,因此,可以通过对低频分解系数进行增强处理,对高频分解系数进行衰减处理,即可以达 到图象增强的作用。具体处理过程如下程序:load woman;subplot(121);image(X);colormap(map);title(原始图象);axis square; 画出原图象c,s=wavedec2(X,2,sym4); %进行二层小波分解sizec=size(c); 处理分解系数,突出轮廓,弱化细节for I =1:sizec(2)if(c( I )350)c( I )=2*c( I );elsec( I )=0.5*c( I );endendxx=waverec2(c,s,sym4); 分解系数重构subplot(122);image(xx);title(增强图象)axis square; 画出增强图像结果分析:打到了图像增强的效果,试图像对比更

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号