Calculer la transformée de Fourier d'une image permet de passer dans le domaine fréquentiel. Ce type de transformation facile à implémenter a de nombreux avantages en ce qui concerne le traitement des images.
Transformée de Fourier 1D
Dans une image 2D, on considère chaque ligne de l'image. On calcule la transformée 1D, F(u,y), de cette ligne que l'on garde en mémoire. Ensuite on fait le même calcul colonnes par colonnes sur l'image précédement calculée.
La transformée de Fourier discrète est beaucoup trop lente. Nous avons donc utilisé une transformée de Fourier rapide (FFT), qui ne peut être utilisée que sur des images dont la hauteur et la largeur sont des puissances de 2.
principe du filtrage
Lorsque nous avons calculé la transformée de Fourier de l'image à traiter, il suffit de multiplier terme à terme les deux images complexes (pour chaque couple (u,v)). Le résultat est l'image complexe G(u,v), qui est la transformée de Fourier de l'image améliorée. On obtient l'image finale en calculant la transformée inverse.
.calibration via des figures simples
image de départ, impulsion carrée (256*256 pixels) |
norme du spectre calculé par la FFT 2D (Sinc 2D) |
C'est sur ce type de spectre que nous avons pu calibrer notre algorithme de reconstruction de la norme du spectre. Sachant que nous devions (pour plus de lisibilité) obtenir un spectre centré, nous avons pu établir les instructions de réarrangement de la grille de pixels.
image de départ, (256*256 pixels)
norme du spectre calculé par la FFT 2D
image de départ, spectre du cercle en haut (256*256 pixels)
norme du spectre calculé par la FFT 2D
.spectre d'une image complexe
image complexe, Mme Bonnet et son fils (256*256 pixels). |
norme du spectre calculé par la FFT 2D |
.image reconstituée aprés transformation inverse
Cette image illustre les problèmes liés à la reconstitution d'une image cohérente à partir de la norme et de la phase complexe calculées par la transformation de Fourier. En effet nous avons eu d'importants problèmes pour reconstituer une image cohérente. Nous avons donc effectué des pré-traitements sur l'image pour tenter d'aboutir au résultat désiré. Pour le moment nous pouvons remarquer une augmentation de l'énergie globale de l'image ainsi qu'une inversion des niveaux de gris pour certaines valeurs. Ceci vient probablement d'un arrondi des flottants au cours de la FFT... Nous travaillons sur ce problème et dés qu'il sera réglé, ce site sera mis à jour.
.traitement sur une image complexe
valeur de coupure = 1 |
valeur de coupure = 5 |
valeur de coupure = 10 |
valeur de coupure = 20 |
valeur de coupure = 50 |
valeur de coupure = 100 |
valeur de coupure = 40 |
valeur de coupure = 20 |
valeur de coupure = 14 |
valeur de coupure = 7 |
valeur de coupure = 3 |
valeur de coupure = 2 |
Filtrage coupe bande
Ce type de traitement d'image est trés intéressant car il permet une préparation trés judicieuse, dans le but d'aboutir à une analyse cognitive des formes contenues.
Le résultat le plus intéressant est celui produit via le filtre coupe bande qui permet véritablement de ne conserver que l'information des contours des personages de la photo traitée au dessus.
Vous pouvez télécharger ces sources compilables sous win32 :
Pouliquen Eric R, Villemin Gilémon Octobre 2000