小波变换mallat.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
小波变换mallat

实验目的:通过编程实现离散快速小波变换Mallat算法,从而加深理解二维小波变换的分解与合成,同时,提高编程能力和matlab的应用,为以后的学习打下基础。 实验原理: 1、Mallat快速算法 本实验使用离散快速小波变换快速算法Mallat算法,算法原理如下 (1) (2) 重构算法: (3) 对于(1)、(2)等效于经过冲击响应为和的数字滤波器,然后再分别进行“二抽取”,Mallat分解算法的滤波器表示形式如下图 用滤波器表示如下图 2、 分别表示原始图像和重建后的图像,。 3、边界延拓方法有零延拓、周期延拓、对称周期延拓、常数连续延拓等,本实验采用以上四种方法进行原图像的1/8延拓,并进行重构,各种延拓方法所对应的函数为yan0(x)、yancir(x)、yan(x)、yanc(x),在主程序中,需要某种延拓,便调用某种函数。 实验编程思路: 为使程序易于理解,在不考虑算法复杂度的情况下,分解程序采用简洁的循环计算出下一级的分解系数,程序采用的编程思想如下 以上矩阵等式左面是进行二抽样的结果,是分解的低频部分。同理,对于分解的高频部分有如下矩阵形式: 分解程序: lenx=size(x,2);%x为一维向量 lenh=size(h,2); h=[h,zeros(1,(lenx-lenh))]; g=[g,zeros(1,(lenx-lenh))]; r1(1)=sum(h.*x); r2(1)=sum(g.*x); for k=1:1:(lenx/2-1) %循环求出下一级低频和高频分量 h=[h(end-1:end),h(1:(end-2))]; r1(k+1)=sum(h.*x); g=[g(end-1:end),g(1:1:(end-2))]; r2(k+1)=sum(g.*x); end y=[r1,r2]; 对于重构算法,其等效形式为 上式等号右边部分实质上是对变量的数字卷积运算,程序采用频域相乘代替卷积,重建程序为 y=ifft(fft(c3,lenx).*fft(h,lenx))+ ifft(fft(d3,lenx).*fft(g,lenx)); 实验结果及分析: 1、多尺度分解与重构图像 二维小波变换采用小波采用db3,其峰值信噪比PNSR=230.13db,并对三级分解图像进行归一化,求出0的个数为37626,其所占的百分比为57.41%。 2、延拓重建图像 延拓方法 周期延拓 对称周期延拓 零延拓 常数连续延拓 PNSR 230.18db 230.48db 229.80db 230.13db 从PNSR结果可知,在各种延拓中,对称周期延拓的重建图像结果最好,相比之下零延拓图像效果不如其他方法延拓。 3、不同小波下重构图像的性质 用不同小波进行图像重构,所得的重构图像能量分布如下 用各种小波进行重构后的图像的均值方差如下表。 小波 db1 db2 db3 db4 均值 124.0309 124.0509 124.0509 124.0509 方差 2272 2272 2272 2272 附录: 1、主函数程序 clc;clear; X=imread(LENA.bmp);%路径 X=double(X); % S=yancir(X); A=mallatdec2(X,db3, 3); image(abs(A)); colormap(gray(255)); title(3级多尺度分解图像); Y=mallatrec2(A,db3,3); Y=real(Y); figure(2); subplot(1,2,1); image(X); colormap(gray(255)); title(原始图像); subplot(1,2,2); image(Y); colormap(gray(255)); title(重建图像); zerosn=numberzeros(A); % Y=Y(33:288,33:288); %当调用延拓图像时,从延拓的重建图像进行截取 csize=size(X); sr=csize(1); sc=csize(2); mse=sum(sum( (Y-X).^2,1))/(sr*sc); psnr=10*log(255*255/mse)/log(10) 2、分解程序 function Y=mallatdec2(X,wname,level) %输入:X 载入的二维图像像数值; % level 小波分解次(级)数设定值(如果设定值超过最高可分解次数,按最高分解次数分 % wname 小波名字wavelet name %输出:Y 多极小波分解后的小波系数矩阵 [h,g]

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档