47 lines
1.3 KiB
Matlab
47 lines
1.3 KiB
Matlab
% Aymeric Arnould, Tom Colinot
|
|
% TP3
|
|
% Codage INTER (3/3)
|
|
% Question 13 - Qualité visuelle (INTER) pour différentes valeurs du débit
|
|
|
|
clear all;
|
|
|
|
n=5;
|
|
gamma=[0.1 1 3 5]; %Pas de quantification
|
|
|
|
file = fopen('Foreman.qcif','r');
|
|
|
|
[compY,~,~]=yuv_readimage(file,'qcif');
|
|
Y=zeros(size(compY,1),size(compY,2),n); %images avant codage
|
|
Yc= zeros(size(compY,1),size(compY,2),n); %images codées
|
|
|
|
|
|
|
|
for i=1:size(gamma,2)
|
|
g=gamma(i);
|
|
|
|
file = fopen('Foreman.qcif','r');
|
|
[compY,~,~]=yuv_readimage(file,'qcif');
|
|
%Codage de la première image
|
|
[I_rec,PSNR,bpp] = encodeINTRA(compY,g);
|
|
Y(:,:,1) = compY;
|
|
Yc(:,:,1) = I_rec;
|
|
|
|
figure(1)
|
|
colormap(gray)
|
|
|
|
|
|
for k=2:n
|
|
[compY,~,~]=yuv_readimage(file,'qcif');
|
|
Yk = compY - Yc(:,:,k-1); % différences par rapport à l'image décodée précédente
|
|
[I_rec,PSNR,bpp] = encodeINTRA(Yk,g);
|
|
|
|
Y(:,:,k) = Yk;
|
|
Yc(:,:,k) = I_rec + Yc(:,:,k-1); % reconstruction à l'aide de l'image décodée précédente
|
|
end
|
|
|
|
|
|
d=bpp*size(compY,1)*size(compY,2)*15;
|
|
|
|
subplot(1,length(gamma)+1,1); imagesc(compY); title('Image non compressee');
|
|
subplot(1,length(gamma)+1,i+1); imagesc(Yc(:,:,end)); title(strcat('gamma=',num2str(g),',','Debit=',num2str(d), 'bps'));
|
|
end
|