gen_bandpassgen_bandpassGenBandpassGenBandpassgen_bandpass (Operator)
Name
gen_bandpassgen_bandpassGenBandpassGenBandpassgen_bandpass — Erzeugen eines idealen Bandpassfilters.
Signatur
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)
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 HImage::GenBandpass(double MinFrequency, double MaxFrequency, const wchar_t* Norm, const wchar_t* Mode, Hlong Width, Hlong Height)
(Nur Windows)
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_bandpassGenBandpassGenBandpassGenBandpassgen_bandpass erzeugt einen idealen Bandpassfilter im
Frequenzraum. Die Frequenzen geben die Parameter
MinFrequencyMinFrequencyMinFrequencyMinFrequencyminFrequencymin_frequency und MaxFrequencyMaxFrequencyMaxFrequencyMaxFrequencymaxFrequencymax_frequency vor. Die Frequenzen
werden als Bruchteil der maximalen (horizontalen und vertikalen)
Frequenz, die in einem Bild der Größe WidthWidthWidthWidthwidthwidth
x HeightHeightHeightHeightheightheight möglich ist, angegeben, d.h.
MinFrequencyMinFrequencyMinFrequencyMinFrequencyminFrequencymin_frequency und MaxFrequencyMaxFrequencyMaxFrequencyMaxFrequencymaxFrequencymax_frequency 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_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
bzw. ob der Filter für die reelle FFT erzeugt werden 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. Falls rft_genericrft_genericRftGenericRftGenericRftGenericrft_generic
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.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Parameter
ImageBandpassImageBandpassImageBandpassImageBandpassimageBandpassimage_bandpass (output_object) image → objectHImageHObjectHImageHobject * (real)
Bandpass im Frequenzraum.
MinFrequencyMinFrequencyMinFrequencyMinFrequencyminFrequencymin_frequency (input_control) real → HTuplefloatHTupleHtuple (real) (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
MaxFrequencyMaxFrequencyMaxFrequencyMaxFrequencymaxFrequencymax_frequency (input_control) real → HTuplefloatHTupleHtuple (real) (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 → 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", 'rft'"rft""rft""rft""rft""rft"
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)
* 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_bandpassGenBandpassGenBandpassGenBandpassgen_bandpass
den Wert TRUE. Gegebenenfalls wird eine Fehlerbehandlung
durchgeführt.
Nachfolger
convol_fftconvol_fftConvolFftConvolFftConvolFftconvol_fft
Siehe auch
gen_highpassgen_highpassGenHighpassGenHighpassGenHighpassgen_highpass,
gen_lowpassgen_lowpassGenLowpassGenLowpassGenLowpassgen_lowpass,
gen_bandfiltergen_bandfilterGenBandfilterGenBandfilterGenBandfiltergen_bandfilter,
gen_gauss_filtergen_gauss_filterGenGaussFilterGenGaussFilterGenGaussFiltergen_gauss_filter,
gen_mean_filtergen_mean_filterGenMeanFilterGenMeanFilterGenMeanFiltergen_mean_filter,
gen_derivative_filtergen_derivative_filterGenDerivativeFilterGenDerivativeFilterGenDerivativeFiltergen_derivative_filter
Modul
Foundation