gen_bandfiltergen_bandfilterGenBandfilterGenBandfilter (Operator)
Name
gen_bandfiltergen_bandfilterGenBandfilterGenBandfilter
— Erzeugen eines idealen Bandfilters.
Signatur
Herror gen_bandfilter(Hobject* ImageFilter, double MinFrequency, double MaxFrequency, const char* Norm, const char* Mode, const Hlong Width, const Hlong Height)
Herror T_gen_bandfilter(Hobject* ImageFilter, const Htuple MinFrequency, const Htuple MaxFrequency, const Htuple Norm, const Htuple Mode, const Htuple Width, const Htuple Height)
void GenBandfilter(HObject* ImageFilter, const HTuple& MinFrequency, const HTuple& MaxFrequency, const HTuple& Norm, const HTuple& Mode, const HTuple& Width, const HTuple& Height)
void HImage::GenBandfilter(double MinFrequency, double MaxFrequency, const HString& Norm, const HString& Mode, Hlong Width, Hlong Height)
void HImage::GenBandfilter(double MinFrequency, double MaxFrequency, const char* Norm, const char* Mode, Hlong Width, Hlong Height)
void HImage::GenBandfilter(double MinFrequency, double MaxFrequency, const wchar_t* Norm, const wchar_t* Mode, Hlong Width, Hlong Height)
(Nur Windows)
static void HOperatorSet.GenBandfilter(out HObject imageFilter, HTuple minFrequency, HTuple maxFrequency, HTuple norm, HTuple mode, HTuple width, HTuple height)
void HImage.GenBandfilter(double minFrequency, double maxFrequency, string norm, string mode, int width, int height)
Beschreibung
gen_bandfiltergen_bandfilterGenBandfilterGenBandfilterGenBandfilter
erzeugt einen idealen Bandfilter im
Frequenzraum. Die Frequenzen geben die Parameter
MinFrequencyMinFrequencyMinFrequencyMinFrequencyminFrequency
und MaxFrequencyMaxFrequencyMaxFrequencyMaxFrequencymaxFrequency
vor. Die Frequenzen
werden als Bruchteil der maximalen (horizontalen und verikalen)
Frequenz, die in einem Bild der Größe WidthWidthWidthWidthwidth
x HeightHeightHeightHeightheight
möglich ist, angegeben, d.h.
MinFrequencyMinFrequencyMinFrequencyMinFrequencyminFrequency
und MaxFrequencyMaxFrequencyMaxFrequencyMaxFrequencymaxFrequency
sollten zwischen 0
und 1 liegen. 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. Das Ergebnis ist ein Bild, bei dem ein Ring um das Zentrum
auf 0 gesetzt ist. Alle anderen Pixel haben als Wert den
Normierungsfaktor.
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)
Bandfilter im Frequenzraum.
MinFrequencyMinFrequencyMinFrequencyMinFrequencyminFrequency
(input_control) real →
HTupleHTupleHtuple (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
MaxFrequencyMaxFrequencyMaxFrequencyMaxFrequencymaxFrequency
(input_control) real →
HTupleHTupleHtuple (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
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
Beispiel (HDevelop)
* Filtering with maximum efficiency with fft_generic.
gen_bandpass(Bandfilter,0.2,0.4,'n','dc_edge',Width,Height)
fft_generic(Image,ImageFFT,'to_freq',-1,'none','dc_edge','complex')
convol_fft(ImageFFT,Bandfilter,ImageConvol)
fft_generic(ImageConvol,ImageResult,'from_freq',1,'none','dc_edge','byte')
Ergebnis
Sind die Parameter korrekt, dann liefert gen_bandfiltergen_bandfilterGenBandfilterGenBandfilterGenBandfilter
den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird eine Fehlerbehandlung
durchgeführt.
Nachfolger
convol_fftconvol_fftConvolFftConvolFftConvolFft
Alternativen
gen_circlegen_circleGenCircleGenCircleGenCircle
,
paint_regionpaint_regionPaintRegionPaintRegionPaintRegion
Siehe auch
gen_highpassgen_highpassGenHighpassGenHighpassGenHighpass
,
gen_lowpassgen_lowpassGenLowpassGenLowpassGenLowpass
,
gen_bandpassgen_bandpassGenBandpassGenBandpassGenBandpass
,
gen_gauss_filtergen_gauss_filterGenGaussFilterGenGaussFilterGenGaussFilter
,
gen_mean_filtergen_mean_filterGenMeanFilterGenMeanFilterGenMeanFilter
,
gen_derivative_filtergen_derivative_filterGenDerivativeFilterGenDerivativeFilterGenDerivativeFilter
Modul
Foundation