correlation_fftcorrelation_fftCorrelationFftCorrelationFftcorrelation_fft相关快速傅里叶变换(算子)

名称

correlation_fftcorrelation_fftCorrelationFftCorrelationFftcorrelation_fft — 在频域内将一个图像与另一个图像的复共轭相乘。

签名

correlation_fft(ImageFFT1, ImageFFT2 : ImageCorrelation : : )

Herror correlation_fft(const Hobject ImageFFT1, const Hobject ImageFFT2, Hobject* ImageCorrelation)

Herror T_correlation_fft(const Hobject ImageFFT1, const Hobject ImageFFT2, Hobject* ImageCorrelation)

void CorrelationFft(const HObject& ImageFFT1, const HObject& ImageFFT2, HObject* ImageCorrelation)

HImage HImage::CorrelationFft(const HImage& ImageFFT2) const

static void HOperatorSet.CorrelationFft(HObject imageFFT1, HObject imageFFT2, out HObject imageCorrelation)

HImage HImage.CorrelationFft(HImage imageFFT2)

def correlation_fft(image_fft1: HObject, image_fft2: HObject) -> HObject

描述

在计算两幅图像之间的相关性时,correlation_fftcorrelation_fftCorrelationFftCorrelationFftCorrelationFftcorrelation_fft 会将第一幅图像 ImageFFT1ImageFFT1ImageFFT1ImageFFT1imageFFT1image_fft1 的傅里叶变换与第二幅图像 ImageFFT2ImageFFT2ImageFFT2ImageFFT2imageFFT2image_fft2 的傅里叶变换的复共轭相乘。

根据相关性定理,可在像素空间中通过三步获得两幅图像的非归一化相关性:

  1. 使用傅里叶变换将图像转换至频率空间(参见 fft_genericfft_genericFftGenericFftGenericFftGenericfft_generic 等)。

  2. 将其中一幅转换后的图像与另一幅转换后图像的复共轭进行像素级乘法运算。

  3. 使用逆傅里叶变换将结果转换回像素空间(参见 fft_genericfft_genericFftGenericFftGenericFftGenericfft_generic 等)。

算子 correlation_fftcorrelation_fftCorrelationFftCorrelationFftCorrelationFftcorrelation_fft 用于执行第二步,即对 ImageFFT1ImageFFT1ImageFFT1ImageFFT1imageFFT1image_fft1ImageFFT2ImageFFT2ImageFFT2ImageFFT2imageFFT2image_fft2 的复共轭进行像素级乘法运算。

需要注意的是,为在空间域实现正确的关联缩放,正向变换(步骤1)必须使用 NormNormNormNormnormnorm = 'none'"none""none""none""none""none"fft_genericfft_genericFftGenericFftGenericFftGenericfft_genericrft_genericrft_genericRftGenericRftGenericRftGenericrft_generic 算子,而逆向变换(步骤3)则需使用 NormNormNormNormnormnorm = 'n'"n""n""n""n""n"fft_genericfft_genericFftGenericFftGenericFftGenericfft_genericrft_genericrft_genericRftGenericRftGenericRftGenericrft_generic 算子。若 ImageFFT1ImageFFT1ImageFFT1ImageFFT1imageFFT1image_fft1ImageFFT2ImageFFT2ImageFFT2ImageFFT2imageFFT2image_fft2 包含相同数量的图像,则对应图像进行成对乘积运算。否则 ImageFFT2ImageFFT2ImageFFT2ImageFFT2imageFFT2image_fft2 必须仅包含单张图像,此时需 ImageFFT1ImageFFT1ImageFFT1ImageFFT1imageFFT1image_fft1 中的每张图像分别与 ImageFFT2ImageFFT2ImageFFT2ImageFFT2imageFFT2image_fft2 进行乘积运算。

注意

滤波操作始终作用于整个图像,即忽略图像的域。

执行信息

参数

ImageFFT1ImageFFT1ImageFFT1ImageFFT1imageFFT1image_fft1 (输入对象)  (multichannel-)image(-array) objectHImageHObjectHImageHobject (complex)

傅里叶变换后的输入图像 1。

ImageFFT2ImageFFT2ImageFFT2ImageFFT2imageFFT2image_fft2 (输入对象)  (multichannel-)image(-array) objectHImageHObjectHImageHobject (complex)

傅里叶变换后的输入图像 2。

元素数量: ImageFFT2 == ImageFFT1 || ImageFFT2 == 1

ImageCorrelationImageCorrelationImageCorrelationImageCorrelationimageCorrelationimage_correlation (输出对象)  image(-array) objectHImageHObjectHImageHobject * (complex)

频域结果。

示例(HDevelop)

* Compute the auto-correlation of an image.
get_image_size(Image,Width,Height)
rft_generic(Image,ImageFFT,'to_freq','none','complex',Width)
correlation_fft(ImageFFT,ImageFFT,Correlation)
rft_generic(Correlation,AutoCorrelation,'from_freq','n','real',Width)

结果

correlation_fftcorrelation_fftCorrelationFftCorrelationFftCorrelationFftcorrelation_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_genericfft_genericFftGenericFftGenericFftGenericfft_generic, fft_imagefft_imageFftImageFftImageFftImagefft_image, rft_genericrft_genericRftGenericRftGenericRftGenericrft_generic

可能的后继

fft_genericfft_genericFftGenericFftGenericFftGenericfft_generic, fft_image_invfft_image_invFftImageInvFftImageInvFftImageInvfft_image_inv, rft_genericrft_genericRftGenericRftGenericRftGenericrft_generic

替代

phase_correlation_fftphase_correlation_fftPhaseCorrelationFftPhaseCorrelationFftPhaseCorrelationFftphase_correlation_fft

模块

基础