gen_std_bandpassgen_std_bandpassGenStdBandpassGenStdBandpass (Operator)
Name
gen_std_bandpassgen_std_bandpassGenStdBandpassGenStdBandpass
— Erzeugen eines Bandpassfilter in der Form einer Gaußmaske oder
Sinusfunktion.
Signatur
Herror gen_std_bandpass(Hobject* ImageFilter, double Frequency, double Sigma, const char* Type, const char* Norm, const char* Mode, const Hlong Width, const Hlong Height)
Herror T_gen_std_bandpass(Hobject* ImageFilter, const Htuple Frequency, const Htuple Sigma, const Htuple Type, const Htuple Norm, const Htuple Mode, const Htuple Width, const Htuple Height)
void GenStdBandpass(HObject* ImageFilter, const HTuple& Frequency, const HTuple& Sigma, const HTuple& Type, const HTuple& Norm, const HTuple& Mode, const HTuple& Width, const HTuple& Height)
void HImage::GenStdBandpass(double Frequency, double Sigma, const HString& Type, const HString& Norm, const HString& Mode, Hlong Width, Hlong Height)
void HImage::GenStdBandpass(double Frequency, double Sigma, const char* Type, const char* Norm, const char* Mode, Hlong Width, Hlong Height)
void HImage::GenStdBandpass(double Frequency, double Sigma, const wchar_t* Type, const wchar_t* Norm, const wchar_t* Mode, Hlong Width, Hlong Height)
(Nur Windows)
static void HOperatorSet.GenStdBandpass(out HObject imageFilter, HTuple frequency, HTuple sigma, HTuple type, HTuple norm, HTuple mode, HTuple width, HTuple height)
void HImage.GenStdBandpass(double frequency, double sigma, string type, string norm, string mode, int width, int height)
Beschreibung
gen_std_bandpassgen_std_bandpassGenStdBandpassGenStdBandpassGenStdBandpass
erzeugt einen rotationsinvarianten
Bandpassfilter, dessen Bandpassverhalten und durch zugehörige
Parameter FrequencyFrequencyFrequencyFrequencyfrequency
und SigmaSigmaSigmaSigmasigma
beschrieben werden:
FrequencyFrequencyFrequencyFrequencyfrequency
legt den Abstand vom Nullpunkt und SigmaSigmaSigmaSigmasigma
die Ausdehnung fest. FrequencyFrequencyFrequencyFrequencyfrequency
und SigmaSigmaSigmaSigmasigma
werden
als Bruchteil der maximalen (horizontalen und verikalen) Frequenz,
die in einem Bild der Größe WidthWidthWidthWidthwidth
x
HeightHeightHeightHeightheight
möglich ist, angegeben. FrequencyFrequencyFrequencyFrequencyfrequency
sollten
zwischen 0 und 1 liegen. Bei TypeTypeTypeTypetype
= 'gauss'"gauss""gauss""gauss""gauss" wird
eine Gaußfunktion erzeugt. SigmaSigmaSigmaSigmasigma
ist dabei die
Standardabweichung. Bei TypeTypeTypeTypetype
= 'sin'"sin""sin""sin""sin" wird eine
Sinusfunktion mit dem Maximum bei FrequencyFrequencyFrequencyFrequencyfrequency
und der
Ausdehnung SigmaSigmaSigmaSigmasigma
berechnet. Um eine maximale Effizienz der
gesamten Filterung zu erreichen, kann mit NormNormNormNormnorm
der
Normierungsfaktor des Filters festgelegt werden. Somit kann eine
Normierung in der FFT unterbleiben, falls fft_genericfft_genericFftGenericFftGenericFftGeneric
verwendet wird, falls NormNormNormNormnorm
= 'n'"n""n""n""n" verwendet wird.
Mit ModeModeModeModemode
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_genericFftGenericFftGenericFftGeneric
verwendet wird, kann zur
Effizienzsteigerung 'dc_edge'"dc_edge""dc_edge""dc_edge""dc_edge" verwendet werden. Falls
fft_imagefft_imageFftImageFftImageFftImage
und fft_image_invfft_image_invFftImageInvFftImageInvFftImageInv
zur Filterung verwendet
werden, muss NormNormNormNormnorm
= 'none'"none""none""none""none" und ModeModeModeModemode
=
'dc_center'"dc_center""dc_center""dc_center""dc_center" verwendet werden. Falls rft_genericrft_genericRftGenericRftGenericRftGeneric
verwendet wird, muss ModeModeModeModemode
= 'rft'"rft""rft""rft""rft" verwendet
werden.
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
ImageFilterImageFilterImageFilterImageFilterimageFilter
(output_object) image →
objectHImageHImageHobject * (real)
Bandpassfilter als Bild in Frequenzraum.
FrequencyFrequencyFrequencyFrequencyfrequency
(input_control) real →
HTupleHTupleHtuple (real) (double) (double) (double)
Abstand des Filtermaximums vom Mittelpunkt.
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: Frequency >= 0
SigmaSigmaSigmaSigmasigma
(input_control) real →
HTupleHTupleHtuple (real) (double) (double) (double)
Bandbreite der Filters (Standardabweichung).
Defaultwert: 0.01
Wertevorschläge: 0.002, 0.005, 0.01, 0.02, 0.05, 0.1, 0.2, 0.3, 0.4, 0.5, 0.7, 1.0
Restriktion: Sigma >= 0
TypeTypeTypeTypetype
(input_control) string →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Art des Filters.
Defaultwert:
'sin'
"sin"
"sin"
"sin"
"sin"
Werteliste: 'gauss'"gauss""gauss""gauss""gauss", 'sin'"sin""sin""sin""sin"
NormNormNormNormnorm
(input_control) string →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Normierung des Filters.
Defaultwert:
'none'
"none"
"none"
"none"
"none"
Werteliste: 'n'"n""n""n""n", 'none'"none""none""none""none"
ModeModeModeModemode
(input_control) string →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Position der Nullfrequenz im Frequenzraum.
Defaultwert:
'dc_center'
"dc_center"
"dc_center"
"dc_center"
"dc_center"
Werteliste: 'dc_center'"dc_center""dc_center""dc_center""dc_center", 'dc_edge'"dc_edge""dc_edge""dc_edge""dc_edge", 'rft'"rft""rft""rft""rft"
WidthWidthWidthWidthwidth
(input_control) integer →
HTupleHTupleHtuple (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
HeightHeightHeightHeightheight
(input_control) integer →
HTupleHTupleHtuple (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
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
gen_std_bandpassgen_std_bandpassGenStdBandpassGenStdBandpassGenStdBandpass
den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine
Fehlerbehandlung durchgeführt.
Vorgänger
fft_imagefft_imageFftImageFftImageFftImage
,
fft_genericfft_genericFftGenericFftGenericFftGeneric
,
rft_genericrft_genericRftGenericRftGenericRftGeneric
Nachfolger
convol_fftconvol_fftConvolFftConvolFftConvolFft
Alternativen
gen_sin_bandpassgen_sin_bandpassGenSinBandpassGenSinBandpassGenSinBandpass
Siehe auch
fft_image_invfft_image_invFftImageInvFftImageInvFftImageInv
,
gen_gauss_filtergen_gauss_filterGenGaussFilterGenGaussFilterGenGaussFilter
,
gen_mean_filtergen_mean_filterGenMeanFilterGenMeanFilterGenMeanFilter
,
gen_derivative_filtergen_derivative_filterGenDerivativeFilterGenDerivativeFilterGenDerivativeFilter
,
gen_bandpassgen_bandpassGenBandpassGenBandpassGenBandpass
,
gen_bandfiltergen_bandfilterGenBandfilterGenBandfilterGenBandfilter
,
gen_highpassgen_highpassGenHighpassGenHighpassGenHighpass
,
gen_lowpassgen_lowpassGenLowpassGenLowpassGenLowpass
Modul
Foundation