gen_gaborgen_gaborGenGaborGenGaborgen_gabor (Operator)

Name

gen_gaborgen_gaborGenGaborGenGaborgen_gabor — Erzeugen eines Gaborfilters.

Signatur

gen_gabor( : ImageFilter : Angle, Frequency, Bandwidth, Orientation, Norm, Mode, Width, Height : )

Herror gen_gabor(Hobject* ImageFilter, double Angle, double Frequency, double Bandwidth, double Orientation, const char* Norm, const char* Mode, const Hlong Width, const Hlong Height)

Herror T_gen_gabor(Hobject* ImageFilter, const Htuple Angle, const Htuple Frequency, const Htuple Bandwidth, const Htuple Orientation, const Htuple Norm, const Htuple Mode, const Htuple Width, const Htuple Height)

void GenGabor(HObject* ImageFilter, const HTuple& Angle, const HTuple& Frequency, const HTuple& Bandwidth, const HTuple& Orientation, const HTuple& Norm, const HTuple& Mode, const HTuple& Width, const HTuple& Height)

void HImage::GenGabor(double Angle, double Frequency, double Bandwidth, double Orientation, const HString& Norm, const HString& Mode, Hlong Width, Hlong Height)

void HImage::GenGabor(double Angle, double Frequency, double Bandwidth, double Orientation, const char* Norm, const char* Mode, Hlong Width, Hlong Height)

void HImage::GenGabor(double Angle, double Frequency, double Bandwidth, double Orientation, const wchar_t* Norm, const wchar_t* Mode, Hlong Width, Hlong Height)   (Nur Windows)

static void HOperatorSet.GenGabor(out HObject imageFilter, HTuple angle, HTuple frequency, HTuple bandwidth, HTuple orientation, HTuple norm, HTuple mode, HTuple width, HTuple height)

void HImage.GenGabor(double angle, double frequency, double bandwidth, double orientation, string norm, string mode, int width, int height)

def gen_gabor(angle: float, frequency: float, bandwidth: float, orientation: float, norm: str, mode: str, width: int, height: int) -> HObject

Beschreibung

gen_gaborgen_gaborGenGaborGenGaborGenGaborgen_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 AngleAngleAngleAngleangleangle, FrequencyFrequencyFrequencyFrequencyfrequencyfrequency, BandwidthBandwidthBandwidthBandwidthbandwidthbandwidth und OrientationOrientationOrientationOrientationorientationorientation 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 FrequencyFrequencyFrequencyFrequencyfrequencyfrequency (Mittenfrequenz = Abstand vom Mittelpunkt) und OrientationOrientationOrientationOrientationorientationorientation (Winkel) geben das Zentrum des Filters an. Größere Werte von FrequencyFrequencyFrequencyFrequencyfrequencyfrequency ergeben höhere Frequenzen. Ein Wert von 0 bei OrientationOrientationOrientationOrientationorientationorientation erzeugt eine „Sichel“ die horizontal ausgerichtet ist (Öffnung nach „unten“). Höhere Winkelwerte lassen die Sichel in mathematisch positiver Richtung rotieren.

Mit den Parametern AngleAngleAngleAngleangleangle und BandwidthBandwidthBandwidthBandwidthbandwidthbandwidth kann die Größe des Richtungsbereiches und des Frequenzbereiches geändert werden. Je größer der Parameter AngleAngleAngleAngleangleangle ist, desto kleiner wird der Winkelbereich (kürzere Sichel), das heißt, desto kleiner wird der Richtungsbereich. Je größer der Parameter BandwidthBandwidthBandwidthBandwidthbandwidthbandwidth, desto kleiner wird der Frequenzbereich (dünnere Sichel).

Um eine maximale Effizienz der gesamten Filterung zu erreichen, kann mit NormNormNormNormnormnorm der Normierungsfaktor des Filters festgelegt werden. Somit kann eine Normierung in der FFT unterbleiben, falls fft_genericfft_genericFftGenericFftGenericFftGenericfft_generic verwendet wird, falls NormNormNormNormnormnorm = 'n'"n""n""n""n""n" verwendet wird. Mit ModeModeModeModemodemode kann festgelegt werden, wo der Nullfrequenz der FFT liegen soll. Falls fft_genericfft_genericFftGenericFftGenericFftGenericfft_generic verwendet wird, kann zur Effizienzsteigerung 'dc_edge'"dc_edge""dc_edge""dc_edge""dc_edge""dc_edge" verwendet werden. Falls fft_imagefft_imageFftImageFftImageFftImagefft_image und fft_image_invfft_image_invFftImageInvFftImageInvFftImageInvfft_image_inv zur Filterung verwendet werden, muss NormNormNormNormnormnorm = 'none'"none""none""none""none""none" und ModeModeModeModemodemode = 'dc_center'"dc_center""dc_center""dc_center""dc_center""dc_center" verwendet werden. Es ist zu beachten, dass gen_gaborgen_gaborGenGaborGenGaborGenGaborgen_gabor keinen Filter für rft_genericrft_genericRftGenericRftGenericRftGenericrft_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.

Ausführungsinformationen

Parameter

ImageFilterImageFilterImageFilterImageFilterimageFilterimage_filter (output_object)  multichannel-image objectHImageHObjectHImageHobject * (real)

Gabor- und Hilbertfilter.

AngleAngleAngleAngleangleangle (input_control)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

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 Angle Angle Angle angle angle ≤ 500.0

Minimale Schrittweite: 0.001

Empfohlene Schrittweite: 0.1

FrequencyFrequencyFrequencyFrequencyfrequencyfrequency (input_control)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

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 Frequency Frequency Frequency frequency frequency ≤ 0.7

Minimale Schrittweite: 0.00001

Empfohlene Schrittweite: 0.005

BandwidthBandwidthBandwidthBandwidthbandwidthbandwidth (input_control)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

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 Bandwidth Bandwidth Bandwidth bandwidth bandwidth ≤ 100.0

Minimale Schrittweite: 0.001

Empfohlene Schrittweite: 0.1

OrientationOrientationOrientationOrientationorientationorientation (input_control)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

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 Orientation Orientation Orientation orientation orientation ≤ 3.1416

Minimale Schrittweite: 0.0001

Empfohlene Schrittweite: 0.05

NormNormNormNormnormnorm (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Normierung des Filters.

Defaultwert: 'none' "none" "none" "none" "none" "none"

Werteliste: 'n'"n""n""n""n""n", 'none'"none""none""none""none""none"

ModeModeModeModemodemode (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Position der Nullfrequenz im Frequenzraum.

Defaultwert: 'dc_center' "dc_center" "dc_center" "dc_center" "dc_center" "dc_center"

Werteliste: 'dc_center'"dc_center""dc_center""dc_center""dc_center""dc_center", 'dc_edge'"dc_edge""dc_edge""dc_edge""dc_edge""dc_edge"

WidthWidthWidthWidthwidthwidth (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Breite des Bildes (Filters).

Defaultwert: 512

Wertevorschläge: 128, 160, 192, 256, 320, 384, 512, 640, 768, 1024, 2048, 4096, 8192

HeightHeightHeightHeightheightheight (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Höhe des Bildes (Filters).

Defaultwert: 512

Wertevorschläge: 120, 128, 144, 240, 256, 288, 480, 512, 576, 1024, 2048, 4096, 8192

Beispiel (HDevelop)

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)

Ergebnis

Sind die Parameterwerte korrekt, dann liefert gen_gaborgen_gaborGenGaborGenGaborGenGaborgen_gabor den Wert TRUE. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

fft_imagefft_imageFftImageFftImageFftImagefft_image, fft_genericfft_genericFftGenericFftGenericFftGenericfft_generic

Nachfolger

convol_gaborconvol_gaborConvolGaborConvolGaborConvolGaborconvol_gabor

Alternativen

gen_bandpassgen_bandpassGenBandpassGenBandpassGenBandpassgen_bandpass, gen_bandfiltergen_bandfilterGenBandfilterGenBandfilterGenBandfiltergen_bandfilter, gen_highpassgen_highpassGenHighpassGenHighpassGenHighpassgen_highpass, gen_lowpassgen_lowpassGenLowpassGenLowpassGenLowpassgen_lowpass

Siehe auch

fft_image_invfft_image_invFftImageInvFftImageInvFftImageInvfft_image_inv, energy_gaborenergy_gaborEnergyGaborEnergyGaborEnergyGaborenergy_gabor

Modul

Foundation