gen_gabor
— Erzeugen eines Gaborfilters.
gen_gabor( : ImageFilter : Angle, Frequency, Bandwidth, Orientation, Norm, Mode, Width, Height : )
gen_gabor
erzeugt einen Gaborfilter, dessen
Bandpassverhalten und die zugehörigen Signumwerte für die
Berechnung der Hilberttransformierten durch die Eingabeparameter
einstellbar ist. Dazu wird ein symmetrischer Filter im Frequenzraum
errechnet, der sich durch die Parameter Angle
,
Frequency
, Bandwidth
und Orientation
so
einstellen lässt, dass ein bestimmter Frequenzbereich in einem
bestimmten Richtungsbereich eines Bildes im Ortsraum durch die
Faltung im Ortsfrequenzraum herausgefiltert wird.
Die Parameter Frequency
(Mittenfrequenz = Abstand vom
Mittelpunkt) und Orientation
(Winkel) geben das Zentrum des
Filters an. Größere Werte von Frequency
ergeben höhere
Frequenzen. Ein Wert von 0 bei Orientation
erzeugt eine
„Sichel“ die horizontal ausgerichtet ist (Öffnung nach
„unten“). Höhere Winkelwerte lassen die Sichel in mathematisch
positiver Richtung rotieren.
Mit den Parametern Angle
und Bandwidth
kann die
Größe des Richtungsbereiches und des Frequenzbereiches geändert
werden. Je größer der Parameter Angle
ist, desto kleiner
wird der Winkelbereich (kürzere Sichel), das heißt, desto kleiner
wird der Richtungsbereich. Je größer der Parameter
Bandwidth
, desto kleiner wird der Frequenzbereich (dünnere
Sichel).
Um eine maximale Effizienz der gesamten Filterung zu erreichen, kann
mit Norm
der Normierungsfaktor des Filters festgelegt
werden. Somit kann eine Normierung in der FFT unterbleiben, falls
fft_generic
verwendet wird, falls Norm
=
'n' verwendet wird. Mit Mode
kann festgelegt
werden, wo der Nullfrequenz der FFT liegen soll. Falls
fft_generic
verwendet wird, kann zur Effizienzsteigerung
'dc_edge' verwendet werden. Falls fft_image
und
fft_image_inv
zur Filterung verwendet werden, muss
Norm
= 'none' und Mode
=
'dc_center' verwendet werden. Es ist zu beachten, dass
gen_gabor
keinen Filter für rft_generic
erzeugen
kann.
Die Berechnung liefert ein zweikanaliges Real-Bild, welches im ersten Kanal den Gaborfilter und im zweiten Kanal den zugehörigen Hilbertfilter enthält.
ImageFilter
(output_object) multichannel-image →
object (real)
Gabor- und Hilbertfilter.
Angle
(input_control) real →
(real)
Winkel, indirekt proportional zur Größe des Richtungsbereichs.
Defaultwert: 1.4
Wertevorschläge: 1.0, 1.2, 1.4, 1.6, 2.0, 2.5, 3.0, 5.0, 6.0, 10.0, 20.0, 30.0, 50.0, 70.0, 100.0
Typischer Wertebereich: 1.0
≤
Angle
≤
500.0
Minimale Schrittweite: 0.001
Empfohlene Schrittweite: 0.1
Frequency
(input_control) real →
(real)
Abstand des Filterschwerpunktes vom Mittelpunkt.
Defaultwert: 0.4
Wertevorschläge: 0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.50, 0.55, 0.60, 0.65, 0.699
Typischer Wertebereich: 0.0
≤
Frequency
≤
0.7
Minimale Schrittweite: 0.00001
Empfohlene Schrittweite: 0.005
Bandwidth
(input_control) real →
(real)
Bandbreite, indirekt proportional zur Größe des Frequenzbereichs.
Defaultwert: 1.0
Wertevorschläge: 0.1, 0.3, 0.7, 1.0, 1.5, 2.0, 3.0, 5.0, 7.0, 10.0, 15.0, 20.0, 30.0, 50.0
Typischer Wertebereich: 0.05
≤
Bandwidth
≤
100.0
Minimale Schrittweite: 0.001
Empfohlene Schrittweite: 0.1
Orientation
(input_control) real →
(real)
Richtung, legt zusammen mit Frequency die Lage des Filterschwerpunktes fest.
Defaultwert: 1.5
Wertevorschläge: 0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4, 2.6, 2.8, 3.0, 3.14
Typischer Wertebereich: 0.0
≤
Orientation
≤
3.1416
Minimale Schrittweite: 0.0001
Empfohlene Schrittweite: 0.05
Norm
(input_control) string →
(string)
Normierung des Filters.
Defaultwert: 'none'
Werteliste: 'n' , 'none'
Mode
(input_control) string →
(string)
Position der Nullfrequenz im Frequenzraum.
Defaultwert: 'dc_center'
Werteliste: 'dc_center' , 'dc_edge'
Width
(input_control) integer →
(integer)
Breite des Bildes (Filters).
Defaultwert: 512
Wertevorschläge: 128, 160, 192, 256, 320, 384, 512, 640, 768, 1024, 2048, 4096, 8192
Height
(input_control) integer →
(integer)
Höhe des Bildes (Filters).
Defaultwert: 512
Wertevorschläge: 120, 128, 144, 240, 256, 288, 480, 512, 576, 1024, 2048, 4096, 8192
gen_gabor(Filter,1.4,0.4,1.0,1.5,'n','dc_edge',512,512) fft_generic(Image,ImageFFT,'to_freq',-1,'none','dc_edge','complex') convol_gabor(ImageFFT,Filter,Gabor,Hilbert) fft_generic(Gabor,GaborInv,'from_freq',1,'none','dc_edge','byte') fft_generic(Hilbert,HilbertInv,'from_freq',1,'none','dc_edge','byte') energy_gabor(GaborInv,HilbertInv,Energy)
Sind die Parameterwerte korrekt, dann liefert gen_gabor
den
Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung
durchgeführt.
gen_bandpass
,
gen_bandfilter
,
gen_highpass
,
gen_lowpass
Foundation