%% 学习目标:小波变换实现图像压缩
%% 装载并显示原始图像
load belmont2;
subplot(2,2,1);
image(X);colormap(map);title('原图 ');axis square;
disp('压缩前图像大小:');
whos('X')
%% 对图像进行2层小波分解
[c,l]=wavedec2(X,2,'bior3.7');
%% 提取小波分解结构中的一层的低频系数和高频系数
cA1=appcoef2(c,l,'bior3.7',1);
%% 水平方向
cH1=detcoef2('h',c,l,1);
%% 斜线方向
cD1=detcoef2('d',c,l,1);
%% 垂直方向
cV1=detcoef2('v',c,l,1);
%% 重构第一层系数
A1=wrcoef2('a',c,l,'bior3.7',1);
H1=wrcoef2('h',c,l,'bior3.7',1);
D1=wrcoef2('d',c,l,'bior3.7',1);
V1=wrcoef2('v',c,l,'bior3.7',1);
c1=[A1 H1;V1 D1];
%% 显示第一层频率信息
subplot(2,2,2);image(c1);title('分解后的低频和高频信息');
%% 对图像进行压缩:保留第一层低频信息并对其进行量化编码
ca1=wcodemat(cA1,440,'mat',0);
%% 改变图像高度并显示
ca1=0.5*ca1;
subplot(2,2,3);image(ca1);colormap(map);title('第一次压缩后图像');axis square;
disp('第一次压缩后图像的大小:');
whos('ca1')
%% 压缩图像:保留第二层低频信息并对其进行量化编码
cA2=appcoef2(c,l,'bior3.7',2);
ca2=wcodemat(cA2,440,'mat',0);
ca2=0.5*ca2;
subplot(2,2,4);image(ca2);colormap(map);title('第二次压缩后图像');
disp('第二次压缩后图像大小:');
whos('ca2')
%% 大仙QQ:1960009019
%% 在线教育微信公众号:大仙一品堂
matlab图像专题:59 小波变换实现图像压缩.zip
版权申诉
59 浏览量
2023-08-20
18:57:31
上传
评论
收藏 23.07MB ZIP 举报
skyJ
- 粉丝: 2642
- 资源: 2038