Numpy 傅立葉變換 np.fft (3) 低頻的位置與原始圖像的關係

大叔的python之路 andy 3年前 (2021-07-19) 763次浏览 已收录 0个评论 扫描二维码

Numpy 傅立葉變換 np.fft (3) 低頻的位置與原始圖像的關係
本篇我們觀察原始圖像不同方向的變化,對頻率的位置產生的影響。先是上白下黑的原始圖像陣列,經過 FT 的頻率域分布。

import numpy as np
import matplotlib.pyplot as plt
import src.genpic8 as pic


if __name__ == '__main__':
    img = pic.v_half()
    fft = np.fft.fft2(img)
    amp_spectrum_nl = np.abs(np.fft.fftshift(fft))
    amp_spectrum = amp_spectrum_nl

    plt.subplot(121), plt.imshow(img, cmap='gray', vmin=0, vmax=255)
    plt.title('Input Image'), plt.xticks([]), plt.yticks([])
    plt.subplot(122), plt.imshow(amp_spectrum, cmap='gray')
    plt.title('v_half'), plt.xticks([]), plt.yticks([])

    plt.show()

    print('end')

結果如下圖
Numpy 傅立葉變換 np.fft (3) 低頻的位置與原始圖像的關係
下圖是頻率數據
Numpy 傅立葉變換 np.fft (3) 低頻的位置與原始圖像的關係

然後,我們換成左白右黑的圖。

import numpy as np
import matplotlib.pyplot as plt
import src.genpic8 as pic


if __name__ == '__main__':
    img = pic.h_half()
    fft = np.fft.fft2(img)
    amp_spectrum_nl = np.abs(np.fft.fftshift(fft))
    amp_spectrum = amp_spectrum_nl

    plt.subplot(121), plt.imshow(img, cmap='gray', vmin=0, vmax=255)
    plt.title('Input Image'), plt.xticks([]), plt.yticks([])
    plt.subplot(122), plt.imshow(amp_spectrum, cmap='gray')
    plt.title('v_half'), plt.xticks([]), plt.yticks([])

    plt.show()

    print('end')

Numpy 傅立葉變換 np.fft (3) 低頻的位置與原始圖像的關係
下圖是頻率數據
Numpy 傅立葉變換 np.fft (3) 低頻的位置與原始圖像的關係

結論
透過觀察以兩張圖,我們發現頻率域的分布,和原始圖像變化的方向一致,比如第一張圖,變化的方白是上下,頻率的分布是直向。第二張圖變化的方向是左右,頻率的分布為橫向。

下一篇我們觀黑白交錯的原始圖像會產生什麼樣的頻率分布


神隊友學長Andy , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Numpy 傅立葉變換 np.fft (3) 低頻的位置與原始圖像的關係
喜欢 (0)
[[email protected]]
分享 (0)
andy
关于作者:
中年大叔,打拼 like young students.
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址