Ich habe gerade etwas über den Frequenzbereich in Bildern gelernt.
Ich kann das Frequenzspektrum bei Wellen verstehen. Es gibt an, welche Frequenzen in einer Welle vorhanden sind. Zeichnen wir das Frequenzspektrum von , so erhalten wir ein Impulssignal bei und . Und wir können entsprechende Filter verwenden, um bestimmte Informationen zu extrahieren.
Aber was bedeutet Frequenzspektrum bei Bildern? Wenn wir die FFT eines Bildes in OpenCV aufnehmen, erhalten wir ein seltsames Bild. Was bedeutet dieses Bild? Und wie ist ihre Anwendung?
Ich habe einige Bücher gelesen, aber sie geben viele mathematische Gleichungen und nicht die physikalische Implikation. Kann jemand also eine einfache Erklärung des Frequenzbereichs in Bildern mit einer einfachen Anwendung in der Bildverarbeitung bereitstellen?
quelle
Antworten:
Die "mathematischen Gleichungen" sind wichtig, überspringen Sie sie also nicht ganz. Die 2d FFT ist aber auch intuitiv zu interpretieren. Zur Veranschaulichung habe ich die inverse FFT einiger Beispielbilder berechnet:
Wie Sie sehen, ist im Frequenzbereich nur ein Pixel eingestellt. Das Ergebnis in der Bilddomäne (ich habe nur den Realteil angezeigt) ist ein "gedrehtes Kosinusmuster" (der Imaginärteil wäre der entsprechende Sinus).
Wenn ich im Frequenzbereich (am linken Rand) ein anderes Pixel einstelle:
Ich erhalte ein anderes 2D-Frequenzmuster.
Wenn ich mehr als ein Pixel im Frequenzbereich einstelle:
Sie erhalten die Summe von zwei Cosinus.
So wie eine 1d-Welle, die als Summe von Sinus und Cosinus dargestellt werden kann, kann jedes 2d-Bild (lose gesprochen) als Summe von "gedrehten Sinus und Cosinus" dargestellt werden, wie oben gezeigt.
Es gibt die Amplituden und Frequenzen der Sinus / Cosinus an, die, wenn sie addiert werden, das ursprüngliche Bild ergeben.
Es gibt wirklich zu viele, um sie alle zu nennen. Korrelation und Faltung können mit einer FFT sehr effizient berechnet werden, aber das ist eher eine Optimierung. Sie "sehen" sich das FFT-Ergebnis dafür nicht an. Es wird für die Bildkomprimierung verwendet, da die Hochfrequenzkomponenten normalerweise nur Rauschen sind.
quelle
InverseFourier
Funktion benutzt.ifft2
Tun Octave / Matlab nicht dasselbe?Ich denke, dies wurde sehr gut in den bekannten "DSP-Leitfaden" ( Kapitel 24, Abschnitt 5 ) aufgenommen:
Das scheinbar zufällige Muster, das durch die Aufnahme der DFT eines typischen Bildes (wie im folgenden Beispiel) erhalten wird, hat natürlich eine gewisse Struktur und Bedeutung, aber es liegt nicht in einer Form vor, die das menschliche Gehirn intuitiv verstehen möchte. zumindest in Bezug auf die visuelle Wahrnehmung.
Hier ist eine weitere interessante und gut lesbare Darstellung dessen, was in einer Fourier-Transformation eines Bildes enthalten ist und wie es interpretiert werden kann. Es enthält eine Reihe von Bildern, die deutlich machen, welche Korrespondenz zwischen dem Fourier-transformierten und dem Originalbild besteht.
Bearbeiten: Schauen Sie sich auch diese Seite an , die zeigt, wie die meisten für die Wahrnehmung wichtigen Informationen eines Bildes in der Phasen- (Winkel-) Komponente der Frequenzdarstellung gespeichert sind.
edit 2: ein weiteres Beispiel für die Bedeutung von Phase und Betrag in der Fourier-Darstellung: "Abschnitt 3.4.1, Bedeutung von Phase und Betrag" in TU Delfts Lehrbuch " Grundlagen der Bildverarbeitung " zeigt dies ganz deutlich:
quelle
Die Welle ist eine eindimensionale Welle; es kommt nur auf . Die Welle ist eine zweidimensionale Welle. Es hängt von und . Wie Sie sehen, haben Sie zwei Frequenzen in beide Richtungen.t f ( x , y ) = c o s ( ω x + ψ y ) x yf(t)=cos(ωt) t f(x,y)=cos(ωx+ψy) x y
Daher ist die Fourier - Transformation (FFT) von geben Ihnen , genau wie die FFT von gibt Ihnen . Und wenn Ihre Eingabe eine Funktion ist, die 2D-Cosinus summiert, dann ist Ihre 2D-FFT die Summe der Frequenzen dieser Cosinus - wieder ein direktes Analogon der 1D-FFT.ω , ψ c o s ( ω x ) ωcos(ωx+ψy) ω,ψ cos(ωx) ω
quelle
Es kann erwähnenswert sein, dass die Fourier-Analyse ein Spezialfall eines Konzepts ist, das als orthogonale Funktionen bezeichnet wird . Die Grundidee ist, dass Sie ein kompliziertes Signal in eine lineare Überlagerung von einfacheren "Basis" -Funktionen zerlegen. Sie können die Basisfunktionen verarbeiten oder analysieren und dann die Ergebnisse für die Basisfunktionen summieren, um das Ergebnis für das ursprüngliche Signal zu erhalten.
Damit dies funktioniert, gibt es bestimmte mathematische Anforderungen an die Basisfunktionen, dh sie bilden idealerweise eine orthonormale Basis. Bei der Fourier-Transformation sind die Basisfunktionen komplexe Exponentiale. Es gibt jedoch auch viele andere Funktionen, die dafür verwendet werden können.
quelle
In Bildern ist eine zunehmende Frequenz mit abrupteren Übergängen in Helligkeit oder Farbe verbunden. Darüber hinaus ist das Rauschen normalerweise im oberen Bereich des Spektrums eingebettet, sodass eine Tiefpassfilterung zur Rauschunterdrückung verwendet werden kann.
quelle
in diesem zusammenhang eine sehr schöne demo: http://bigwww.epfl.ch/demo/basisfft/index.html
quelle