⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tree2contourlet.m

📁 matlab官方网站中的用于图像融合技术的contourlet变换源代码
💻 M
字号:
% tree2contourlet.m% written by: Duncan Po% Date: August 24, 2002% convert the contourlet coefficients from tree structure to subband structure% Usage: coef = tree2contourlet(tree, dir, levndir, nrow, ncol)% Inputs:   tree        - contourlet coefficients in tree structure%           dir         - the directional coefficients to be processed%           levndir     - the number of subbands in each level%           nrow        - the number of rows in the root subband%           ncol        - the number of columns in the root subband% Output:   coef        - contourlet coefficients in subband structurefunction coef = tree2contourlet(tree, dir, levndir, nrow, ncol) nlevel = length(tree);M = 2.^levndir(1);for r = 1:(length(levndir)-1)    if levndir(r+1)==levndir(r)        split(r) = 0;    elseif levndir(r+1)-levndir(r)==1        split(r) = 1;    else        return;    end;end;denoiseddata{1} = reshape(tree{1}, nrow, ncol);nrow = nrow*2;ncol = ncol*2;for lev = 2:nlevel    denoiseddata{lev} = [];    for temp = 1:2*nrow:length(tree{lev})                buffer = reshape(tree{lev}(temp:temp+2*nrow-1), 2, nrow);        buffer = buffer.';        denoiseddata{lev} = [denoiseddata{lev} buffer];    end;    nrow = nrow*2; ncol = ncol*2;end;clear buffer;for lev = 1:nlevel    nump = levndir(lev)-levndir(1); %number of times need to be processed    buffer{1} = denoiseddata{lev};    for yy = 1:(nump-1)        for zz = 2^yy:-2:2            [buffer{zz-1},buffer{zz}] = type4detransform(buffer{zz/2});        end;    end;    if nump ~= 0        if (lev~=1) & (split(lev-1)==1)            for zz = 2^nump:-2:2                [buffer{zz-1},buffer{zz}] = type3detransform(buffer{zz/2});            end;        else            for zz = 2^nump:-2:2                [buffer{zz-1},buffer{zz}] = type4detransform(buffer{zz/2});            end;        end;    end;    for zz = 1:2^(levndir(lev)-levndir(1))        coef{lev}{zz}= buffer{zz};    end;    if (dir>M/2) %& (lev>2)        for yy = 1:2^(levndir(lev)-levndir(1))            coef{lev}{yy} = coef{lev}{yy}.';        end;    end;    clear buffer;end;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -