1、同理,对于分解的高频部分有如下矩阵形式:分解程序: 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:r2(k+1)=sum(g.*x);endy=r1,r2;对于重构算法,其等效形式为上式等号右边部分实质上是对变量
2、的数字卷积运算,程序采用频域相乘代替卷积,重建程序为 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、延拓重建图像延拓方法周期延拓对称周期延拓零延拓常数连续延拓PNSR230.18db230.48db229.80db230.13db从PNSR结果可知,在各种延拓中,对称周期延拓的重建图像结果最好,相比之下零延拓图像效
3、果不如其他方法延拓。3、不同小波下重构图像的性质 用不同小波进行图像重构,所得的重构图像能量分布如下用各种小波进行重构后的图像的均值方差如下表。小波db1db2db3db4均值124.0309124.0509方差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,3);Y=real(Y);figure(2);subplot(1,2,1)
4、;image(X);原始图像subplot(1,2,2);image(Y);重建图像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 小波分解次(级)数设定值(如果设定值超过最高可
5、分解次数,按最高分解次数分% wname 小波名字wavelet name%输出:Y 多极小波分解后的小波系数矩阵h,g=wfilters(wname,d %h,g 分别为低通和高通滤波器t=1;hh,ll=size(X);while t=level %先进行行小波变换 for row=1:hh Y(row,1:ll)=mdec1(X(row,1:ll),h,g) ; end %再进行列小波变换 for col=1:ll temp=mdec1( Y(1:hh,col),h,g); Y(1:hh,col)=temp; t=t+1; hh=hh/2; ll=ll/2; X=Y;function y
6、=mdec1(x,h,g)%输入:x 行数组% h 为低通滤波器% g 为高通滤波器 y 进行一级小波分解后的系数lenx=size(x,2);(lenx/2-1) h=h(end-1: r1(k+1)=sum(h.*x); g=g(end-1: r2(k+1)=sum(g.*x);end 3、重建程序function Y=mallatrec2(X,wname,level)X 载入的小波系数矩阵;% level 小波分解次(级)数设定值(如果设定值超过最高可分解次数,按最高分解次数Y 重构图像矩阵 %h,g 分别为重构低通滤波器和重构高通滤波器hz=size(X,2);h1=hz/(2(lev
7、el-1);while h1=hz% 对列变换h1 temp=mrec1(X(1:h1,col),h,g) X(1:h1,col)=temp;%再对行变换 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 进行一级小波重构后值c3=dyadup(x(1,1:lenx*0.5),0,lenx); %内插零use para 0d3=dyadup(x(1,(lenx*0.5+1):lenx),0,lenx); %use para 0y=ifft(fft(c3,lenx).*fft(h
8、,lenx)+ ifft(fft(d3,lenx).*fft(g,lenx);4、延拓程序%零延拓程序function T=yan0(x) r0,c0=size(x);for s=1:r0 a(s,:)=zeros(1,c0/8),x(s,:),zeros(1,c0/8);c0=c0+c0/4;for t=1:c0 T(:,t)=zeros(r0/8,1),a(:,t),zeros(r0/8,1)End%连续常数延拓程序function T=yanc(x) r1(1:c0/8)=x(s,1); r2(1:c0/8)=x(s,c0);)=r1,x(s,:),r2; c1(1:r0/8)=a(1,t); c2(1:r0/8)=a(r0,t);,t)=c1,a(:,c2%对称周期延拓程序function T=yancir(x)r0,c0=size(x);)=x(s,end-(c0/8-1):end),x(s,:),x(s,1:c0/8);,t)=a(end-(r0/8-1):end,t),a(1:r0/8,t)%周期延拓程序function T=yan(x)=x(s,c0/8:-1:1),x(s,:),x(s,end:end-(c0/8-1);,t)=a(r0/8:1,t),a(end:end-(r0/8-1),t)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1