最近复习图像和视频处理课,好多基础推导都不能得心应手,复习进度相当缓慢,过程异常痛苦。图像的二维傅里叶变换的公式始终没成功推出来,执着地僵持了很久,于是成此文。
数字图像(M行*N列)是二维离散信号,可以认为是从一维离散时间信号(也就是 序列)的推广。
(一)二维脉冲阵列信号的FT
考虑二维脉冲阵列信号:
p(x,y)=k=0∑M−1l=0∑N−1δ(x−kΔx,y−lΔy)(1)
k,l只是序号,实际上x只能取离散值kΔx, y只能取lΔy.
Δx,Δy分别是图像在空域x和y方向的采样间隔。而Δx1,Δy1是频域u和v方向的采样率.
显然,
p(x,y)=δ(x,y)+δ(x,y−Δy)+⋯+δ(x,y−(N−1)Δy)
+δ(x−Δx,y)+δ(x−Δx,y−Δy)+⋯+δ(x−Δx,y−(N−1)Δy)+
⋯
+δ(x−(M−1)Δx,y−(N−1)Δy)(2)
所以它是M*N的阵列,每个点的值都是1 .
对(1)做二维FT:(关于二维傅里叶变换公式,移步这里.)
P(u,v)=Δx1Δy1k=0∑M−1l=0∑N−1p(x,y)e−j2π(ukΔx+vlΔy)=(3)
直接把(1)进来:
Δx1Δy1k=0∑M−1l=0∑N−1k=0∑M−1l=0∑N−1δ(x−kΔx,y−lΔy)e−j2π(ukΔx+vlΔy)=(4)
由冲激函数的抽样性,只有当x=kΔx,y=lΔy时冲激函数取值为1,则:
Δx1Δy1k=0∑M−1l=0∑N−1e−j2π(xu+yv)=(5)
由于x=kΔx,y=lΔy,所以:
Δx1Δy1k=0∑M−1l=0∑N−1e−j2π(kΔxu+lΔyv)=(6)
由于指数的括号里面的值一定是整数 ,所以∑k=0M−1∑l=0N−1e−j2π(kΔxu+lΔyv)就是M*N个1,于是可以写成:
Δx1Δy1k=0∑M−1l=0∑N−1δ(u−Δxk,v−Δyl)(7)
其实(6)—(7) 的过程我不是特别明白,没完全想清楚,如有读者清楚欢迎在评论区说明,谢谢啦。
(二)图像的采样和重建
对图像采样就是原始信号f(x,y)与采样脉冲序列p(x,y)相乘。
fs(x,y)=f(x,y)p(x,y)
那么在频域就有:
Fs(u,v)=2π1F(u,v)∗P(u,v)=
2π1F(u,v)∗[Δx1Δy1k=0∑M−1l=0∑N−1δ(u−Δxk,v−Δyl)]=
2π1Δx1Δy1k=0∑M−1l=0∑N−1F(u−Δxk,v−Δyl)
根据Nyquist定理,只要有
Δx1≥2Umax,Δy1≥2Vmax
原始的模拟信号就可以从采样得到的数字图像中完美重建。
而在实际中,重构是利用低通滤波器实现的。如下图,原始模拟信号经过采样,频谱延拓并周期性重复,用LowPass filter滤出一个完整频谱即可。
