Vous vous souvenez de l'amplificateur stéréo avec tous les boutons ? Le bouton des basses 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 controlsBass and Treble controlsBass and Treble controlsBass and Treble controlsCommandes de basses et d'aigus
Jouer un disque avec de la poussière dans les sillons ajouterait beaucoup de sifflements, de pops et de crépitements à la musique. Baisser les aigus pourrait rendre l’expérience un peu meilleure. Le bruit impulsionnel généré par une poussière présente de nombreuses composantes haute fréquence.Suppression du bruit Dolby effectué un filtrage sophistiqué sur des cassettes pour améliorer les rapports signal/bruit ; le résultat final était quelque chose comme augmenter les aigus pendant l'enregistrement et les diminuer pendant la lecture, réduisant ainsi le sifflement de la bande.
La FFT (Fast Fourier transform) convertit un signal du domaine temporel (comme les données sortant du sillon du disque) vers le domaine fréquentiel (comme le graphique à barres dansantes des fréquences sur les appareils audio les plus récents.)
Audio Bar Graph from ClementineAudio Bar Graph from ClementineAudio Bar Graph from ClementineAudio Bar Graph from ClementineGraphique à barres audio de Clémentine
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 imagesource imagesource imagesource imageimage source
FFT of sourceFFT of sourceFFT of sourceFFT of source FFT de la source
L'image FFT de la source montre des composantes basse fréquence fortes (blanc brillant) au centre et des composantes haute fréquence plus petites (gris foncé) vers les bords. Une deuxième application de la FFT peut reconvertir la deuxième image en première.
Ajoutez du bruit et la FFT affiche plus de hautes fréquences (points plus brillants éloignés du centre) :
Lots of noise added to sourceLots of noise added to sourceLots of noise added to sourceLots of noise added to sourceBeaucoup de bruit ajouté à la source
FFT of noisy imageFFT of noisy imageFFT of noisy imageFFT of noisy image FFT d'image bruitée
Alors, que se passerait-il si tous les points hautes fréquences les plus extérieurs é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 les deux, nous pourrions donc utiliser un masque, comme celui-ci, et multiplier par éléments les données FFT avec le masque, puis inverser la FFT pour obtenir une image passe-bas :
Brick wall filter lets no high frequency throughBrick wall filter lets no high frequency throughBrick wall filter lets no high frequency throughBrick wall filter lets no high frequency throughLe filtre pour mur de briques ne laisse passer aucune haute fréquence
Brick wall result, notice white stripe down pant legBrick wall result, notice white stripe down pant legBrick wall result, notice white stripe down pant legBrick 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 petits points aléatoires, mais il y a maintenant un artefact de sonnerie 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 existe peut-être un meilleur filtre. Mon père était fasciné par les filtres, construits avec des condensateurs, des inductances et des résistances, et utilisant peut-être des amplificateurs opérationnels. Je me souviens qu'il parlait de Butterworth et Tchebychev filtres et essayer 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 que lorsque j’avais douze ans. J'ai trouvé ce Paul Bourke article , c'est ce qui a lancé ce billet 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 awayThe Butterworth filter fades awayThe Butterworth filter fades awayThe Butterworth filter fades awayLe filtre Butterworth disparaît
And the reconstituted image has less ringingAnd the reconstituted image has less ringingAnd the reconstituted image has less ringingAnd the reconstituted image has less ringing Et l'image reconstituée sonne moins
Le JSL ci-joint crée cette interface graphique avec des curseurs.
Sliders to experiment with filtersSliders to experiment with filtersSliders to experiment with filtersSliders 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.