// fonction tfdd
// Calcule la transformée de Fourier directe discrète, en 2 dimensions.
// @param Img Image à partir de laquelle la transformée de Fourier est calculée. L'image doit être en niveau de gris. 
// @return ImgTrans Résultat de la transformée de Fourier appliquée à l'image Img. 
function [ImgTrans] = tfdd(Img)

    // On récupère la taille de l'image passée en paramètre
    [Height, Width] = size(Img)

    // On créé l'image de retour, de même taille que l'image passée en paramètre, et on l'initialise à 0
    ImgTrans = zeros(Height, Width)
	
    // On boucle pour chaque pixel de l'image résultat
    for u = 1 : Height
    
        for v = 1 : Width
  
            // On boucle pour chaque pixel de l'image passée en paramètre
            for x = 1 : Height

                for y = 1 : Width
        
                    // On applique la formule de la transformée de Fourier directe discrète sur le pixel traité
                    ImgTrans(u, v) = ImgTrans(u, v) + ( Img(x, y) * exp( ( -2 * %i * %pi ) * ( ( ( u - 1 ) * ( x - 1 ) / Height ) + ( ( v - 1 ) * ( y - 1 ) / Width ) ) ) )
          
                end

            end

        end

    end

endfunction

