< 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.

Portrait mit Störung

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)

Screenshot

weitere Testbilder

Durch Ebenenüberlagerung in Bildbearbeitungsprogrammen lassen sich eigene Testbilder anfertigen.

13 Hz Sinus

13 Hz Sinus

13.5 Hz Sinus

13.5 Hz Sinus

Eine Querschnittsaufnahme einer Wirbelsäule mit einer 17 Hz Sinus Störung

Wirbelsäule 17 Hz Sinus