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

📄 mydwt2.m

📁 用Matlab中的Haar和Db9小波对图像进行分解和重构,并在不同阈值下用PNG格式存储重构的图像.
💻 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 + -