KlassenKlassenKlassenKlassen | | | | Operatoren

gen_gaborgen_gaborGenGaborgen_gaborGenGaborGenGabor (Operator)

Name

gen_gaborgen_gaborGenGaborgen_gaborGenGaborGenGabor — 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)

Herror 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)

HImage HImage::GenGabor(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 HOperatorSetX.GenGabor(
[out] IHUntypedObjectX*ImageFilter, [in] VARIANT Angle, [in] VARIANT Frequency, [in] VARIANT Bandwidth, [in] VARIANT Orientation, [in] VARIANT Norm, [in] VARIANT Mode, [in] VARIANT Width, [in] VARIANT Height)

void HImageX.GenGabor(
[in] double Angle, [in] double Frequency, [in] double Bandwidth, [in] double Orientation, [in] BSTR Norm, [in] BSTR Mode, [in] Hlong Width, [in] Hlong Height)

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)

Beschreibung

gen_gaborgen_gaborGenGaborgen_gaborGenGaborGenGabor 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_genericFftGenericfft_genericFftGenericFftGeneric 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_genericFftGenericfft_genericFftGenericFftGeneric verwendet wird, kann zur Effizienzsteigerung 'dc_edge'"dc_edge""dc_edge""dc_edge""dc_edge""dc_edge" verwendet werden. Falls fft_imagefft_imageFftImagefft_imageFftImageFftImage und fft_image_invfft_image_invFftImageInvfft_image_invFftImageInvFftImageInv 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_gaborGenGaborgen_gaborGenGaborGenGabor keinen Filter für rft_genericrft_genericRftGenericrft_genericRftGenericRftGeneric 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.

Parallelisierung

Parameter

ImageFilterImageFilterImageFilterImageFilterImageFilterimageFilter (output_object)  multichannel-image objectHImageHImageHImageHImageXHobject * (real)

Gabor- und Hilbertfilter.

AngleAngleAngleAngleAngleangle (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (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 HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (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 HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (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 HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (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 HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (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 HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (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 HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Breite des Bildes (Filters).

Defaultwert: 512

Werteliste: 128, 160, 192, 256, 320, 384, 512, 640, 768, 1024, 2048, 4096, 8192

HeightHeightHeightHeightHeightheight (input_control)  integer HTupleHTupleHTupleVARIANTHtuple (integer) (int / long) (Hlong) (Hlong) (Hlong) (Hlong)

Höhe des Bildes (Filters).

Defaultwert: 512

Werteliste: 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_gaborGenGaborgen_gaborGenGaborGenGabor den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

fft_imagefft_imageFftImagefft_imageFftImageFftImage, fft_genericfft_genericFftGenericfft_genericFftGenericFftGeneric

Nachfolger

convol_gaborconvol_gaborConvolGaborconvol_gaborConvolGaborConvolGabor

Alternativen

gen_bandpassgen_bandpassGenBandpassgen_bandpassGenBandpassGenBandpass, gen_bandfiltergen_bandfilterGenBandfiltergen_bandfilterGenBandfilterGenBandfilter, gen_highpassgen_highpassGenHighpassgen_highpassGenHighpassGenHighpass, gen_lowpassgen_lowpassGenLowpassgen_lowpassGenLowpassGenLowpass

Siehe auch

fft_image_invfft_image_invFftImageInvfft_image_invFftImageInvFftImageInv, energy_gaborenergy_gaborEnergyGaborenergy_gaborEnergyGaborEnergyGabor

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren