myidwt2.m

来自「在MATLAB中编写实现图像的不同级别小波分解算法;2选择合适的小波基;3对经典」· M 代码 · 共 33 行

M
33
字号
function [mypic_RGB,cM]=myidwt2(cA,cH,cV,cD,wavename)
% 此函数实现了二维离散小波反变换,即重构。它是利用MATLAB工具箱所提供的一维离散小波反变
% 换函数idwt()对传递进来的近似分量cA、水平细节分量cH、垂直细节分量cV和对角细节分量cD进
% 行相应的小波类型重构处理,其中参数wavename是小波类型。它借助于使用了指定的小波基函数
% 'wavename'的idwt()首先对四个分量矩阵进行列反变换,而后行反变换。重构出中间过程图像矩
% 阵cM和原始图像矩阵mypic_RGB。

cA1=[];cD1=[];

%进行逐列列重构变换,得到过程矩阵cA1、cD1,再对它们列数扩展合成为中间图阵cM
cA=cA';cH=cH';cV=cV';cD=cD';
mypic_RGB=[];
x=size(cA);
for i=1:x(1)
    temp=idwt(cA(i,:),cV(i,:),wavename);
    cA1=[cA1;temp];
end
x=size(cH);
for i=1:x(1)
    temp=idwt(cH(i,:),cD(i,:),wavename);
    cD1=[cD1;temp];
end

cA1=cA1';
cD1=cD1';
cM=[cA1,cD1];
%对上述得到的分量cA1、cD1作为过程细节分量进行逐行行重构变换,得到图像矩阵mypic_RGB
x=size(cA1);
for i=1:x(1)
    temp=idwt(cA1(i,:),cD1(i,:),wavename);
    mypic_RGB=[mypic_RGB;temp];
end

⌨️ 快捷键说明

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