gusucode.com > 《matlab图像处理与界面编程宝典》秦襄培 编著,每章的MATLAB源代码程序 > 第20章/代码20-1.txt
clear % 清理工作空间 load wbarb; % 装入图像 figure; % 新建窗口 image(X); % 显示图像 colormap(map) % 设置色彩索引图 title('原始图像'); % 设置图像标题 axis square % 设置显示比例 disp('压缩前图像X的大小'); % 显示文字 whos('X') % 显示图像属性 %对图像用小波进行层小波分解 [c,s]=wavedec2(X,2,'bior3.7'); %提取小波分解结构中的一层的低频系数和高频系数 cal=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]; %显示分频信息 figure; % 新建窗口 image(c1); % 显示图像 colormap(jet) % 设置色彩索引图 axis square; % 设置显示比例 title ('分解后低频和高频信息'); % 设置图像标题 ca1=appcoef2(c,s,'bior3.7',1); ca1=wcodemat(ca1,440,'mat',0); %改变图像高度并显示 ca1=0.5*ca1; figure; % 新建窗口 image(ca1); % 显示图像 colormap(map); % 设置色彩索引图 axis square; % 设置显示比例 title('第一次压缩图像'); % 设置图像标题 disp('第一次压缩图像的大小为:'); % 显示文字 whos('ca1') % 显示图像属性 %保留小波分解第二层低频信息进行压缩 ca2=appcoef2(c,s,'bior3.7',2); %首先对第二层信息进行量化编码 ca2=wcodemat(ca2,440,'mat',0); %改变图像高度并显示 ca2=0.25*ca2; figure; % 新建窗口 image(ca2); % 显示图像 colormap(map); % 设置色彩索引图 axis square; % 设置显示比例 title('第二次压缩图像'); % 设置图像标题 disp('第二次压缩图像的大小为:'); % 显示文字 whos('ca2') % 显示图像属性