gen_bandfiltergen_bandfilterGenBandfilterGenBandfiltergen_bandfilter (Operator)

Name

gen_bandfiltergen_bandfilterGenBandfilterGenBandfiltergen_bandfilter — Erzeugen eines idealen Bandfilters.

Signatur

gen_bandfilter( : ImageFilter : MinFrequency, MaxFrequency, Norm, Mode, Width, Height : )

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)

def gen_bandfilter(min_frequency: float, max_frequency: float, norm: str, mode: str, width: int, height: int) -> HObject

Beschreibung

gen_bandfiltergen_bandfilterGenBandfilterGenBandfiltergen_bandfilter erzeugt einen idealen Bandfilter im Frequenzraum. Die Frequenzen geben die Parameter MinFrequencyMinFrequencyMinFrequencyminFrequencymin_frequency und MaxFrequencyMaxFrequencyMaxFrequencymaxFrequencymax_frequency vor. Die Frequenzen werden als Bruchteil der maximalen (horizontalen und vertikalen) Frequenz, die in einem Bild der Größe WidthWidthWidthwidthwidth x HeightHeightHeightheightheight möglich ist, angegeben, d.h. MinFrequencyMinFrequencyMinFrequencyminFrequencymin_frequency und MaxFrequencyMaxFrequencyMaxFrequencymaxFrequencymax_frequency 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_genericFftGenericFftGenericfft_generic 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_genericFftGenericFftGenericfft_generic verwendet wird, kann zur Effizienzsteigerung 'dc_edge'"dc_edge""dc_edge""dc_edge""dc_edge" verwendet werden. Falls fft_imagefft_imageFftImageFftImagefft_image und fft_image_invfft_image_invFftImageInvFftImageInvfft_image_inv 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_genericRftGenericRftGenericrft_generic 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

Parameter

ImageFilterImageFilterImageFilterimageFilterimage_filter (output_object)  image objectHImageHObjectHObjectHobject * (real)

Bandfilter im Frequenzraum.

MinFrequencyMinFrequencyMinFrequencyminFrequencymin_frequency (input_control)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

Minimale Frequenz.

Default: 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

MaxFrequencyMaxFrequencyMaxFrequencymaxFrequencymax_frequency (input_control)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

Maximale Frequenz.

Default: 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 HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Normierung des Filters.

Default: 'none' "none" "none" "none" "none"

Werteliste: 'n'"n""n""n""n", 'none'"none""none""none""none"

ModeModeModemodemode (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Position der Nullfrequenz im Frequenzraum.

Default: '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 HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Breite des Bildes (Filters).

Default: 512

Wertevorschläge: 128, 160, 192, 256, 320, 384, 512, 640, 768, 1024, 2048, 4096, 8192

HeightHeightHeightheightheight (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Höhe des Bildes (Filters).

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

Nachfolger

convol_fftconvol_fftConvolFftConvolFftconvol_fft

Alternativen

gen_circlegen_circleGenCircleGenCirclegen_circle, paint_regionpaint_regionPaintRegionPaintRegionpaint_region

Siehe auch

gen_highpassgen_highpassGenHighpassGenHighpassgen_highpass, gen_lowpassgen_lowpassGenLowpassGenLowpassgen_lowpass, gen_bandpassgen_bandpassGenBandpassGenBandpassgen_bandpass, gen_gauss_filtergen_gauss_filterGenGaussFilterGenGaussFiltergen_gauss_filter, gen_mean_filtergen_mean_filterGenMeanFilterGenMeanFiltergen_mean_filter, gen_derivative_filtergen_derivative_filterGenDerivativeFilterGenDerivativeFiltergen_derivative_filter

Modul

Foundation