整数提升算法% integar wavelet transform%using 9-7 filter%signal symmetry extention mathod:(2,2) ...CBAABCDEFFED...%ss dd%sd ds%clear all;%fid=fopen('f:\data\aviris\aviris69.raw','rb');%status=fseek(fid,512*512*2*40,'bof');row=256;col=256;%orin=double(fread(fid,[row col],'uint16'));orin=ss;%%%%%%%%%%%%%%%%%% COEFFECIENT DEFINITION %%%%%%%%%%%%%%%%%%%%%%%%%%%%a=-1.586134342;b=-0.05298011854;r=0.8829110762;d=0.4435068522;%k=1.149604398;%%%%%%%%%%%%%%%%%%%========================%%%%%%%%%%%%%%%% %%%%%%%%%%%%%initd1_1=zeros(row,col/2); %high frequency componentsd1=zeros(row,col/2);s1_1=zeros(row,col/2); %low frequency componentss1=zeros(row,col/2);sd_1=zeros(row/2,col/2); %high frequency componentssd=zeros(row/2,col/2);dd_1=zeros(row/2,col/2);dd=zeros(row/2,col/2);ds_1=zeros(row/2,col/2);ds=zeros(row/2,col/2);ss_1=zeros(row/2,col/2); %low frequency componentsss=zeros(row/2,col/2);%%%%%%%%%%%%%%%%%%==============================%%%%%%%%%%%%% %%%%%%%%%%%%%%border extension%LINE TRANSFORMd1_1(:,col/2)=orin(:,col-1)+round(a*(orin(:,col)+orin(:,col-1)));for j=1:(col/2-1)d1_1(:,j)=orin(:,2*j-1)+round(a*(orin(:,2*j)+orin(:,2*j+2)));ends1_1(:,1)=orin(:,2)+round(b*(d1_1(:,1)+d1_1(:,1)));for j=2:col/2s1_1(:,j)=orin(:,2*j)+round(b*(d1_1(:,j)+d1_1(:,j-1)));endd1(:,col/2)=d1_1(:,col/2)+round(r*(s1_1(:,col/2)+s1_1(:,col/2)));for j=1:(col/2-1)d1(:,j)=d1_1(:,j)+round(r*(s1_1(:,j)+s1_1(:,j+1)));ends1(:,1)=s1_1(:,1)+round(d*d1(:,1)*2);for j=2:col/2s1(:,j)=s1_1(:,j)+round(d*(d1(:,j)+d1(:,j-1)));end%s1=round(s1*k);%d1=round(d1/k);figure;imshow(uint8(s1'))figure;imshow(uint8(d1'))%col TRANSFORMsd_1(row/2,:)=s1(row-1,:)+round(a*(s1(row,:)+s1(row-1,:)));for i=1:(row/2-1)sd_1(i,:)=s1(2*i-1,:)+round(a*(s1(2*i,:)+s1(2*i+2,:)));endss_1(1,:)=s1(2,:)+round(b*(sd_1(1,:)+sd_1(1,:)));for i=2:row/2ss_1(i,:)=s1(2*i,:)+round(b*(sd_1(i,:)+sd_1(i-1,:)));endsd(row/2,:)=sd_1(row/2,:)+round(r*(ss_1(row/2,:)+ss_1(row/2,:))); for i=1:(row/2-1)sd(i,:)=sd_1(i,:)+round(r*(ss_1(i,:)+ss_1(i+1,:)));endss(1,:)=ss_1(1,:)+round(d*sd(1,:)*2);for i=2:row/2ss(i,:)=ss_1(i,:)+round(d*(sd(i,:)+sd(i-1,:)));end%ss=round(ss*k);%sd=round(sd/k);dd_1(row/2,:)=d1(row-1,:)+round(a*(d1(row,:)+d1(row-1,:)));for i=1:(row/2-1)dd_1(i,:)=d1(2*i-1,:)+round(a*(d1(2*i,:)+d1(2*i+2,:)));endds_1(1,:)=d1(2,:)+round(b*(dd_1(1,:)+dd_1(1,:)));for i=2:row/2ds_1(i,:)=d1(2*i,:)+round(b*(dd_1(i,:)+dd_1(i-1,:)));enddd(row/2,:)=dd_1(row/2,:)+round(r*(ds_1(row/2,:)+ds_1(row/2,:))); for i=1:(row/2-1)dd(i,:)=dd_1(i,:)+round(r*(ds_1(i,:)+ds_1(i+1,:)));endds(1,:)=ds_1(1,:)+round(d*dd(1,:)*2);for i=2:row/2ds(i,:)=ds_1(i,:)+round(d*(dd(i,:)+dd(i-1,:)));end%dd=round(dd*k);%ds=round(ds/k);Max1=max(max(ss))Min1=min(min(ss))b=255*(ss-Min1)/(Max1-Min1);figure;imshow(uint8(b'))Max2=max(max(sd))Min2=min(min(sd))Max3=max(max(dd))Min3=min(min(dd))Max4=max(max(ds))Min4=min(min(ds))b=255*(sd-Min2)/(Max2-Min2);figure;imshow(uint8(b'))b=255*(sd-Min3)/(Max3-Min3);figure;imshow(uint8(b'))b=255*(dd-Min4)/(Max4-Min4);figure;imshow(uint8(b'))%figure;imshow(uint8(sd'),[Min2,Max2])%figure;imshow(uint8(dd'),[Min3,Max3])%figure;imshow(uint8(ds'),[Min4,Max4])%fclose(fid);整数提升重构算法%%%%---------process of the reconstruction of the image-----------%%%% %using 9-7 filter%signal symmetry extention mathod:(2,2) ...CBAABCDEFFED...%ss dd%sd ds%initclear all;row=512;column=512;a=-1.586134342;b=-0.05298011854;r=0.8829110762;d=0.4435068522;load intwcoef;reconst=zeros(512,512);d2=zeros(512,256); %high frequency componentsd2_2=zeros(512,256);s2=zeros(512,256); %low frequency componentss2_2=zeros(512,256);sd_2=zeros(256,256); %high frequency components dd_2=zeros(256,256);ds_2=zeros(256,256);ss_2=zeros(256,256); %low frequency components for i=2:row/2ds_2(i,:)=ds(i,:)-round(d*(dd(i,:)+dd(i-1,:)));endds_2(1,:)=ds(1,:)-round(d*dd(1,:)*2);for i=1:(row/2-1)dd_2(i,:)=dd(i,:)-round(r*(ds_2(i,:)+ds_2(i+1,:)));enddd_2(row/2,:)=dd(row/2,:)-round(r*(ds_2(row/2,:)+ds_2(row/2,:)));for i=2:row/2d2_2(2*i,:)=ds_2(i,:)-round((dd_2(i,:)+dd_2(i-1,:))*b);endd2_2(2,:)=ds_2(1,:)-round((dd_2(1,:)+dd_2(1,:))*b);for i=1:(row/2-1)d2_2(2*i-1,:)=dd_2(i,:)-round((d2_2(2*i,:)+d2_2(2*i+2,:))*a);endd2_2(row-1,:)=dd_2(row/2,:)-round((d2_2(row,:)+d2_2(row-1,:))*a);ss_2(1,:)=ss(1,:)-round(d*sd(1,:)*2);for i=2:row/2ss_2(i,:)=ss(i,:)-round(d*(sd(i,:)+sd(i-1,:)));endsd_2(row/2,:)=sd(row/2,:)-round(r*(ss_2(row/2,:)+ss_2(row/2,:)));for i=1:(row/2-1)sd_2(i,:)=sd(i,:)-round(r*(ss_2(i,:)+ss_2(i+1,:)));ends2_2(2,:)=ss_2(1,:)-round((sd_2(1,:)+sd_2(1,:))*b);for i=2:row/2s2_2(2*i,:)=ss_2(i,:)-round((sd_2(i,:)+sd_2(i-1,:))*b);ends2_2(row-1,:)=sd_2(row/2,:)-round((s2_2(row,:)+s2_2(row-1,:))*a);for i=1:(row/2-1)s2_2(2*i-1,:)=sd_2(i,:)-round((s2_2(2*i,:)+s2_2(2*i+2,:))*a);endfigure;imshow(uint8(s2_2))figure;imshow(uint8(d2_2))%%%%---------------------------------------------------%%%%%s2(:,1)=s2_2(:,1)-round(d*d2_2(:,1)*2);for j=2:column/2s2(:,j)=s2_2(:,j)-round(d*(d2_2(:,j)+d2_2(:,j-1)));endd2(:,column/2)=d2_2(:,column/2)-round(r*(s2(:,column/2)+s2(:,column/2)));for j=1:(column/2-1)d2(:,j)=d2_2(:,j)-round(r*(s2(:,j)+s2(:,j+1)));endreconst(:,2)=s2(:,1)-round(b*(d2(:,1)+d2(:,1)));for j=2:column/2reconst(:,2*j)=s2(:,j)-round(b*(d2(:,j)+d2(:,j-1)));endreconst(:,column-1)=d2(:,column/2)+round(a*(reconst(:,column)+reconst(:,column-1))); for j=1:(column/2-1)reconst(:,2*j-1)=d2(:,j)-round(a*(reconst(:,2*j)+reconst(:,2*j+2)));endMax1=max(max(reconst))Min1=min(min(reconst))b=255*(reconst-Min1)/(Max1-Min1);figure;imshow(uint8(b'))%figure;imshow(uint8(reconst'))。