Eine Matlab-Implementierung finden Sie in dieser Antwort: https://dsp.stackexchange.com/a/14201/5737
1) Die Wikipedia-Formel ist etwas zu allgemein.
2) Wenn Sie die Grundlagen der Fourier-Transformation kennen, wissen Sie empirisch Folgendes: Das Bild wird als durch Überlagerung einer Reihe von Sinuswellen verschiedener Frequenzen in alle Richtungen orientiert betrachtet. Jedes "Pixel" in der Transformation gibt die "Intensität" einer solchen Welle an. Die Position des "Pixels" gibt Auskunft über die Frequenz und Ausrichtung der Welle. In der Praxis möchte man nur bestimmte Wellen mit einer bestimmten Frequenz und einer bestimmten Ausrichtung auswählen.
Da haben Sie es also: Die Gabor-Transformation ist einer von vielen sogenannten Bandpassfiltern, mit denen Sie die Fourier-Transformation "schneiden" und nur bestimmte Informationen isolieren können. Eine weitere wichtige Information ist, dass jedes Fourier- "Pixel" ein komplexer Wert ist (Real- und Imaginärteil).
3) Parameter: Zwei Parameter werden bereits angezeigt:
3.a) Die Abstimmfrequenz oder die Abstimmperiode oder legen fest, auf welche Art von Sinuswelle das Filter am besten reagiert. ( oder abhängig von der spezifischen Implementierung) Grundsätzlich bedeutet ein kleineres eine dichtere Sinuswelle. Ein größeres bedeutet größere Wellen. ist in Pixel (3, 5, 30 usw. Pixel) angegeben. Gehen Sie nicht unter 3 Pixel oder über , da sonst böse Effekte auftreten. ist die Breite des Bildes, wenn das Bild quadratisch ist. Sie geben dies mit dem Parameter P0 im Matlab-Code an.f0P0λf=1/P0=1/λf=π/λP0P0P0W/2W
3.b) Zentralwinkel. Diese Wellen können beliebige Richtungen haben. Sie möchten nur Wellen in einem bestimmten Winkel auswählen. Der zweite Parameter ist also der Abstimmungswinkel oder in Ihrer Formel. Normalerweise im Bogenmaß. Orientieren Sie sich im Matlab-Code.θ0θ
Man kann nicht nur eine bestimmte Frequenz oder eine bestimmte Ausrichtung isolieren. (Suche nach dem Unsicherheitsprinzip in den Lehrbüchern. Ja, ähnelt dem in der Physik.) Man kann jedoch einstellen, wie viel der nahegelegenen Frequenzen auslaufen wird. Die nächsten beiden Parameter geben Folgendes an:
3.c) , Frequenzbandbreite ausgedrückt in Oktaven. Nützliche Werte, 1,5, 2, 3. Größere Werte bedeuten, dass ein breiterer Frequenzbereich erfasst wird. Es gibt einen Preis für einen engeren Bandpass, eine schlechtere räumliche Lokalisierung. Warum wieder Lehrbuch. FBW im Matlab-Code.ΔF
3.d) die Winkelbandbreite. Im Bogenmaß ausgedrückt. oder funktioniert einwandfrei. ABW im Matlab-Code.Δθπ/3π/2
Die Beziehung zwischen , aus dem Matlab-Code und aus Wikipedia hat eine Formel, ist aber für das Verständnis von Gabor nicht wesentlich. ist wiederum nicht wichtig für das Grundverständnis.ΔfΔθσ,γψ
Sie haben es also: aus Wikipedia ist eine 2D-Zahlenmatrix mit einer Faltungsmaske. Sie nehmen das Originalbild auf, filtern es mit der Faltungsmaske und erhalten ein weiteres Bild. Dieses neue Bild ist die "Gabor-Antwort" für das Originalbild.X
Der Matlab-Code führt diese beiden Schritte zusammen aus. Konstruiert den Gabor-Filter mit den angegebenen Parametern und führt die Faltung durch. Die Ergebnisse ReConv, ImConv sind die Antworten. Jedes Antwort- "Pixel" hat einen Real- und einen Imaginärteil. Wenn Sie diesen Code verwenden möchten, müssen Sie normalerweise die Energie für die Antwort berechnen: wobei der Realteil der Antwort (ReConv) und der Imaginärteil (ImConv) ist ) für jedes Pixel.E=a2+b2−−−−−−√ab
Dort haben Sie es: 1) Erstellen Sie einen Gabor-Filter, der angibt.
2) Falten Sie Ihr Bild mit dem Filter. Sie erhalten zwei Werte pro Pixel. 3) Berechnen Sie die Energie und erhalten Sie die Intensität der Antwort für jedes Pixel im Originalbild; & thgr; E.P0,θ0,Δf,ΔθE
Eine andere Intuition: Angenommen, Sie möchten Kanten auswählen, die sich in einer Ausrichtung senkrecht zu und einer bestimmten Breite von 20 Pixeln erstrecken. Sie können einen Gabor-Filter mit . Achten Sie darauf, dass zwischen der Abmessung Ihrer Kante und dem Parameter keine gleiche Beziehung besteht . Sie sollten verschiedene Werte ausprobieren und sehen, was am besten funktioniert. Die anderen Parameter ( ) berühren sie, wenn Sie Erfahrung mit der Abstimmung der ersten beiden haben.P 0 ≈ 20 , θ 0 = π / 6 , Δ f = 2 , Δ θ = p i / 2 P 0 Δ f , Δ θπ/6P0≈20,θ0=π/6,Δf=2,Δθ=pi/2P0Δf,Δθ
Ich hoffe es hilft!
Cristi
Aktualisieren
Hier ist eine Seite, auf der Sie ein bisschen mit Gabor-Parametern spielen und die Ergebnisse notieren können: http://www.cogsci.nl/pages/gabor-generator.php
Nach einem kurzen Blick werden sowohl Frequenz- als auch Winkelbandbreiten als "Standardabweichung in Pixel ... an die Gauß-Hüllkurve" miteinander verknüpft. Der Rest der Parameter ist leicht zu identifizieren. Beachten Sie jedoch, dass es numerische Unterschiede gibt! Z.B. Die Phase kann in Intervallen von 0-1 oder 0- ausgedrückt werden.π