gen_highpassgen_highpassGenHighpassGenHighpass (Operator)

Name

gen_highpassgen_highpassGenHighpassGenHighpass — Erzeugen eines idealen Hochpassfilters.

Signatur

gen_highpass( : ImageHighpass : Frequency, Norm, Mode, Width, Height : )

Herror gen_highpass(Hobject* ImageHighpass, double Frequency, const char* Norm, const char* Mode, const Hlong Width, const Hlong Height)

Herror T_gen_highpass(Hobject* ImageHighpass, const Htuple Frequency, const Htuple Norm, const Htuple Mode, const Htuple Width, const Htuple Height)

void GenHighpass(HObject* ImageHighpass, const HTuple& Frequency, const HTuple& Norm, const HTuple& Mode, const HTuple& Width, const HTuple& Height)

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

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

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

static void HOperatorSet.GenHighpass(out HObject imageHighpass, HTuple frequency, HTuple norm, HTuple mode, HTuple width, HTuple height)

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

Beschreibung

gen_highpassgen_highpassGenHighpassGenHighpassGenHighpass erzeugt einen idealen Hochpassfilter im Frequenzraum. Die Frequenz gibt der Parameter FrequencyFrequencyFrequencyFrequencyfrequency vor. Die Frequenz wird als Bruchteil der maximalen (horizontalen und verikalen) Frequenz, die in einem Bild der Größe WidthWidthWidthWidthwidth x HeightHeightHeightHeightheight möglich ist, angegeben, d.h. FrequencyFrequencyFrequencyFrequencyfrequency sollte 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, das im inneren Bereich den Wert Null hat und außerhalb dieses Bereiches auf den Normierungsfaktor gesetzt ist.

Ausführungsinformationen

Parameter

ImageHighpassImageHighpassImageHighpassImageHighpassimageHighpass (output_object)  image objectHImageHImageHobject * (real)

Hochpassfilter im Frequenzraum.

FrequencyFrequencyFrequencyFrequencyfrequency (input_control)  real HTupleHTupleHtuple (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

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

Ergebnis

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

Nachfolger

convol_fftconvol_fftConvolFftConvolFftConvolFft

Siehe auch

convol_fftconvol_fftConvolFftConvolFftConvolFft, gen_lowpassgen_lowpassGenLowpassGenLowpassGenLowpass, gen_bandpassgen_bandpassGenBandpassGenBandpassGenBandpass, gen_bandfiltergen_bandfilterGenBandfilterGenBandfilterGenBandfilter, gen_gauss_filtergen_gauss_filterGenGaussFilterGenGaussFilterGenGaussFilter, gen_mean_filtergen_mean_filterGenMeanFilterGenMeanFilterGenMeanFilter, gen_derivative_filtergen_derivative_filterGenDerivativeFilterGenDerivativeFilterGenDerivativeFilter

Modul

Foundation