gen_mean_filtergen_mean_filterGenMeanFilterGenMeanFiltergen_mean_filter (Operator)
Name
gen_mean_filtergen_mean_filterGenMeanFilterGenMeanFiltergen_mean_filter — Erzeugen eines Mittelwertfilters im Frequenzraum.
Signatur
Herror gen_mean_filter(Hobject* ImageMean, const char* MaskShape, double Diameter1, double Diameter2, double Phi, const char* Norm, const char* Mode, const Hlong Width, const Hlong Height)
Herror T_gen_mean_filter(Hobject* ImageMean, const Htuple MaskShape, const Htuple Diameter1, const Htuple Diameter2, const Htuple Phi, const Htuple Norm, const Htuple Mode, const Htuple Width, const Htuple Height)
void GenMeanFilter(HObject* ImageMean, const HTuple& MaskShape, const HTuple& Diameter1, const HTuple& Diameter2, const HTuple& Phi, const HTuple& Norm, const HTuple& Mode, const HTuple& Width, const HTuple& Height)
void HImage::GenMeanFilter(const HString& MaskShape, double Diameter1, double Diameter2, double Phi, const HString& Norm, const HString& Mode, Hlong Width, Hlong Height)
void HImage::GenMeanFilter(const char* MaskShape, double Diameter1, double Diameter2, double Phi, const char* Norm, const char* Mode, Hlong Width, Hlong Height)
void HImage::GenMeanFilter(const wchar_t* MaskShape, double Diameter1, double Diameter2, double Phi, const wchar_t* Norm, const wchar_t* Mode, Hlong Width, Hlong Height)
(
Nur Windows)
static void HOperatorSet.GenMeanFilter(out HObject imageMean, HTuple maskShape, HTuple diameter1, HTuple diameter2, HTuple phi, HTuple norm, HTuple mode, HTuple width, HTuple height)
void HImage.GenMeanFilter(string maskShape, double diameter1, double diameter2, double phi, string norm, string mode, int width, int height)
Beschreibung
gen_mean_filtergen_mean_filterGenMeanFilterGenMeanFiltergen_mean_filter erzeugt einen Mittelwertfilter im
Frequenzraum. Die Form des Mittelwertfilters wird mit
MaskShapeMaskShapeMaskShapemaskShapemask_shape festgelegt. Für MaskShapeMaskShapeMaskShapemaskShapemask_shape =
'rectangle'"rectangle""rectangle""rectangle""rectangle" wird ein rechteckiger Mittelwertfilter erzeugt.
Für MaskShapeMaskShapeMaskShapemaskShapemask_shape = 'ellipse'"ellipse""ellipse""ellipse""ellipse" wird ein
ellipsenförmiger Mittelwertfilter erzeugt. Die Durchmesser (d.h.
die Stärke der Glättung) des Mittelwertfilters im Ortsraum werden
durch Diameter1Diameter1Diameter1diameter1diameter_1 und Diameter2Diameter2Diameter2diameter2diameter_2 festgelegt. Dabei
ist Diameter1Diameter1Diameter1diameter1diameter_1 der Durchmesser in Richtung der durch den
Winkel PhiPhiPhiphiphi gegebenen Hauptrichtung des Filters im Ortsraum.
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.
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
ImageMeanImageMeanImageMeanimageMeanimage_mean (output_object) image → objectHImageHObjectHObjectHobject * (real)
Mittelwertfilter als Bild in Frequenzraum.
MaskShapeMaskShapeMaskShapemaskShapemask_shape (input_control) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Form der Filtermaske im Ortsraum.
Default:
'ellipse'
"ellipse"
"ellipse"
"ellipse"
"ellipse"
Werteliste:
'ellipse'"ellipse""ellipse""ellipse""ellipse", 'rectangle'"rectangle""rectangle""rectangle""rectangle"
Diameter1Diameter1Diameter1diameter1diameter_1 (input_control) real → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Durchmesser des Mittelwertfilters in der
Hauptrichtung des Filters im Ortsraum.
Default:
11.0
Wertevorschläge:
3.0, 5.0, 7.0, 9.0, 11.0, 15.0, 21.0, 31.0, 51.0
Restriktion:
Diameter1 > 0
Diameter2Diameter2Diameter2diameter2diameter_2 (input_control) real → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Durchmesser des Mittelwertfilters senkrecht
zur Hauptrichtung des Filters im Ortsraum.
Default:
11.0
Wertevorschläge:
3.0, 5.0, 7.0, 9.0, 11.0, 15.0, 21.0, 31.0, 51.0
Restriktion:
Diameter2 > 0
PhiPhiPhiphiphi (input_control) angle.rad → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Hauptrichtung des Filters im Ortsraum.
Default:
0.0
Wertevorschläge:
0.0, 0.523599, 0.785398, 1.047198, 1.570796, 2.094395, 2.356194, 2.617994, 3.141593
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)
* Generate a circular mean filter.
gen_mean_filter (FilterMean, 'ellipse', 15, 15, 0, 'n', 'dc_edge', 512, 512)
* Filter an image with the circular mean filter.
fft_generic (Image, ImageFFT, 'to_freq', -1, 'none', 'dc_edge', 'complex')
convol_fft (ImageFFT, FilterMean, Filtered)
fft_generic (Filtered, ImageMean, 'from_freq', 1, 'none', 'dc_edge', 'real')
Ergebnis
Sind die Parameterwerte korrekt, dann liefert
gen_mean_filtergen_mean_filterGenMeanFilterGenMeanFiltergen_mean_filter den Wert 2 (
H_MSG_TRUE)
. Gegebenenfalls wird eine
Fehlerbehandlung durchgeführt.
Vorgänger
fft_imagefft_imageFftImageFftImagefft_image,
fft_genericfft_genericFftGenericFftGenericfft_generic,
rft_genericrft_genericRftGenericRftGenericrft_generic
Nachfolger
convol_fftconvol_fftConvolFftConvolFftconvol_fft
Siehe auch
fft_image_invfft_image_invFftImageInvFftImageInvfft_image_inv,
gen_gauss_filtergen_gauss_filterGenGaussFilterGenGaussFiltergen_gauss_filter,
gen_derivative_filtergen_derivative_filterGenDerivativeFilterGenDerivativeFiltergen_derivative_filter,
gen_lowpassgen_lowpassGenLowpassGenLowpassgen_lowpass,
gen_bandpassgen_bandpassGenBandpassGenBandpassgen_bandpass,
gen_bandfiltergen_bandfilterGenBandfilterGenBandfiltergen_bandfilter,
gen_highpassgen_highpassGenHighpassGenHighpassgen_highpass
Modul
Foundation