Digital Signal Processing Reference
In-Depth Information
for i ¼ 1:m
Yd1(i,:) ¼ idwt(h0,double(Yd1(i,:)),1) ' ;
end
YY1 ¼ uint8(Yd1);
figure (2),imshow(Y);xlabel( ' Original image ' );
figure (3),imshow(YY1);xlabel( ' 4:1 Compression ' );
Program 14.5. Two-level wavelet compression.
close all; clear all; clc
X
¼
imread(
cruise
,
JPEG
);
'
'
'
'
Y
¼
rgb2gray(X);
h0
¼
[0.054415842243144 0.312871590914520 0.675630736297712
.
0.585354683654425 -0.015829105256675 -0.284015542962009
.
0.000472484573805 0.128747426620538 -0.017369301001845 .
-0.044088253930837 0.013981027917411 0.008746094047413 .
-0.004870352993456 -0.000391740373377 0.000675449406451 .
-0.000117476784125];
M ¼ length(h0);
h1(1:2:M-1) ¼ h0(M:-2:2);h1(2:2:M) ¼ -h0(M-1:-2:1);% Obtain QMF highpass filter
[m n] ¼ size(Y);
% Level-1 transform
[m n] ¼ size(Y);
for i ¼ 1:m
W1(i,:) ¼ dwt(h0,double(Y(i,:)),1) ' ;
end
for i ¼ 1:n
W1(:,i) ¼ dwt(h0,W1(:,i),1); % Wavelet coefficients at level-1 transform
end
% Level-2 transform
Y1 ¼ W1(1:m/2,1:n/2); % Obtain LL subband
[m n] ¼ size(Y1);
for i
1:m
W2(i,:)
¼
¼
dwt(h0,Y1(i,:),1)
;
'
end
for i
1:n
W2(:,i)
¼
¼
dwt(h0,W2(:,i),1);
end
W22
W2; % Wavelet coefficients at level-2 transform
wmax ¼ max(max(abs(W22)));
% 8-bit quantization
W22 ¼ round(W22*2^7/wmax);
W22 ¼ double(W22)*wmax/2^7;
figure(1), imshow(uint8(W22));xlabel( ' Wavelet coefcients ' );
[m, n] ¼ size(W22); WW ¼ zeros(m,n);
WW(1:m/4,1:n/4) ¼ W22(1:m/4,1:n/4);
W22 ¼ WW; % Discard HL2,LH2, HH2, HL1, LH1, HH1 subbands
% Decoding from level-2 transform
[m,n] ¼ size(W22); Wd2 ¼ W22(1:m/2,1:n/2);
¼
W1; W22(1:m,1:n)
¼
Search WWH ::




Custom Search