小波分解与重构

  • H9_160948
    了解作者
  • 1.2MB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-04-19 01:16
    上传日期
详细的小波分解与重构的介绍内容,代码详细,易懂,在图像融合上得到广泛的应用
小波分解与重构.rar
  • 小波分解和重构(原代码)
  • mydwt2.m
    2.3KB
  • W_vase.tif
    208.5KB
  • 重构图flower_P.jpg
    46.5KB
  • band21.bmp
    1.5MB
  • P.jpg
    46.3KB
  • area_var_match.m
    706B
  • mydwt.m
    1.1KB
  • myidwt.m
    1.6KB
  • submat.m
    859B
  • cup_A.jpg
    8.4KB
  • mywaverec2.asv
    1.7KB
  • mywaverec2.m
    1.7KB
  • 重构图.jpg
    85.4KB
  • cup_P.jpg
    7.7KB
  • cup_I.jpg
    8.9KB
  • f0gray.jpg
    31.8KB
  • mydwt2.asv
    2.3KB
  • I.jpg
    36.3KB
  • mywavedec2.m
    1.2KB
  • modmat.asv
    550B
  • modmat.m
    550B
  • lowfrefus.asv
    1.1KB
  • lowfrefus.m
    1.2KB
  • Vase.tif
    262.5KB
  • fuse.m
    922B
  • fuse2.m
    1.6KB
  • weivec.m
    343B
内容介绍
function [LL,HL,LH,HH]=mydwt2(x) % 函数 MYDWT2() 对输入的r*c维矩阵 x 进行二维小波分解,输出四个分解系数子矩阵[LL,HL,LH,HH] % 输入参数:x —— 输入矩阵,为r*c维矩阵。 % 输出参数:LL,HL,LH,HH —— 是分解系数矩阵的四个相等大小的子矩阵,大小均为 r/2 * c/2 维 % LL:低频部分分解系数; HL:垂直方向分解系数; % LH:水平方向分解系数; HH:对角线方向分解系数。 lpd=[1/2 1/2];hpd=[-1/2 1/2]; % 默认的低通、高通滤波器 [row,col]=size(x); % 读取输入矩阵的大小 for j=1:row % 首先对输入矩阵的每一行序列进行一维离散小波分解 tmp1=x(j,:); [ca1,cd1]=mydwt(tmp1,lpd,hpd,1); x(j,:)=[ca1,cd1]; % 将分解系数序列再存入矩阵x中,得到[L|H] end for k=1:col % 再对输入矩阵的每一列序列进行一维离散小波分解 tmp2=x(:,k); [ca2,cd2]=mydwt(tmp2,lpd,hpd,1); x(:,k)=[ca2,cd2]; % 将分解所得系数存入矩阵x中,得到[LL,Hl;LH,HH] end LL=x(1:row/2,1:col/2); % LL是矩阵x的左上角部分 LH=x(row/2+1:row,1:col/2); % LH是矩阵x的左下角部分 HL=x(1:row/2,col/2+1:col); % HL是矩阵x的右上角部分 HH=x(row/2+1:row,col/2+1:col); % HH是矩阵x的右下角部分 function y=myidwt2(LL,HL,LH,HH) % 函数 MYIDWT2() 对输入的子矩阵序列进行逆小波变换,重构出矩阵 y % 输入参数:LL,HL,LH,HH —— 是四个大小均为 r*c 维的矩阵 % 输出参数:y —— 是一个大小为 2r*2c 维的矩阵 lpr=[1 1];hpr=[1 -1]; % 默认的低通、高通滤波器 tmp_mat=[LL,HL;LH,HH]; % 将输入的四个矩阵组合为一个矩阵 [row,col]=size(tmp_mat); % 求出组合矩阵的行列数 for k=1:col % 首先对组合矩阵tmp_mat的每一列,分开成上下两半 ca1=tmp_mat(1:row/2,k); % 分开的两部分分别作为平均系数序列ca1、细节系数序列cd1 cd1=tmp_mat(row/2+1:row,k); tmp1=myidwt(ca1,cd1,lpr,hpr); % 重构序列 yt(:,k)=tmp1; % 将重构序列存入待输出矩阵 yt 的相应列,此时 y=[L|H] end for j=1:row % 将输出矩阵 y 的每一行,分开成左右两半 ca2=yt(j,1:col/2); % 分开的两部分分别作为平均系数序列ca2、细节系数序列cd2 cd2=yt(j,col/2+1:col); tmp2=myidwt(ca2,cd2,lpr,hpr); % 重构序列 yt(j,:)=tmp2; % 将重构序列存入待输出矩阵 yt 的相应行,得到最终的输出矩阵 y=yt end y=yt;
评论
    相关推荐
    • IBM重构
      俗话说流程决定绩效,而这一款整理发布的IBM重构定能给你最好的流程参考,欢迎大家下载IBM重构...该文档为IBM重构,是一份很不错的参考资料,具有较高参考价值,感兴趣的可以下载看看
    • 代码重构
      代码重构
    • ATM重构
      自动柜员机
    • 代码重构
      代码重构入门代码
    • 重构章鱼
      重构章鱼
    • 代码重构
      代码重构
    • 代码重构
      代码重构
    • 重构
      重构
    • 重构示例
      重构示例 자바,“코드를다다양한”-리플렉션API(클래스정보조회)
    • 重构
      重构