Ricordi l'amplificatore stereo con tutte le manopole? La manopola dei bassi controllava la quantità del segnale inviato agli altoparlanti proveniva da un filtro passa-basso e la manopola degli alti controllava la quantità da un filtro passa-alto.
Bass and Treble controlsControlli bassi e alti
Suonare un disco con la polvere nelle scanalature aggiungerebbe un sacco di sibili, schiocchi e crepitii alla musica. Abbassare gli alti potrebbe rendere l'esperienza un po' migliore. Il rumore impulsivo generato da un particolare di polvere ha molte componenti ad alta frequenza.Soppressione del rumore Dolby ha fatto dei filtri sofisticati sulle cassette per migliorare i rapporti segnale-rumore; il risultato finale è stato qualcosa come alzare gli alti durante la registrazione e abbassarli durante la riproduzione, riducendo il sibilo del nastro.
La FFT (trasformata veloce di Fourier) converte un segnale dal dominio del tempo (come i dati che escono dal solco del disco) nel dominio della frequenza (come il grafico a barre danzante delle frequenze su dispositivi audio più recenti).
Audio Bar Graph from ClementineGrafico a barre audio di Clementine
Per un FFT 2D di un'immagine, l'equivalente del grafico a barre è simile al seguente:
credito immagine: Kontizas Dimitrios (controlla l'immagine a colori a grandezza naturale.)
source imageimmagine sorgente
FFT of source FFT di origine
L'immagine FFT della sorgente mostra componenti a bassa frequenza forti (bianco brillante) al centro e componenti ad alta frequenza più piccoli (grigio scuro) ai bordi. Una seconda applicazione della FFT può riconvertire la seconda immagine nella prima.
Aggiungi un po 'di rumore e FFT mostra più alte frequenze (punti più luminosi lontano dal centro):
Lots of noise added to sourceUn sacco di rumore aggiunto alla sorgente
FFT of noisy image FFT di immagine disturbata
Quindi, cosa accadrebbe se tutti i punti ad alta frequenza più esterni venissero eliminati? Il rumore aggiunto andrebbe via? Tutte queste immagini sono di dati che codificano nero come zero e bianco come uno e grigio in mezzo, quindi potremmo usare una maschera, come questa, e moltiplicare per elemento i dati FFT con la maschera, quindi invertire la FFT per ottenere un'immagine passa-basso:
Brick wall filter lets no high frequency throughIl filtro del muro di mattoni non lascia passare l'alta frequenza
Brick wall result, notice white stripe down pant leg Risultato del muro di mattoni, nota la gamba del pantalone a righe bianche
Ciò ha rimosso i minuscoli punti casuali, ma ora c'è un manufatto squillante ogni volta che si verifica un bordo scuro e chiaro; nota la striscia bianca sulla gamba dei pantaloni e la striscia nera sul davanzale dell'edificio più vicino.
Forse c'è un filtro migliore. Mio padre era affascinato dai filtri, costruiti con condensatori, induttori e resistori, e magari usando amplificatori operazionali. Ricordo che ne parlava Butterworth e Chebyshev filtri e cercando di spiegare la piattezza nella banda passante e come frequenze diverse potrebbero essere ritardate di quantità diverse in un filtro. I nomi suonano ancora belli come quando avevo dodici anni. Ho trovato questo Paul Bourke articolo , che è ciò che ha iniziato questo post sul blog, e questo insieme di appunti di classe di Dave Marshall, che descrive come utilizzare il filtro 2D Butterworth. Sembra molto meglio:
The Butterworth filter fades awayIl filtro Butterworth svanisce
And the reconstituted image has less ringing E l'immagine ricostituita ha meno squilli
Il JSL allegato rende questa GUI con cursori.
Sliders to experiment with filtersSlider per sperimentare con i filtri
Molto bello. Non vedo l'ora di provarlo su altre foto. Grazie per lo script di esempio.