convol_fftconvol_fftConvolFftConvolFftconvol_fft(算子)
名称
convol_fftconvol_fftConvolFftConvolFftconvol_fft — 在频域中使用滤波器对图像进行卷积。
签名
描述
As part of calculating the convolution of an image with a filter image,
convol_fftconvol_fftConvolFftConvolFftConvolFftconvol_fft multiplies the Fourier transform of an image
ImageFFTImageFFTImageFFTImageFFTimageFFTimage_fft with the Fourier transform of a
second image ImageFilterImageFilterImageFilterImageFilterimageFilterimage_filter, which serves as the filter.
According to the convolution theorem, the non-normalized
convolution of two images in pixel space can be obtained in three steps:
-
Transforming the images into frequency space using a
Fourier transform (see, e.g., fft_genericfft_genericFftGenericFftGenericFftGenericfft_generic).
-
Multiplying one transformed image with the transformed filter image
(pixel-wise).
-
Transforming the result back into pixel space using an inverse
Fourier transform (see, e.g., fft_genericfft_genericFftGenericFftGenericFftGenericfft_generic).
算子 convol_fftconvol_fftConvolFftConvolFftConvolFftconvol_fft is used to perform the second step, i.e.,
ImageFFTImageFFTImageFFTImageFFTimageFFTimage_fft is pixel-wise multiplied with ImageFilterImageFilterImageFilterImageFilterimageFilterimage_filter。
注意
The filtering is always done on the entire image, i.e., the domain
of the image is ignored.
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 在元组级别上自动并行化。
- 在通道级别上自动并行化。
参数
ImageFFTImageFFTImageFFTImageFFTimageFFTimage_fft (输入对象) (multichannel-)image(-array) → objectHImageHObjectHImageHobject (complex)
Complex input image.
ImageFilterImageFilterImageFilterImageFilterimageFilterimage_filter (输入对象) (multichannel-)image → objectHImageHObjectHImageHobject (real / complex)
Filter in frequency domain.
ImageConvolImageConvolImageConvolImageConvolimageConvolimage_convol (输出对象) image(-array) → objectHImageHObjectHImageHobject * (complex)
Result in the frequency domain.
示例(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')
结果
convol_fftconvol_fftConvolFftConvolFftConvolFftconvol_fft 在所有参数正确时返回 2 ( H_MSG_TRUE )。当输入为空时,可设置行为通过算子 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>)set_system("no_object_result",<Result>)。如有必要,则抛出异常。
可能的前趋
fft_imagefft_imageFftImageFftImageFftImagefft_image,
fft_genericfft_genericFftGenericFftGenericFftGenericfft_generic,
rft_genericrft_genericRftGenericRftGenericRftGenericrft_generic,
gen_highpassgen_highpassGenHighpassGenHighpassGenHighpassgen_highpass,
gen_lowpassgen_lowpassGenLowpassGenLowpassGenLowpassgen_lowpass,
gen_bandpassgen_bandpassGenBandpassGenBandpassGenBandpassgen_bandpass,
gen_bandfiltergen_bandfilterGenBandfilterGenBandfilterGenBandfiltergen_bandfilter
可能的后继
power_bytepower_bytePowerBytePowerBytePowerBytepower_byte,
power_realpower_realPowerRealPowerRealPowerRealpower_real,
power_lnpower_lnPowerLnPowerLnPowerLnpower_ln,
fft_image_invfft_image_invFftImageInvFftImageInvFftImageInvfft_image_inv,
fft_genericfft_genericFftGenericFftGenericFftGenericfft_generic,
rft_genericrft_genericRftGenericRftGenericRftGenericrft_generic
替代
convol_gaborconvol_gaborConvolGaborConvolGaborConvolGaborconvol_gabor
另见
gen_gaborgen_gaborGenGaborGenGaborGenGaborgen_gabor,
gen_highpassgen_highpassGenHighpassGenHighpassGenHighpassgen_highpass,
gen_lowpassgen_lowpassGenLowpassGenLowpassGenLowpassgen_lowpass,
gen_bandpassgen_bandpassGenBandpassGenBandpassGenBandpassgen_bandpass,
convol_gaborconvol_gaborConvolGaborConvolGaborConvolGaborconvol_gabor,
fft_image_invfft_image_invFftImageInvFftImageInvFftImageInvfft_image_inv
模块
基础