convol_fftconvol_fftConvolFftConvolFftconvol_fft卷积快速傅里叶变换(算子)
名称
convol_fftconvol_fftConvolFftConvolFftconvol_fft — 在频域中使用滤波器对图像进行卷积。
签名
描述
作为计算图像与滤波器图像卷积的一部分,convol_fftconvol_fftConvolFftConvolFftConvolFftconvol_fft 将图像
ImageFFTImageFFTImageFFTImageFFTimageFFTimage_fft 的傅里叶变换与作为滤波器的第二个图像 ImageFilterImageFilterImageFilterImageFilterimageFilterimage_filter 的傅里叶变换相乘。
根据卷积定理,两个图像在像素空间中的非归一化卷积可通过三步获得:
-
使用傅里叶变换将图像转换到频域(参见例如 fft_genericfft_genericFftGenericFftGenericFftGenericfft_generic)。
-
将转换后的图像与转换后的滤波器图像进行逐像素乘法运算。
-
使用逆傅里叶变换将结果转换回像素空间(参见例如 fft_genericfft_genericFftGenericFftGenericFftGenericfft_generic)。
算子 convol_fftconvol_fftConvolFftConvolFftConvolFftconvol_fft 用于执行第二步,即对 ImageFFTImageFFTImageFFTImageFFTimageFFTimage_fft 与 ImageFilterImageFilterImageFilterImageFilterimageFilterimage_filter 进行像素级乘法运算。
注意
滤波操作始终作用于整个图像,即忽略图像的域。
执行信息
- 多线程类型:可重入(与非独占算子并行运行)。
- 多线程作用域:全局(可从任何线程调用)。
- 在元组级别上自动并行化。
- 在通道级别上自动并行化。
参数
ImageFFTImageFFTImageFFTImageFFTimageFFTimage_fft (输入对象) (multichannel-)image(-array) → objectHImageHObjectHImageHobject (complex)
复数输入图像。
ImageFilterImageFilterImageFilterImageFilterimageFilterimage_filter (输入对象) (multichannel-)image → objectHImageHObjectHImageHobject (real / complex)
在频域中进行滤波。
ImageConvolImageConvolImageConvolImageConvolimageConvolimage_convol (输出对象) image(-array) → objectHImageHObjectHImageHobject * (complex)
频域结果。
示例(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
模块
基础