ClassesClasses | | Operators

convol_fftconvol_fftConvolFftConvolFft (Operator)

Name

convol_fftconvol_fftConvolFftConvolFft — Convolve an image with a filter in the frequency domain.

Signature

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)

Description

convol_fftconvol_fftConvolFftConvolFftConvolFft convolves two (Fourier-transformed) images in the frequency domain, i.e., the pixels of the complex image ImageFFTImageFFTImageFFTImageFFTimageFFT are multiplied by the corresponding pixels of the filter ImageFilterImageFilterImageFilterImageFilterimageFilter.

Attention

The filtering is always done on the entire image, i.e., the domain of the image is ignored.

Execution Information

Parameters

ImageFFTImageFFTImageFFTImageFFTimageFFT (input_object)  (multichannel-)image(-array) objectHImageHImageHobject (complex)

Complex input image.

ImageFilterImageFilterImageFilterImageFilterimageFilter (input_object)  (multichannel-)image objectHImageHImageHobject (real / complex)

Filter in frequency domain.

ImageConvolImageConvolImageConvolImageConvolimageConvol (output_object)  image(-array) objectHImageHImageHobject * (complex)

Result of applying the filter.

Example (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')

Result

convol_fftconvol_fftConvolFftConvolFftConvolFft returns 2 (H_MSG_TRUE) if all parameters are correct. If the input is empty the behavior can be set via set_system(::'no_object_result',<Result>:)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>). If necessary, an exception is raised.

Possible Predecessors

fft_imagefft_imageFftImageFftImageFftImage, fft_genericfft_genericFftGenericFftGenericFftGeneric, rft_genericrft_genericRftGenericRftGenericRftGeneric, gen_highpassgen_highpassGenHighpassGenHighpassGenHighpass, gen_lowpassgen_lowpassGenLowpassGenLowpassGenLowpass, gen_bandpassgen_bandpassGenBandpassGenBandpassGenBandpass, gen_bandfiltergen_bandfilterGenBandfilterGenBandfilterGenBandfilter

Possible Successors

power_bytepower_bytePowerBytePowerBytePowerByte, power_realpower_realPowerRealPowerRealPowerReal, power_lnpower_lnPowerLnPowerLnPowerLn, fft_image_invfft_image_invFftImageInvFftImageInvFftImageInv, fft_genericfft_genericFftGenericFftGenericFftGeneric, rft_genericrft_genericRftGenericRftGenericRftGeneric

Alternatives

convol_gaborconvol_gaborConvolGaborConvolGaborConvolGabor

See also

gen_gaborgen_gaborGenGaborGenGaborGenGabor, gen_highpassgen_highpassGenHighpassGenHighpassGenHighpass, gen_lowpassgen_lowpassGenLowpassGenLowpassGenLowpass, gen_bandpassgen_bandpassGenBandpassGenBandpassGenBandpass, convol_gaborconvol_gaborConvolGaborConvolGaborConvolGabor, fft_image_invfft_image_invFftImageInvFftImageInvFftImageInv

Module

Foundation


ClassesClasses | | Operators