中心化傅里叶变换
Posted 肉丸不肉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了中心化傅里叶变换相关的知识,希望对你有一定的参考价值。
参考文章:数字图像频谱中心化
研究数字图像有时需要变换到频率做处理,比如滤波等。
但直接对数字图像进行二维DFT变换得到的频谱图是高频在中间,低频在四角。为了把能量(在低频)集中起来便于使用滤波器,可以利用二维DFT的平移性质对频谱进行中心化。
频谱图比较亮的地方就是低频,因为图像的能量一般都是集中在低频部分。
所以推导出来的结论是:
对数字图像的每个像素点的取值直接乘以(-1)^(x+y),x和y是像素坐标。这之后再做傅里叶变换,最后即为中心化后的傅里叶变换。
代码:
# 未中心化的傅里叶变换
fft_img = dft2D(f)
# 中心化后的傅里叶变换
F= dft2D(FFT_SHIFT(f))
# 中心化
def FFT_SHIFT(img):
m,n = img.shape
for i in range(0,m):
for j in range(0,n):
img[i][j] = img[i][j] * math.pow(-1,(i+j))
#img[i,j] = img[i,j]*(-1)**(i+j)
return img
以上是关于中心化傅里叶变换的主要内容,如果未能解决你的问题,请参考以下文章
OpenCV⚠️高手勿入! 半小时学会基本操作 22⚠️ 傅里叶变换