xiaobobianhuan.m

来自「这是一个使用matlab实现小波变换的程序」· M 代码 · 共 49 行

M
49
字号
clear
clc
X=imread('barbara.bmp');
%对图像用小波进行层分解
[c,s]=wavedec2(X,2,'bior3.7');
%提取小波分解结构中一层的低频和高频系数
ca1=appcoef2(c,s,'bior3.7',1);
ch1=detcoef2('h',c,s,1);
cv1=detcoef2('v',c,s,1);
cd1=detcoef2('d',c,s,1);
%小波重构
a1=wrcoef2('a',c,s,'bior3.7',1);
h1=wrcoef2('h',c,s,'bior3.7',1);
v1=wrcoef2('v',c,s,'bior3.7',1);
d1=wrcoef2('d',c,s,'bior3.7',1);
c1=[a1,h1;v1,d1];
%保留小波分解第一层低频信息进行压缩 
ca1=appcoef2(c,s,'bior3.7',1);
%首先对第一层信息进行量化编码
ca1=wcodemat(ca1,400,'mat',0);
%保留小波分解第二层低频信息进行压缩
%首先对第二层信息进行量化编码
ca2=wcodemat(ca2,400,'mat',0);
%显示原始图像
subplot(221)
imshow(X)
title('原始图像')
disp('原始图像的大小')
whos('X')
%显示分频信息
subplot(222)
c1=uint8(c1);
imshow(c1)
title('显示分频信息')
subplot(223)
disp('第一次压缩图像的大小')
%显示第一次压缩的图像
ca1=uint8(ca1);
whos('ca1')
imshow(ca1);
title('第一次压缩的图像')
disp('第二次压缩图像的大小')
subplot(224)
%显示第二次压缩的图像
ca2=uint8(ca2);
imshow(ca2);
title('第二次压缩的图像')
whos('ca2')

⌨️ 快捷键说明

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