gen_derivative_filtergen_derivative_filterGenDerivativeFilterGenDerivativeFilter (Operator)
Name
gen_derivative_filtergen_derivative_filterGenDerivativeFilterGenDerivativeFilter
— 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_filterGenDerivativeFilterGenDerivativeFilterGenDerivativeFilter
erzeugt einen Ableitungsfilter im
Frequenzraum. Die zu berechnende Ableitung wird mit
DerivativeDerivativeDerivativeDerivativederivative
festgelegt. Mit ExponentExponentExponentExponentexponent
wird der bei
der Rücktransformation verwendete Exponent festgelegt. Dieser muss
dem bei fft_genericfft_genericFftGenericFftGenericFftGeneric
verwendeten Wert entsprechen. Falls
fft_image_invfft_image_invFftImageInvFftImageInvFftImageInv
zur Rücktransformation verwendet wird, muss
ExponentExponentExponentExponentexponent
= 1 verwendet werden. Da das
Ableitungsbild im Normalfall negative Werte enthält, sollte aber
sowieso immer fft_genericfft_genericFftGenericFftGenericFftGeneric
zur Rücktransformation verwendet
werden. 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.
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
ImageDerivativeImageDerivativeImageDerivativeImageDerivativeimageDerivative
(output_object) image →
objectHImageHImageHobject * (complex)
Ableitungsfilter als Bild in Frequenzraum.
DerivativeDerivativeDerivativeDerivativederivative
(input_control) string →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Zu berechnende Ableitung.
Defaultwert:
'x'
"x"
"x"
"x"
"x"
Wertevorschläge: 'x'"x""x""x""x", 'y'"y""y""y""y", 'xx'"xx""xx""xx""xx", 'xy'"xy""xy""xy""xy", 'yy'"yy""yy""yy""yy", 'xxx'"xxx""xxx""xxx""xxx", 'xxy'"xxy""xxy""xxy""xxy", 'xyy'"xyy""xyy""xyy""xyy", 'yyy'"yyy""yyy""yyy""yyy"
ExponentExponentExponentExponentexponent
(input_control) integer →
HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Exponent, der bei der Rücktransformation
verwendet wird.
Defaultwert: 1
Wertevorschläge: -1, 1
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)
* 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_filterGenDerivativeFilterGenDerivativeFilterGenDerivativeFilter
den Wert 2 (H_MSG_TRUE). Gegebenenfalls wird
eine Fehlerbehandlung durchgeführt.
Vorgänger
fft_imagefft_imageFftImageFftImageFftImage
,
fft_genericfft_genericFftGenericFftGenericFftGeneric
,
rft_genericrft_genericRftGenericRftGenericRftGeneric
Nachfolger
convol_fftconvol_fftConvolFftConvolFftConvolFft
Siehe auch
fft_image_invfft_image_invFftImageInvFftImageInvFftImageInv
,
gen_gauss_filtergen_gauss_filterGenGaussFilterGenGaussFilterGenGaussFilter
,
gen_mean_filtergen_mean_filterGenMeanFilterGenMeanFilterGenMeanFilter
,
gen_lowpassgen_lowpassGenLowpassGenLowpassGenLowpass
,
gen_bandpassgen_bandpassGenBandpassGenBandpassGenBandpass
,
gen_bandfiltergen_bandfilterGenBandfilterGenBandfilterGenBandfilter
,
gen_highpassgen_highpassGenHighpassGenHighpassGenHighpass
Modul
Foundation