gen_gauss_filtergen_gauss_filterGenGaussFilterGenGaussFiltergen_gauss_filter (Operator)
Name
gen_gauss_filtergen_gauss_filterGenGaussFilterGenGaussFiltergen_gauss_filter — Erzeugen eines Gaußfilters im Frequenzraum.
Signatur
Herror gen_gauss_filter(Hobject* ImageGauss, double Sigma1, double Sigma2, double Phi, const char* Norm, const char* Mode, const Hlong Width, const Hlong Height)
Herror T_gen_gauss_filter(Hobject* ImageGauss, const Htuple Sigma1, const Htuple Sigma2, const Htuple Phi, const Htuple Norm, const Htuple Mode, const Htuple Width, const Htuple Height)
void GenGaussFilter(HObject* ImageGauss, const HTuple& Sigma1, const HTuple& Sigma2, const HTuple& Phi, const HTuple& Norm, const HTuple& Mode, const HTuple& Width, const HTuple& Height)
void HImage::GenGaussFilter(double Sigma1, double Sigma2, double Phi, const HString& Norm, const HString& Mode, Hlong Width, Hlong Height)
void HImage::GenGaussFilter(double Sigma1, double Sigma2, double Phi, const char* Norm, const char* Mode, Hlong Width, Hlong Height)
void HImage::GenGaussFilter(double Sigma1, double Sigma2, double Phi, const wchar_t* Norm, const wchar_t* Mode, Hlong Width, Hlong Height)
(Nur Windows)
static void HOperatorSet.GenGaussFilter(out HObject imageGauss, HTuple sigma1, HTuple sigma2, HTuple phi, HTuple norm, HTuple mode, HTuple width, HTuple height)
void HImage.GenGaussFilter(double sigma1, double sigma2, double phi, string norm, string mode, int width, int height)
Beschreibung
gen_gauss_filtergen_gauss_filterGenGaussFilterGenGaussFilterGenGaussFiltergen_gauss_filter erzeugt einen (evtl. anisotropen)
Gaußfilter im Frequenzraum. Die Standardabweichungen (d.h. die
Stärke der Glättung) des Gaußfilters im Ortsraum werden durch
Sigma1Sigma1Sigma1Sigma1sigma1sigma_1 und Sigma2Sigma2Sigma2Sigma2sigma2sigma_2 festgelegt. Dabei ist
Sigma1Sigma1Sigma1Sigma1sigma1sigma_1 die Standardabweichung in Richtung der durch den
Winkel PhiPhiPhiPhiphiphi gegebenen Hauptrichtung des Filters im Ortsraum.
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.
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
ImageGaussImageGaussImageGaussImageGaussimageGaussimage_gauss (output_object) image → objectHImageHObjectHImageHobject * (real)
Gaußfilter als Bild in Frequenzraum.
Sigma1Sigma1Sigma1Sigma1sigma1sigma_1 (input_control) real → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Standardabweichung des Gaußfilters in der
Hauptrichtung des Filters im Ortsraum.
Defaultwert: 1.0
Wertevorschläge: 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.5, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0
Restriktion: Sigma1 >= 0
Sigma2Sigma2Sigma2Sigma2sigma2sigma_2 (input_control) real → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Standardabweichung des Gaußfilters senkrecht
zur Hauptrichtung des Filters im Ortsraum.
Defaultwert: 1.0
Wertevorschläge: 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.5, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0
Restriktion: Sigma2 >= 0
PhiPhiPhiPhiphiphi (input_control) angle.rad → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Hauptrichtung des Filters im Ortsraum.
Defaultwert: 0.0
Wertevorschläge: 0.0, 0.523599, 0.785398, 1.047198, 1.570796, 2.094395, 2.356194, 2.617994, 3.141593
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)
* Generate a smoothed derivative filter.
gen_gauss_filter (ImageGauss, Sigma, Sigma, 0, 'n', 'dc_edge', 512, 512)
convert_image_type (ImageGauss, ImageGaussComplex, 'complex')
gen_derivative_filter (ImageDerivX, 'x', 1, 'none', 'dc_edge', 512, 512)
mult_image (ImageGaussComplex, ImageDerivX, ImageDerivXGauss, 1, 0)
* Filter an image with the smoothed derivative filter.
fft_generic (Image, ImageFFT, 'to_freq', -1, 'none', 'dc_edge', 'complex')
convol_fft (ImageFFT, ImageDerivXGauss, Filtered)
fft_generic (Filtered, ImageX, 'from_freq', 1, 'none', 'dc_edge', 'real')
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
gen_gauss_filtergen_gauss_filterGenGaussFilterGenGaussFilterGenGaussFiltergen_gauss_filter den Wert TRUE. Gegebenenfalls wird eine
Fehlerbehandlung durchgeführt.
Vorgänger
fft_imagefft_imageFftImageFftImageFftImagefft_image,
fft_genericfft_genericFftGenericFftGenericFftGenericfft_generic,
rft_genericrft_genericRftGenericRftGenericRftGenericrft_generic
Nachfolger
convol_fftconvol_fftConvolFftConvolFftConvolFftconvol_fft
Siehe auch
fft_image_invfft_image_invFftImageInvFftImageInvFftImageInvfft_image_inv,
gen_mean_filtergen_mean_filterGenMeanFilterGenMeanFilterGenMeanFiltergen_mean_filter,
gen_derivative_filtergen_derivative_filterGenDerivativeFilterGenDerivativeFilterGenDerivativeFiltergen_derivative_filter,
gen_lowpassgen_lowpassGenLowpassGenLowpassGenLowpassgen_lowpass,
gen_bandpassgen_bandpassGenBandpassGenBandpassGenBandpassgen_bandpass,
gen_bandfiltergen_bandfilterGenBandfilterGenBandfilterGenBandfiltergen_bandfilter,
gen_highpassgen_highpassGenHighpassGenHighpassGenHighpassgen_highpass
Modul
Foundation