中心化傅里叶变换

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⚠️ 傅里叶变换

OpenCV⚠️高手勿入! 半小时学会基本操作 22⚠️ 傅里叶变换

OpenCV--傅里叶变换

Python_opencv_傅里叶变换

二维傅里叶变换滤波/降噪