Vous vous souvenez de l'amplificateur stéréo avec tous les boutons ? Le bouton des graves contrôlait la quantité de signal envoyé aux haut-parleurs provenant d'un filtre passe-bas, et le bouton des aigus contrôlait la quantité d'un filtre passe-haut.
Bass and Treble controlsContrôles des graves et des aigus
Jouer un disque avec de la poussière dans les rainures ajouterait beaucoup de sifflements, de pops et de craquements à la musique. Baisser les aigus pourrait rendre l'expérience un peu meilleure. Le bruit impulsif généré par un grain de poussière comporte de nombreuses composantes à haute fréquence.Suppression du bruit Dolby a effectué un filtrage sophistiqué sur les cassettes pour améliorer les rapports signal sur bruit ; le résultat final était quelque chose comme augmenter les aigus pendant l'enregistrement et les baisser pendant la lecture, réduisant ainsi le sifflement de la bande.
La FFT (transformée de Fourier rapide) convertit un signal du domaine temporel (comme les données sortant du sillon de l'enregistrement) au domaine fréquentiel (comme le graphique à barres dansant des fréquences sur les appareils audio plus récents.)
Audio Bar Graph from ClementineGraphique à barres audio de Clementine
Pour une FFT 2D d'une image, l'équivalent du graphique à barres ressemble à ceci :
crédit image : Kontizas Dimitrios (consultez l'image couleur en taille réelle.)
source imageimage source
FFT of source FFT de la source
L'image FFT de la source montre de fortes composantes basse fréquence (blanc brillant) au centre et des composantes haute fréquence plus petites (gris foncé) sur les bords. Une seconde application de la FFT peut reconvertir la seconde image en la première.
Ajoutez un peu de bruit et la FFT affiche plus de hautes fréquences (points plus brillants éloignés du centre) :
Lots of noise added to sourceBeaucoup de bruit ajouté à la source
FFT of noisy image FFT d'image bruitée
Alors, que se passerait-il si tous les points de haute fréquence les plus externes étaient supprimés ? Le bruit supplémentaire disparaîtrait-il ? Toutes ces images sont des données qui codent le noir comme zéro et le blanc comme un, et le gris entre, donc nous pourrions utiliser un masque, comme celui-ci, et multiplier par élément les données FFT avec le masque, puis inverser la FFT pour obtenir une image passe-bas :
Brick wall filter lets no high frequency throughLe filtre mural en brique ne laisse pas passer les hautes fréquences
Brick wall result, notice white stripe down pant leg Résultat du mur de briques, remarquez la jambe du pantalon à rayures blanches
Cela a supprimé les minuscules points aléatoires, mais maintenant il y a un artefact qui sonne chaque fois qu'un bord sombre et clair se produit; remarquez la bande blanche sur la jambe du pantalon et la bande noire sur le rebord du bâtiment le plus proche.
Il y a peut-être un meilleur filtre. Mon père était fasciné par les filtres, construits avec des condensateurs, des inducteurs et des résistances, et peut-être en utilisant des amplificateurs opérationnels. Je me souviens qu'il parlait de Butterworth et Tchebychev filtres et essayant d'expliquer la planéité de la bande passante et comment différentes fréquences pourraient être retardées de différentes quantités dans un filtre. Les noms sonnent toujours aussi cool qu'ils l'étaient quand j'avais douze ans. J'ai trouvé ce Paul Bourke article , qui est à l'origine de cet article de blog, et cet ensemble de notes de cours par Dave Marshall, décrivant comment utiliser le filtre 2D Butterworth. Ça parrait beaucoup mieux:
The Butterworth filter fades awayLe filtre Butterworth s'estompe
And the reconstituted image has less ringing Et l'image reconstituée sonne moins
Le JSL joint crée cette interface graphique avec des curseurs.
Sliders to experiment with filtersCurseurs pour expérimenter les filtres
Très cool. J'ai hâte d'essayer ça sur d'autres photos. Merci pour l'exemple de script.