Erinnerst du dich an den Stereoverstärker mit all den Knöpfen? Der Bassregler steuerte, wie viel des an die Lautsprecher gesendeten Signals von einem Tiefpassfilter kam, und der Höhenregler steuerte den Anteil von einem Hochpassfilter.
Bass and Treble controlsBass- und Höhenregler
Das Abspielen einer Schallplatte mit Staub in den Rillen würde der Musik viel Zischen, Knallen und Knistern hinzufügen. Das Absenken der Höhen könnte das Erlebnis ein wenig verbessern. Das Impulsrauschen, das von einer Staubspezies erzeugt wird, hat viele hochfrequente Komponenten.Dolby-Rauschunterdrückung hat einige ausgeklügelte Filter auf Kassettenbändern durchgeführt, um das Signal-Rausch-Verhältnis zu verbessern; Das Endergebnis war so etwas wie das Aufdrehen der Höhen während der Aufnahme und das Zurückdrehen während der Wiedergabe, wodurch das Rauschen des Bandes reduziert wurde.
Die FFT (Schnelle Fourier-Transformation) wandelt ein Signal aus dem Zeitbereich (wie die Daten, die von der Rille der Schallplatte kommen) in den Frequenzbereich (wie das tanzende Balkendiagramm der Frequenzen bei neueren Audiogeräten).
Audio Bar Graph from ClementineAudio-Balkendiagramm von Clementine
Für eine 2D-FFT eines Bildes sieht das Äquivalent des Balkendiagramms folgendermaßen aus:
Bildnachweis: Kontizas Dimitrios (Schauen Sie sich das Farbbild in voller Größe an.)
source imageQuellbild
FFT of source FFT der Quelle
Das FFT-Bild der Quelle zeigt starke (hellweiße) Niederfrequenzkomponenten in der Mitte und kleinere (dunkelgraue) Hochfrequenzkomponenten zu den Rändern hin. Eine zweite Anwendung der FFT kann das zweite Bild wieder in das erste umwandeln.
Fügen Sie etwas Rauschen hinzu, und die FFT zeigt mehr hohe Frequenzen (hellere Punkte von der Mitte entfernt):
Lots of noise added to sourceDer Quelle wurde viel Rauschen hinzugefügt
FFT of noisy image FFT eines verrauschten Bildes
Was würde also passieren, wenn alle äußersten Hochfrequenzpunkte gelöscht würden? Würde das zusätzliche Rauschen verschwinden? Alle diese Bilder bestehen aus Daten, die Schwarz als Null und Weiß als Eins und Grau dazwischen codieren, sodass wir eine Maske wie diese verwenden und die FFT-Daten elementweise mit der Maske multiplizieren und dann die FFT umkehren könnten, um sie zu erhalten ein Tiefpassbild:
Brick wall filter lets no high frequency throughZiegelwandfilter lassen keine hohen Frequenzen durch
Brick wall result, notice white stripe down pant leg Backsteinmauer-Ergebnis, beachten Sie den weißen Streifen am Hosenbein
Das hat die winzigen zufälligen Punkte entfernt, aber jetzt gibt es einen klingelndes Artefakt immer wenn eine dunkle und helle Kante auftritt; Beachten Sie den weißen Streifen auf dem Hosenbein und den schwarzen Streifen auf dem nächsten Gebäudevorsprung.
Vielleicht gibt es einen besseren Filter. Mein Vater war fasziniert von Filtern, die aus Kondensatoren, Induktivitäten und Widerständen bestanden und vielleicht Operationsverstärker verwendeten. Ich erinnere mich, dass er davon sprach Butterwert und Tschebyschew Filtern und dem Versuch zu erklären, die Flachheit im Durchlassband zu erklären und wie verschiedene Frequenzen in einem Filter um unterschiedliche Beträge verzögert werden könnten. Die Namen klingen immer noch so cool wie damals, als ich zwölf war. Ich habe diesen Paul Bourke gefunden Artikel , womit dieser Blogbeitrag begonnen hat, und diese Reihe von Klassennotizen von Dave Marshall, der die Verwendung des 2D-Butterworth-Filters beschreibt. Es sieht viel besser aus:
The Butterworth filter fades awayDer Butterworth-Filter verschwindet
And the reconstituted image has less ringing Und das rekonstruierte Bild hat weniger Nachschwingen
Das angehängte JSL macht diese GUI mit Schiebereglern.
Sliders to experiment with filtersSchieberegler zum Experimentieren mit Filtern
Sehr cool. Ich kann es kaum erwarten, dies auf anderen Bildern zu versuchen. Vielen Dank für das Beispielskript.