Manip6.m 1.26 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 45 46 47
% 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