gen_highpassgen_highpassGenHighpassGenHighpass (Operator)
Name
gen_highpassgen_highpassGenHighpassGenHighpass
— Erzeugen eines idealen Hochpassfilters.
Signatur
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)
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
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
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