1、d); %h,g分别为低通和高通滤波器X=double(X);t=1;hh=size(X,2);while t=level %先进行行小波变换 for row=1:hh Y(row,1:hh)=mdec1(X(row,1:hh),h,g) ; end %再进行列小波变换 for col=1: temp=mdec1( Y(1:hh,col),h,g); Y(1:hh,col)=temp;t=t+1;hh=hh/2;X=Y;end%内部子函数,对一行(row)矢量进行一次小波变换,利用fft实现function y=mdec1(x,h,g)%输入:x 行数组 h为低通滤波器 g为高通滤波器 y 进
2、行一级小波分解后的系数lenx=size(x,2);lenh=size(h,2);rh=h(end:-1:1);rrh=zeros(1,(lenx-lenh),rh;rrh=circshift(rrh,1)rg=g(end:rrg=zeros(1,(lenx-lenh),rg;rrg=circshift(rrgr1=dyaddown(ifft(fft(x).*fft(rrh,lenx),1); %use para 1r2=dyaddown(ifft(fft(x).*fft(rrg,lenx),1);y=r1,r2;(2)二维小波重构函数%二维小波重构函数function Y=mallatrec
3、2(X,wname,level) 载入的小波系数矩阵; level 重构图像矩阵 %h,g分别为重构低通滤波器和重构高通滤波器hz=size(X,2);h1=hz/(2(level-1);while h1=hz % 对列变换h1 temp=mrec1(X(1:h1,col),h,g) X(1:h1,col)=temp; %再对行变换 for row=1: temp=mrec1(X(row,1:h1),h,g); X(row,1:h1)=temp; h1=h1*2;Y=X;%内部子函数,对一行小波系数进行重构function y=mrec1(x,h,g) y 进行一级小波重构后值r3=dyadu
4、p(x(1,1:lenx*0.5),0); %内插零use para 0r4=dyadup(x(1,(lenx*0.5+1):lenx),0); %use para 0y=ifft(fft(r3,lenx).*fft(h,lenx)+ ifft(fft(r4,lenx).*fft(g,lenx);(3)测试函数(主函数)%测试函数(主函数)clc;clear;X=imread(E:Libin的文档CourseCourse_wavelet实验2要求exp2LENA.bmp%路径 A = mallatdec2(X,sym2,3);image(abs(A);colormap(gray(255);ti
5、tle(多尺度分解图像Y= mallatrec2(A,Y=real(Y);figure(2);subplot(1,2,1);image(X);原始图像subplot(1,2,2);image(Y);重构图像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) 实验1 连续小波变换 在理解连续小波变换原理的基础上,通过编程实现对一维信号进行连续小波变换,(实验中采用的是墨西哥帽小波),从而对连续小波变换增加了理性和感性的认识,并能提高编程能力,为
6、今后的学习和工作奠定基础。程序附录:(1) 墨西哥帽小波函数,按照(*)式编程% mexh.mfunction Y=mexh(x)if abs(x)=M+N-1%按照圆周卷积的定义,相关和线性卷积的关系(原始算法和线性卷积的关系)%注意画图理解t1=cputime; % a(尺度)的长度 % a 表示尺度b=zeros(1,len); % b 表示位移mexhab=zeros(1,2*len-1);data=zeros(1,len-1),dat;Ydata=fft( data ,4*len);2*len-1 mexhab(k)=mexh(k-len)/s); temp=ifft( Ydata.
7、*fft( mexhab,4*len ) ,4*len); wfab(s,:)=real(temp(2*len-1:3*len-2)/sqrt(s); %为什么要取实部而不是取模,我也不是很清楚,可是有种感觉小波系数谱 cputime-t14)fft快速计算cwt%按照圆周卷积的定义,a=5;data=dat,zeros(1,len);(4)环境保护验收。Ydata=fft(dat,2*len);mexhab=zeros(1,2*len);规划环境影响评价技术导则由国务院环境保护主管部门会同国务院有关部门制定;规划环境影响评价技术规范由国务院有关部门根据规划环境影响评价技术导则制定,并抄送国务
8、院环境保护主管部门备案。k=-a*s:1:a*s;mexhab(k+len)=mexh2(k./s); temp=ifft( Ydata.*fft( mexhab,2*len ) ,2*len);B.可能造成重大环境影响的建设项目,应当编制环境影响报告书)=real(temp(len+1:2*len)/sqrt(s); %要取实部而不是取模,呵呵(一)安全预评价依据figure(1);2.量化环境影响后果plot(dat);(6)评价结论。第1页image(wfab);6.提出安全对策措施建议cputime-t1大纲要求5)保存为mexh2.m(1)基础资料、数据的真实性;function Y=mexh2(x)Y=exp(-x.*x/2).*(1-x.2);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1