function [ S ] = ScaleImg( IMG, u, v )
    global l; %Largeur de l'image finale
    global L; %hauteur de l'image finale

    [x, y, dim]=size(IMG);
%% Estimation des ratios de l'image pour redimenstionner
%     s=1;
    if L/l > x/y
%        s=v/y;
       disp('  Selon la largeur');
       S=imresize(IMG, [NaN l]);
       [x, y, dim]=size(S);
       c=zeros(floor((L-x)/2), l, 3);
       S=[c; S; c];
       if floor((L-x)/2)*2 ~= L-x
           c=zeros(1, l, 3);
           S=[S; c];
       end
    else
%         s=u/x;
        disp('  Selon la hauteur');
        S=imresize(IMG, [L NaN]);
        [x, y, dim]=size(S);
        c=zeros(L, floor((l-y)/2), 3);
        S=[c S c];
        if floor((l-y)/2)*2 ~= l-y
            c=zeros(L, 1, 3);
            S=[S c];
        end
    end

%% Fonction affine désactivé
% La fonction affine est mise en commentaire car elle peut renvoyer des dimensions à = ou - u 
% Elle est remplacer par la fonction imresize qui retourne une image de la
% bonne dimmension
%     trans=affine2d([s 0 0; 0 s 0; 0 0 1]); S=imwarp(IMG, trans);


%% Centre l'image
% Centre l'image au milieu de la zone de projection. Ne centre pas par
% rapport au centre de gravité.
% Le calcul peut etre fait pour que l'image soit centrer par rapport au
% centre de la tête ou le centre de gravité (produit scalaire mais ceci
% augmenterai le temps de calcul. Toute fois donnerai de meilleurs
% résultats pour l'apprentissage.
%     [x, y, dim]=size(S);
%     c=zeros(u, floor((l-y)/2), 3);
%     S=[c S c];
%     if floor((l-y)/2)*2 ~= l-y
%         c=zeros(u, 1, 3);
%         S=[S c];
%     end
end

