gen_derivative_filtergen_derivative_filterGenDerivativeFilterGenDerivativeFiltergen_derivative_filter (Operator)
Name
gen_derivative_filtergen_derivative_filterGenDerivativeFilterGenDerivativeFiltergen_derivative_filter — Erzeugen eines Ableitungsfilters im Frequenzraum.
Signatur
Herror gen_derivative_filter(Hobject* ImageDerivative, const char* Derivative, const Hlong Exponent, const char* Norm, const char* Mode, const Hlong Width, const Hlong Height)
Herror T_gen_derivative_filter(Hobject* ImageDerivative, const Htuple Derivative, const Htuple Exponent, const Htuple Norm, const Htuple Mode, const Htuple Width, const Htuple Height)
void GenDerivativeFilter(HObject* ImageDerivative, const HTuple& Derivative, const HTuple& Exponent, const HTuple& Norm, const HTuple& Mode, const HTuple& Width, const HTuple& Height)
void HImage::GenDerivativeFilter(const HString& Derivative, Hlong Exponent, const HString& Norm, const HString& Mode, Hlong Width, Hlong Height)
void HImage::GenDerivativeFilter(const char* Derivative, Hlong Exponent, const char* Norm, const char* Mode, Hlong Width, Hlong Height)
void HImage::GenDerivativeFilter(const wchar_t* Derivative, Hlong Exponent, const wchar_t* Norm, const wchar_t* Mode, Hlong Width, Hlong Height)
(Nur Windows)
static void HOperatorSet.GenDerivativeFilter(out HObject imageDerivative, HTuple derivative, HTuple exponent, HTuple norm, HTuple mode, HTuple width, HTuple height)
void HImage.GenDerivativeFilter(string derivative, int exponent, string norm, string mode, int width, int height)
Beschreibung
gen_derivative_filtergen_derivative_filterGenDerivativeFilterGenDerivativeFilterGenDerivativeFiltergen_derivative_filter erzeugt einen Ableitungsfilter im
Frequenzraum. Die zu berechnende Ableitung wird mit
DerivativeDerivativeDerivativeDerivativederivativederivative festgelegt. Mit ExponentExponentExponentExponentexponentexponent wird der bei
der Rücktransformation verwendete Exponent festgelegt. Dieser muss
dem bei fft_genericfft_genericFftGenericFftGenericFftGenericfft_generic verwendeten Wert entsprechen. Falls
fft_image_invfft_image_invFftImageInvFftImageInvFftImageInvfft_image_inv zur Rücktransformation verwendet wird, muss
ExponentExponentExponentExponentexponentexponent = 1 verwendet werden. Da das
Ableitungsbild im Normalfall negative Werte enthält, sollte aber
sowieso immer fft_genericfft_genericFftGenericFftGenericFftGenericfft_generic zur Rücktransformation verwendet
werden. 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
ImageDerivativeImageDerivativeImageDerivativeImageDerivativeimageDerivativeimage_derivative (output_object) image → objectHImageHObjectHImageHobject * (complex)
Ableitungsfilter als Bild in Frequenzraum.
DerivativeDerivativeDerivativeDerivativederivativederivative (input_control) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Zu berechnende Ableitung.
Defaultwert:
'x'
"x"
"x"
"x"
"x"
"x"
Wertevorschläge: 'x'"x""x""x""x""x", 'y'"y""y""y""y""y", 'xx'"xx""xx""xx""xx""xx", 'xy'"xy""xy""xy""xy""xy", 'yy'"yy""yy""yy""yy""yy", 'xxx'"xxx""xxx""xxx""xxx""xxx", 'xxy'"xxy""xxy""xxy""xxy""xxy", 'xyy'"xyy""xyy""xyy""xyy""xyy", 'yyy'"yyy""yyy""yyy""yyy""yyy"
ExponentExponentExponentExponentexponentexponent (input_control) integer → HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Exponent, der bei der Rücktransformation
verwendet wird.
Defaultwert: 1
Wertevorschläge: -1, 1
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_derivative_filtergen_derivative_filterGenDerivativeFilterGenDerivativeFilterGenDerivativeFiltergen_derivative_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_gauss_filtergen_gauss_filterGenGaussFilterGenGaussFilterGenGaussFiltergen_gauss_filter,
gen_mean_filtergen_mean_filterGenMeanFilterGenMeanFilterGenMeanFiltergen_mean_filter,
gen_lowpassgen_lowpassGenLowpassGenLowpassGenLowpassgen_lowpass,
gen_bandpassgen_bandpassGenBandpassGenBandpassGenBandpassgen_bandpass,
gen_bandfiltergen_bandfilterGenBandfilterGenBandfilterGenBandfiltergen_bandfilter,
gen_highpassgen_highpassGenHighpassGenHighpassGenHighpassgen_highpass
Modul
Foundation