convol_fftconvol_fftConvolFftConvolFftconvol_fft (Operator)

Name

convol_fftconvol_fftConvolFftConvolFftconvol_fft — Multiplizieren eines Bildes mit einem Filterbild im Frequenzraum.

Signatur

convol_fft(ImageFFT, ImageFilter : ImageConvol : : )

Herror convol_fft(const Hobject ImageFFT, const Hobject ImageFilter, Hobject* ImageConvol)

Herror T_convol_fft(const Hobject ImageFFT, const Hobject ImageFilter, Hobject* ImageConvol)

void ConvolFft(const HObject& ImageFFT, const HObject& ImageFilter, HObject* ImageConvol)

HImage HImage::ConvolFft(const HImage& ImageFilter) const

static void HOperatorSet.ConvolFft(HObject imageFFT, HObject imageFilter, out HObject imageConvol)

HImage HImage.ConvolFft(HImage imageFilter)

def convol_fft(image_fft: HObject, image_filter: HObject) -> HObject

Beschreibung

Als Teil der Faltung eines Bildes mit einem Filterbild multipliziert convol_fftconvol_fftConvolFftConvolFftconvol_fft das fouriertransformierte Bild ImageFFTImageFFTImageFFTimageFFTimage_fft mit der Fouriertransformation ImageFilterImageFilterImageFilterimageFilterimage_filter eines zweiten Bildes, welches als Filter dient.

Laut Faltungstheorem erfolgt die nicht-normalisierte Faltung zweier Bilder im Pixelraum in drei Schritten:

  1. Transformieren der Bilder in den Frequenzraum mittels Fouriertransformation (siehe z.B. fft_genericfft_genericFftGenericFftGenericfft_generic).

  2. Multiplizieren eines transformierten Bildes mit dem transformierten Filterbild (pixelweise).

  3. Rücktransformieren des Ergebnisses in den Pixelraum mittels inverser Fouriertransformation (siehe z.B. fft_genericfft_genericFftGenericFftGenericfft_generic).

Der Operator convol_fftconvol_fftConvolFftConvolFftconvol_fft wird zur Ausführung des zweiten Schrittes verwendet, d.h. ImageFFTImageFFTImageFFTimageFFTimage_fft wird pixelweise mit ImageFilterImageFilterImageFilterimageFilterimage_filter multipliziert.

Achtung

Die Filterung erfolgt immer für das gesamte Bild, d.h., der Definitionsbereich des Eingabebildes wird ignoriert.

Ausführungsinformationen

Parameter

ImageFFTImageFFTImageFFTimageFFTimage_fft (input_object)  (multichannel-)image(-array) objectHImageHObjectHObjectHobject (complex)

Komplexes Eingabebild.

ImageFilterImageFilterImageFilterimageFilterimage_filter (input_object)  (multichannel-)image objectHImageHObjectHObjectHobject (real / complex)

Filter im Frequenzraum.

ImageConvolImageConvolImageConvolimageConvolimage_convol (output_object)  image(-array) objectHImageHObjectHObjectHobject * (complex)

Ergebnis im Frequenzraum.

Beispiel (HDevelop)

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 Parameterwerte korrekt, dann liefert convol_fftconvol_fftConvolFftConvolFftconvol_fft den Wert 2 ( H_MSG_TRUE) . Das Verhalten bei leerer Eingabe (keine Eingabebilder vorhanden) lässt sich mittels set_system(::'no_object_result',<Result>:)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>) festlegen. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

fft_imagefft_imageFftImageFftImagefft_image, fft_genericfft_genericFftGenericFftGenericfft_generic, rft_genericrft_genericRftGenericRftGenericrft_generic, gen_highpassgen_highpassGenHighpassGenHighpassgen_highpass, gen_lowpassgen_lowpassGenLowpassGenLowpassgen_lowpass, gen_bandpassgen_bandpassGenBandpassGenBandpassgen_bandpass, gen_bandfiltergen_bandfilterGenBandfilterGenBandfiltergen_bandfilter

Nachfolger

power_bytepower_bytePowerBytePowerBytepower_byte, power_realpower_realPowerRealPowerRealpower_real, power_lnpower_lnPowerLnPowerLnpower_ln, fft_image_invfft_image_invFftImageInvFftImageInvfft_image_inv, fft_genericfft_genericFftGenericFftGenericfft_generic, rft_genericrft_genericRftGenericRftGenericrft_generic

Alternativen

convol_gaborconvol_gaborConvolGaborConvolGaborconvol_gabor

Siehe auch

gen_gaborgen_gaborGenGaborGenGaborgen_gabor, gen_highpassgen_highpassGenHighpassGenHighpassgen_highpass, gen_lowpassgen_lowpassGenLowpassGenLowpassgen_lowpass, gen_bandpassgen_bandpassGenBandpassGenBandpassgen_bandpass, convol_gaborconvol_gaborConvolGaborConvolGaborconvol_gabor, fft_image_invfft_image_invFftImageInvFftImageInvfft_image_inv

Modul

Foundation