s1091446 作業3

s1091446 作業3

 主題: 離散傅立葉轉換 DFT 練習

目的: 撰寫傅利葉轉換程式(Forward Fourier Transform and Inverse Fourier Transform)將一張圖像轉換至頻域後,將頻譜大小與相位角度各以灰階256色圖像方式呈現出,再呈現還原後圖像。

一、 開發環境

  • Windows 11
  • Visual Studio code
  • OpenCV 4.7.0
  • Language:Python
、 程式功能: 
  1. 讀取圖像並轉換成灰階。
  2. 使用numpy的fft2函數來進行傅利葉轉換,然後用fftshift函數將零頻率分量移到頻譜的中心。
  3. 計算頻譜的大小(幅值)和相位角度。
  4. 將頻譜大小和相位角度轉換成灰階圖像。
  5. 使用ifftshift和ifft2函數進行反傅利葉轉換,並將結果轉換回原始圖像。
  6. 顯示原始圖像、頻譜大小、相位角度和還原後的圖像。

三、演算法:

 使用快速傅利葉轉換(FFT)算法,這是一種高效計算離散傅利葉轉換  (DFT)的方法。FFT利用蝶形運算單元將複雜度從O(n^2)降低到O(nlogn),使得傅利葉轉換在計算上更加高效。

程式截圖:

匯入cv2和numpy函式庫


讀取圖片





顯示結果


運行圖片:


Original

Phase

Spectrum

Restore




影片連結:

https://youtu.be/8Qq4vzCjuSs




留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1061637 作業6