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