gen_lowpassgen_lowpassGenLowpassGenLowpassgen_lowpass (Operator)

Name

gen_lowpassgen_lowpassGenLowpassGenLowpassgen_lowpass — Erzeugen eines idealen Tiefpassfilters.

Signatur

gen_lowpass( : ImageLowpass : Frequency, Norm, Mode, Width, Height : )

Herror gen_lowpass(Hobject* ImageLowpass, double Frequency, const char* Norm, const char* Mode, const Hlong Width, const Hlong Height)

Herror T_gen_lowpass(Hobject* ImageLowpass, const Htuple Frequency, const Htuple Norm, const Htuple Mode, const Htuple Width, const Htuple Height)

void GenLowpass(HObject* ImageLowpass, const HTuple& Frequency, const HTuple& Norm, const HTuple& Mode, const HTuple& Width, const HTuple& Height)

void HImage::GenLowpass(double Frequency, const HString& Norm, const HString& Mode, Hlong Width, Hlong Height)

void HImage::GenLowpass(double Frequency, const char* Norm, const char* Mode, Hlong Width, Hlong Height)

void HImage::GenLowpass(double Frequency, const wchar_t* Norm, const wchar_t* Mode, Hlong Width, Hlong Height)   (Nur Windows)

static void HOperatorSet.GenLowpass(out HObject imageLowpass, HTuple frequency, HTuple norm, HTuple mode, HTuple width, HTuple height)

void HImage.GenLowpass(double frequency, string norm, string mode, int width, int height)

def gen_lowpass(frequency: float, norm: str, mode: str, width: int, height: int) -> HObject

Beschreibung

gen_lowpassgen_lowpassGenLowpassGenLowpassGenLowpassgen_lowpass erzeugt einen idealen Tiefpassfilter im Frequenzraum. Die Frequenz gibt der Parameter FrequencyFrequencyFrequencyFrequencyfrequencyfrequency vor. Die Frequenz wird als Bruchteil der maximalen (horizontalen und vertikalen) Frequenz, die in einem Bild der Größe WidthWidthWidthWidthwidthwidth x HeightHeightHeightHeightheightheight möglich ist, angegeben, d.h. FrequencyFrequencyFrequencyFrequencyfrequencyfrequency sollte 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 im inneren Bereich als Wert den Normierungsfaktor hat und außerhalb dieses Bereiches auf 0 gesetzt ist.

Ausführungsinformationen

Parameter

ImageLowpassImageLowpassImageLowpassImageLowpassimageLowpassimage_lowpass (output_object)  image objectHImageHObjectHImageHobject * (real)

Tiefpass im Frequenzraum.

FrequencyFrequencyFrequencyFrequencyfrequencyfrequency (input_control)  real HTuplefloatHTupleHtuple (real) (double) (double) (double)

Trennfrequenz.

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

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_lowpass(Lowpass,0.2,'n','dc_edge',Width,Height)
fft_generic(Image,ImageFFT,'to_freq',-1,'none','dc_edge','complex')
convol_fft(ImageFFT,Lowpass,ImageConvol)
fft_generic(ImageConvol,ImageResult,'from_freq',1,'none','dc_edge','byte')

Ergebnis

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

Nachfolger

convol_fftconvol_fftConvolFftConvolFftConvolFftconvol_fft

Siehe auch

gen_highpassgen_highpassGenHighpassGenHighpassGenHighpassgen_highpass, gen_bandpassgen_bandpassGenBandpassGenBandpassGenBandpassgen_bandpass, 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