📄 cwq.m
字号:
%小波分析进行图象压缩
clear
%装入图像
load gatlin;
%显示图像
subplot(221);
image(X);
colormap(map);
title('原始图像');
axis square
disp('压缩前图像X 的大小')
whos('X')
%对图像用小波进行层小波分解
[c,l]=wavedec2(X,2,'bior3.7');
%提取小波分解结构中的一层的低频系数和高频系数
cA1=appcoef2(c,l,'bior3.7',1);
%水平方向
cH1=detcoef2('h',c,l,1);
%垂直方向
cV1=detcoef2('v',c,l,1);
%斜线方向
cD1=detcoef2('d',c,l,1);
%各频率成份重构
A1=wrcoef2('a',c,l,'bior3.7',1);
H1=wrcoef2('h',c,l,'bior3.7',1);
V1=wrcoef2('v',c,l,'bior3.7',1);
D1=wrcoef2('d',c,l,'bior3.7',1);
c1=[A1,H1;V1,D1];
%显示第一层各频率信息
subplot(222);
image(c1);
axis square;
title ('分解后低频和高频信息');
%进行图像压缩
%保留小波分解第一层低频信息并对其进行量化编码
ca1=wcodemat(cA1,440,'mat',0);
%改变图像高度并显示
ca1=0.5*ca1;
subplot(223);
image(ca1);
colormap(map);
axis square;
title('第一次压缩图像');
disp('第一次压缩图像的大小为:');
whos('ca1')
%压缩图像:保留小波分解第二层低频信息
cA2=appcoef2(c,l,'bior3.7',2);
%首先对第二层信息进行量化编码
ca2=wcodemat(cA2,440,'mat',0);
%改变图像高度并显示
ca2=0.25*ca2;
subplot(224);
image(ca2);
colormap(map);
axis square;
title('第二次压缩图像');
disp('第二次压缩图像的大小为:');
whos('ca2')
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -