cours-m1-eea/455-Codage_Sources/TP/TP3/Manip6.m

48 lines
1.3 KiB
Mathematica
Raw Normal View History

2019-01-15 15:56:28 +01:00
% 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