Professional Documents
Culture Documents
Đoạn code matlab dùng để nén ảnh
Đoạn code matlab dùng để nén ảnh
clc; clear;
coverIM = imread('input.jpg');
subplot(2,1,1);
imagesc(coverIM); title('Hinh anh ban dau:');
axis off; axis image;
coverIM = rgb2gray(coverIM);
XO = imresize(im2double(coverIM),[512,512]);
n = length(XO);
A = zeros(n,n);
m = 8;
Q = eye(1);
dem = 0;
while (m~=1)
At = A;
m = m/2;
for i = 1 : m
At(i,2*i-1) = 1/2;
At(i,2*i) = 1/2;
At(i+m,2*i-1) = 1/2;
At(i+m,2*i) = -1/2;
end
for i = m*2+1 : n
At(i,i) = 1;
end
for i = 1 : 2*m
At(:,i) = At(:,i)/norm(At(:,i));
end
Q = At* Q;
dem = dem + 1;
end
Y = Q * XO;
subplot(2,1,2);
imwrite(Y,'output.jpg');
imagesc(Y); title('Hinh anh sau khi dung bien doi Haar');
axis off; axis image;
colormap gray;