Manip4.m 1.05 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
% Aymeric Arnould, Tom Colinot
% TP3
% Codage INTER (1/3)
% Questions 9 à 11

clear all;

n=5; %Nombre d'images à coder
gamma=1; %Pas

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

%Codage de la première image
[I_rec,PSNR,bpp] = encodeINTRA(compY,gamma);
Y(:,:,1) = compY;
Yc(:,:,1) = I_rec; 

%Pour les images suivantes, soustraction de l'image n-1 à l'image n avant
%codage
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,gamma);
    
    Y(:,:,k) = Yk;
    Yc(:,:,k) = I_rec + Yc(:,:,k-1); % reconstruction à l'aide de l'image décodée précédente
end

% Affichage des images de bases et des images codées de la séquence
figure(1)
colormap(gray)
for i=1:n
    subplot(1,n,i); imagesc(Y(:,:,i));
end

figure(2)
colormap(gray)
for i=1:n
    subplot(1,n,i); imagesc(Yc(:,:,i));
end