partie 1 :Compression :
DCT
function DCT = dct2dim(matrice)
% Application de la DCT deux dimensions sur un bloc 8x8
%Construction d'une matrice de valeurs du cosinus
for i=0:7
for x=0:7
valcos(i+1,x+1)=double(cos(((2*x +1)*i*pi)/16));
end % end for
end % end for
%Construction d'une matrice de valeurs de 1/4*c(i)*c(j)
c=1/sqrt(2);
for i=0:7
for j=0:7
if i==0 || j==0
cicj(i+1,j+1)=double((1/4)*c); % 0.1768
end % end if
if i~=0 && j~=0
cicj(i+1,j+1)=double(1/4); %0.2500
end % end if
if i==0 && j==0
cicj(i+1,j+1)=double((1/4)*c*c); %0.1250
end % end if
end % end for
end % end for
% Traitement
DCT = double(zeros(8,8));
for i = 1 : 8
for j = 1 : 8
sigma = double(0);
for x = 1 : 8
for y = 1 : 8
sigma = sigma + (double(matrice(x,y)) * valcos(i,x) * valcos(j,y));
end % end for
end % end for
DCT(i,j) = cicj(i,j) * sigma;
end % end for
end % end for
DCT=round(DCT); % arrondir