?? 17-4.m
字號:
clear
load wbarb;
%裝入圖像
subplot(221);
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];
subplot(222);
image(c1);
%顯示分頻信息
axis square;
title ('分解后低頻和高頻信息');
%進行圖像壓縮
%保留小波分解第一層低頻信息
%首先對第一層信息進行量化編碼
ca1=appcoef2(c,s,'bior3.7',1);
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,s,'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 + -