Fonctions > Transformées et filtres > Exemple : Filtrage d'une image
  
Exemple : Filtrage d'une image
Démontrez le filtrage dans le domaine de la transformée de Fourier en deux dimensions par convolution d'image 2D avec une fenêtre employant les transformées de Fourier rapides (DFT). Le filtre est une ouverture carrée, un filtre passe-bas.
1. Définissez les cotes et les éléments d'une matrice d'image.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
2. Utilisez la fonction scale pour mettre l'image à l'échelle.
Cliquez pour copier cette expression
3. Utilisez la fonction WRITEBMP pour écrire l'image dans un fichier externe.
Cliquez pour copier cette expression
4. Recherchez le fichier écrit et insérez l'image.
(cross.bmp)
5. Définissez les cotes de l'ouverture.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
6. Utilisez la fonction scale pour mettre à l'échelle l'ouverture, puis écrivez le résultat dans un fichier externe.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
7. Recherchez le fichier écrit et insérez l'image de l'ouverture.
(aperture.bmp)
L'échantillonneur monocanal 2D se change en fonction sinc 2D, avec la plupart des fréquences dans les basses fréquences (au centre), ce qui en fait un filtre passe-bas convenable.
8. Pour effectuer une convolution de l'ouverture dans l'image, utilisez la fonction dft pour transformer les deux, multipliez les transformées par élément à l'aide de l'opérateur de vectorisation, puis utilisez la fonction idft pour prendre la transformée inverse.
Cliquez pour copier cette expression
9. Utilisez la fonction center pour vous assurer que le composant DC de l'image se trouve au centre.
Cliquez pour copier cette expression
10. Changez les éléments de la matrice en nombres réels.
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
11. Utilisez la fonction scale pour mettre l'image à l'échelle.
Cliquez pour copier cette expression
12. Utilisez la fonction invertimage pour inverser l'image.
Cliquez pour copier cette expression
13. Utilisez la fonction WRITEBMP pour écrire l'image dans un fichier externe.
Cliquez pour copier cette expression
14. Recherchez le fichier écrit et insérez l'image de la croix.
(cross_aperture.bmp)
La nouvelle image a perdu son contenu haute fréquence, c'est-à-dire ses contours nets.
15. Inversez le processus par déconvolution : divisez la transformée d'image dans le sens des éléments par la transformée de l'ouverture (une petite quantité est ajoutée à chaque élément de l'ouverture pour s'assurer qu'il n'existe pas de division par 0).
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
Cliquez pour copier cette expression
16. Recherchez le fichier écrit et insérez l'image de la croix.
(reversed.bmp)
L'image a récupéré son contenu haute fréquence, c'est-à-dire ses contours nets.