KlassenKlassenKlassenKlassen | | | | Operatoren

gen_bandpassgen_bandpassGenBandpassgen_bandpassGenBandpassGenBandpass (Operator)

Name

gen_bandpassgen_bandpassGenBandpassgen_bandpassGenBandpassGenBandpass — Erzeugen eines idealen Bandpassfilters.

Signatur

gen_bandpass( : ImageBandpass : MinFrequency, MaxFrequency, Norm, Mode, Width, Height : )

Herror gen_bandpass(Hobject* ImageBandpass, double MinFrequency, double MaxFrequency, const char* Norm, const char* Mode, const Hlong Width, const Hlong Height)

Herror T_gen_bandpass(Hobject* ImageBandpass, const Htuple MinFrequency, const Htuple MaxFrequency, const Htuple Norm, const Htuple Mode, const Htuple Width, const Htuple Height)

Herror gen_bandpass(Hobject* ImageBandpass, const HTuple& MinFrequency, const HTuple& MaxFrequency, const HTuple& Norm, const HTuple& Mode, const HTuple& Width, const HTuple& Height)

HImage HImage::GenBandpass(const HTuple& MinFrequency, const HTuple& MaxFrequency, const HTuple& Norm, const HTuple& Mode, const HTuple& Width, const HTuple& Height)

void GenBandpass(HObject* ImageBandpass, const HTuple& MinFrequency, const HTuple& MaxFrequency, const HTuple& Norm, const HTuple& Mode, const HTuple& Width, const HTuple& Height)

void HImage::GenBandpass(double MinFrequency, double MaxFrequency, const HString& Norm, const HString& Mode, Hlong Width, Hlong Height)

void HImage::GenBandpass(double MinFrequency, double MaxFrequency, const char* Norm, const char* Mode, Hlong Width, Hlong Height)

void HOperatorSetX.GenBandpass(
[out] IHUntypedObjectX*ImageBandpass, [in] VARIANT MinFrequency, [in] VARIANT MaxFrequency, [in] VARIANT Norm, [in] VARIANT Mode, [in] VARIANT Width, [in] VARIANT Height)

void HImageX.GenBandpass(
[in] double MinFrequency, [in] double MaxFrequency, [in] BSTR Norm, [in] BSTR Mode, [in] Hlong Width, [in] Hlong Height)

static void HOperatorSet.GenBandpass(out HObject imageBandpass, HTuple minFrequency, HTuple maxFrequency, HTuple norm, HTuple mode, HTuple width, HTuple height)

void HImage.GenBandpass(double minFrequency, double maxFrequency, string norm, string mode, int width, int height)

Beschreibung

gen_bandpassgen_bandpassGenBandpassgen_bandpassGenBandpassGenBandpass erzeugt einen idealen Bandpassfilter im Frequenzraum. Die Frequenzen geben die Parameter MinFrequencyMinFrequencyMinFrequencyMinFrequencyMinFrequencyminFrequency und MaxFrequencyMaxFrequencyMaxFrequencyMaxFrequencyMaxFrequencymaxFrequency vor. Die Frequenzen werden als Bruchteil der maximalen (horizontalen und verikalen) Frequenz, die in einem Bild der Größe WidthWidthWidthWidthWidthwidth x HeightHeightHeightHeightHeightheight möglich ist, angegeben, d.h. MinFrequencyMinFrequencyMinFrequencyMinFrequencyMinFrequencyminFrequency und MaxFrequencyMaxFrequencyMaxFrequencyMaxFrequencyMaxFrequencymaxFrequency sollten zwischen 0 und 1 liegen. 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 bzw. ob der Filter für die reelle FFT erzeugt werden 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. Falls rft_genericrft_genericRftGenericrft_genericRftGenericRftGeneric verwendet wird, muss ModeModeModeModeModemode = 'rft'"rft""rft""rft""rft""rft" verwendet werden. Das Ergebnis ist ein Bild, das mit Ausnahme eines Ringes auf Null gesetzt ist.

Parallelisierung

Parameter

ImageBandpassImageBandpassImageBandpassImageBandpassImageBandpassimageBandpass (output_object)  image objectHImageHImageHImageHImageXHobject * (real)

Bandpass im Frequenzraum.

MinFrequencyMinFrequencyMinFrequencyMinFrequencyMinFrequencyminFrequency (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Minimale Frequenz.

Defaultwert: 0.1

Wertevorschläge: 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0

Restriktion: MinFrequency >= 0

MaxFrequencyMaxFrequencyMaxFrequencyMaxFrequencyMaxFrequencymaxFrequency (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Maximale Frequenz.

Defaultwert: 0.2

Wertevorschläge: 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0

Restriktion: MaxFrequency >= 0 && MaxFrequency >= MinFrequency

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", 'rft'"rft""rft""rft""rft""rft"

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)

* Filtering with maximum efficiency with fft_generic.
gen_bandpass(Bandpass,0.2,0.4,'n','dc_edge',Width,Height)
fft_generic(Image,ImageFFT,'to_freq',-1,'none','dc_edge','complex')
convol_fft(ImageFFT,Bandpass,ImageConvol)
fft_generic(ImageConvol,ImageResult,'from_freq',1,'none','dc_edge','byte')

Ergebnis

Sind die Parameter korrekt, dann liefert gen_bandpassgen_bandpassGenBandpassgen_bandpassGenBandpassGenBandpass den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Nachfolger

convol_fftconvol_fftConvolFftconvol_fftConvolFftConvolFft

Siehe auch

gen_highpassgen_highpassGenHighpassgen_highpassGenHighpassGenHighpass, gen_lowpassgen_lowpassGenLowpassgen_lowpassGenLowpassGenLowpass, gen_bandfiltergen_bandfilterGenBandfiltergen_bandfilterGenBandfilterGenBandfilter, gen_gauss_filtergen_gauss_filterGenGaussFiltergen_gauss_filterGenGaussFilterGenGaussFilter, gen_mean_filtergen_mean_filterGenMeanFiltergen_mean_filterGenMeanFilterGenMeanFilter, gen_derivative_filtergen_derivative_filterGenDerivativeFiltergen_derivative_filterGenDerivativeFilterGenDerivativeFilter

Modul

Foundation


KlassenKlassenKlassenKlassen | | | | Operatoren