2D Discret Fourier Transform and its applications on bitmap file

Soyez le premier à donner votre avis sur cette source.

Vue 3 323 fois - Téléchargée 530 fois


Description

Vous voulez éliminer le bruit présent sur une image bitmap ?

1/ Charger l'image BMP: Je calcule les coefficients du spectre de l'image au
moyen de la Transformée de Fourier Discrète sur 2 dimensions avec l'algorithm
de la Transformée de Fourier Rapide.
Les basses fréquences de l'image se trouvent dans les quatre coins du spectre.
Les hautes fréquences de l'image se trouvent au centre du spectre.

2/ Pour éliminer certainnes composantes du spectre, concevez votre filtre avec
Paint (image N&B de 256 couleurs).
Noir = élimine les coefficients.
Niveaux de gris (de noir à blanc) = Atténue les coefficients.

Petit truc: Pour concevoir le filtre, partez du négaif du spectre et commencez
par mettre du blanc dans les 4 coins (cf exemple fournis avec la source).

Remarque: Le paramètre "niveau de gris moyen" défini un seuil entre 0 et 255.
Ce seuil est utilisé au moment de l'application du filtre sur le spectre.
Exemple: Seuil de 127.
Un pixel noir = j'élimine le coefficient.
Un pixel gris de 127 = Je ne touche pas au coefficient.
Un pixel blanc de 255 = Je double la valeur du coeficient.

3/ J'applique le filtre sur les coefficients du spectre.

4/ Je reconstruit l'image à partir du spectre filtré (Je calcule la Transformée
Inverse de Fourier Discrète).

Petit bonus: Il est possible d'insérer un message ou une petite image dans les hautes
fréquences du spectre avec le mode "Overlay": Au lieu d'atténuer ou d'éliminer
des coefficients du spectre, je les force.



Do you want to eliminate the noise from a image ?

1/ Load a bitmap and compute the DFT coefficients using the FFT algorithm (get
the spectrum).

2/ Design your digital filter using paint (a 256 color bitmap).
Black color = eliminate a DFT coefficient (get rid of a noise).
Other color, relative to the "Neutral color" parameter, apply a factor to the
DFT coefficient (/! a bad number = a too bright or too dark result)

Hint: Start from the negative image of the input spectrum.
Remember: The symmetry of the spectrum is odd.

3/ Apply your filter to the picture's spectrum.

4/ Reconstruct the picture from the filtered spectrum (using the Inverse DFT).

Bonus: You can use this application to hid a secret message or another picture
inside your picture's spectrum (Overlay mode).
This is... Useless...But... Well... It's funny!

And I don't use any library.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.