< FFT 2D Bandfilterbank für Bilder >
Mithilfe ► dieses Java Programms ist es möglich, FFT Bandfilteroperationen an 8Bit-Graustufenbildern durchzuführen.
Implementiert sind alle gängigen Filterarten, wie man sie auch von der Elektronik her kennt, wie Tiefpass, Hochpass, Bandsperre
und Bandpass.
Farbbilder werden i.d.R. automatisch in Graustufen konvertiert.
Mithilfe des Programms läßt sich eine Entrasterung Von Zeitungsbildern oder auch die Beseitigung von Bildstörungen,
die im Frequenzraum eng lokaliesiert sind, wie bspw. Streifen, realisieren. Allerdings sind die Frequenzfilter-fensterfunktionen
ideal, also scharf abschneidend,
was zur Folge hat, das man sich sogg. Filterklingeln einhandelt.
Das Programm ist auch nützlich, um einige Eigenschaften der 2D-Fouriertransformation kennenzulernen, der Grund warum ich es
ursrünglich entwickelt hatte.
Faltungssatz
Hier noch kurz die wichtigste Beziehung der Fouriertransformation:
F(f * g) = F(f) . F(g). (hier steht das Symbol . für die Multiplikation und das Symbol * für die Faltung. f und g sind Funktionen im Zeitbereich,
F(f) und F(g) die Fouriertransformierten also Funktionen im Frequenzbereich)
Etwas salopp ausgedrückt: Es ist nicht möglich, eine einzelne Funktion in der realen Welt, einer Fourier-Transformation zu
unterziehen. Warum ?
Weil man es in der realen Welt mit zeitbegrenzten Funktionen zu tun hat- die Zeitbegrenzung stellt die zweite Funktion g dar.
Die zu transformierende Funktion ist immer eine Multiplikation von f mit der Zeitfensterfunktion g.
Im naiven Fall der Fourier-Transformation einer Funktion f von t1 bis t2, ist g eine Rechteckfunktion von t1 bis t2 mit der
Amplitude 1, ansonsten Amplitude 0.
Dies hat unweigerlich zur Folge, das bei einer Fourier-Transformation vom Ortsraum in den Frequenzraum, im Frequenzraum IMMER!
gefaltet wird,
denn es gilt auch das Umgekehrte, also: F(f . g) = F(f) * F(g).
Bedienung
Man startet das Javaprogramm, und kann Bilder per Drag & Drop vom Explorer oder auch einer Webseite auf die Programmoberfläche ziehen. Die Bilder sollten je nach Rechnerleistung nicht zu groß sein, ansonsten ist flüssiges Experimentieren nicht möglich. Es kann jeweils nur eine Filterart ausgewählt werden, aber man kann das gefilterte Ergebniss speichern, und wieder per Drag & Drop auf die Programmoberfläche ziehen, und weiter filtern. Der save-Button speichert das gewünschte Bild im lokalen Ordner (dort, wo das Programm liegt).
Testbild
Ein Porträt, das mit zwei starken, orthogonal laufenden 7Hz-Sinuswellen gestört ist.
Screenshot
Das obige Bild wird mit der Bandsperre gefiltert, das die 7Hz-Störung unterdrückt.
Anmerkung: Die Frequenzangabe im Programm ist mit Vorsicht zu genießen.
Sie ist nur exakt entlang der Seitenhalbierenden
im Frequenzraum, d.h. wenn die Frequenzkomponnenten auf den Seitenhalbieren liegen, was hier beim Testbild NICHT der Fall
ist.
Übrigens besteht eine Sinuswelle aus 2 Peaks ! symmetrisch zum Ursprung. (siehe Testbilder unten)
weitere Testbilder
Durch Ebenenüberlagerung in Bildbearbeitungsprogrammen lassen sich eigene Testbilder anfertigen.
13 Hz Sinus
13.5 Hz Sinus
Eine Querschnittsaufnahme einer Wirbelsäule mit einer 17 Hz Sinus Störung