资源简介

从pudn上下载的,基于小波变换的图像的分解与重构,个人感觉不错,拿上来分享一下

资源截图

代码片段和文件信息

%对一幅图像I进行M尺度的小波变换
I=imread(‘Fig7.01.jpg‘);
M=3;% M----小波变换的尺度
I1=double(I);
[mn]=size(I);
Iout=zeros(size(I));
W1=zeros(size(I));
%=============Haar wavelete transform==================
W1=I1;
for k=1:M
for i=1:n
    W1(:i)=selfdwt(W1(:i)1);%对列进行变换
end
for i=1:m
    W1(i:)=selfdwt(W1(i:)1);%对行进行变换
end
for i=1:m
    for j=1:n
        Iout(ij)=W1(ij);
    end
end
m=m/2;
n=n/2;
W1=zeros(mn);
for i=1:m
    for j=1:m
        W1(ij)=Iout(ij);
    end
end
end
%======================================================
%========================scaling=======================
[mn]=size(I);
min=0;
for i=1:m
    for j=1:n
        if(Iout(ij)           min=Iout(ij);
       end
   end
end
Iout1=(Iout+abs(min))*.5;
max=255;
for i=1:m
    for j=1:n
        if(Iout1(ij)>max)
            max=Iout1(ij);
        end
    end
end
if(max>255)
    Iout1=(Iout1*(255/max)).*2;
end
%======================================================
Iout1(:256)=255;
Iout1(256:)=255;
Iout1(1:256128)=255;
Iout1(1281:256)=255;
Iout1(1:12864)=255;
Iout1(641:128)=255;
figure
imshow(uint8(Iout.*28))
title(‘uncaling‘)
figure
imshow(uint8(Iout1))
title(‘after scaling‘)
Iout2=imidwt2(IoutM);

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     155200  2001-08-06 23:12  xb\Fig7.01.jpg

     文件       1286  2005-06-01 12:33  xb\imdwt1.m

     文件        666  2005-06-01 12:33  xb\imidwt2.m

     文件       1055  2005-05-28 21:22  xb\selfdwt.m

     文件       1731  2005-05-31 15:42  xb\selfidwt.m

     目录          0  2005-06-19 18:27  xb

----------- ---------  ---------- -----  ----

               160156                    7


评论

共有 条评论