📄 mydwt2.m
字号:
function [cA,cH,cV,cD,cM]=mydwt2(mypic_RGB,wavename)
% 此函数是利用MATLAB工具箱提供的一维离散小波变换函数dwt()对传递进来的图像矩阵mypic_RGB
% 进行相应的小波类型分解处理,其中参数wavename是小波类型。它借助于使用了指定的小波基函
% 数'wavename' 的dwt()首先对图像矩阵进行行分解,而后进行列分解。生成了近似分量cA,水平
% 细节分量cH,垂直细节分量cV,对角细节分量cD和中间分量cM
% 变量初始化
cA=[];cH=[];cV=[];cD=[];cM=[];cAm=[];cDm=[];
% 进行逐行行分解变换
% cA1,cD1为临时近似,细节分量,把两分量进行列数扩展合成为中间分量矩阵以便输出
x=size(mypic_RGB);
for i=1:x(1)
[cA1,cD1]=dwt(mypic_RGB(i,:),wavename);
cAm=[cAm;cA1];cDm=[cDm;cD1];
end
cM=[cAm,cDm];
% 对两临时分量进行逐列列分解变换,最后生成近似分量cA,水平细节分量cH,垂直细节分量cV,对
% 角细节分量cD
cAm=cAm';cDm=cDm';
x=size(cAm);
for i=1:x(1)
[cA1,cD1]=dwt(cAm(i,:),wavename);
cA=[cA;cA1];cV=[cV;cD1];
end
x=size(cDm);
for i=1:x(1)
[cA1,cD1]=dwt(cDm(i,:),wavename);
cH=[cH;cA1];cD=[cD;cD1];
end
% 转置矩阵
cA=cA';cH=cH';cV=cV';cD=cD';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -