45 lines
1 KiB
Mathematica
45 lines
1 KiB
Mathematica
|
% 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
|