





























2D DFT变换在数字图像处理中有着重要应用,本文记录图像频域处理中的卷积、相关等内容。

$$
S(i, j)=(I * K)(i, j)=\sum \sum I(m, n) K(i-m, j-n)
$$
也就是说 $K$ 的二维信号是左右、上下翻转后再平移求向量点积的。
这点和神经网络中的卷积概念有些出入,在不同场合稍加注意就好。
这样设计的好处是使得卷积操作拥有了可交换性,即上式可以等价地写作:
$$
S(i, j)=(K * I)(i, j)=\sum \sum I(i-m, j-n) K(m, n)
$$
$$
F{f(x,y)*g(x,y)}=F(x,y)G(x,y)
$$
$$
C=IFFT(FFT(I)*FFT(T))
$$

$$
S(i, j)=(I * K)(i, j)=\sum_{m} \sum_{n} I(i+m, j+n) K(m, n)
$$
$$ S=IFFT(FFT(I)*FFT^*(T)) $$
$$
S=IFFT(FFT^*(I)*FFT(T))
$$

$$
g_{b}(x, y) \stackrel{\text { def }}{=} g_{a}((x-\Delta x) \bmod M,(y-\Delta y) \bmod N)
$$
$$ \mathbf{G}_{b}(u, v)=\mathbf{G}_{a}(u, v) e^{-2 \pi i\left(\frac{u \Delta x}{M}+\frac{v \Delta y}{N}\right)} $$
$$ \begin{aligned} R(u, v) &=\frac{\mathbf{G}_{a} \mathbf{G}_{b}^{*}}{\left|\mathbf{G}_{a} \mathbf{G}_{b}^{*}\right|} \\ &=\frac{\mathbf{G}_{a} \mathbf{G}_{a}^{*} e^{2 \pi i\left(\frac{u \Delta x}{M}+\frac{v \Delta y}{N}\right)}}{\left|\mathbf{G}_{a} \mathbf{G}_{a}^{*} e^{2 \pi i\left(\frac{u \Delta x}{M}+\frac{v \Delta y}{N}\right)}\right|} \\ &=\frac{\mathbf{G}_{a} \mathbf{G}_{a}^{*} e^{2 \pi i\left(\frac{u \Delta x}{M}+\frac{v \Delta y}{N}\right)}}{\left|\mathbf{G}_{a} \mathbf{G}_{a}^{*}\right|} \\ &=e^{2 \pi i\left(\frac{u \Delta x}{M}+\frac{v \Delta y}{N}\right)} \end{aligned} $$
该频谱表示的就是空域信号中 $ \delta(x+\Delta x, y+\Delta y) $ 的傅里叶变换,因此其反变换就可以得到位移的位置了。
维基百科上说:
This result could have been obtained by calculating the cross correlation directly. The advantage of this method is that the discrete Fourier transform and its inverse can be performed using the fast Fourier transform, which is much faster than correlation for large images.
但是事实上相位相关和互相关在时域的表现差异很大:

文章链接:
https://www.zywvvd.com/notes/study/math/fourier-transform/2d-dft-corr/2d-dft-corr/
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。