s1091446 作業3
s1091446 作業3
主題: 離散傅立葉轉換 DFT 練習
目的: 撰寫傅利葉轉換程式(Forward Fourier Transform and Inverse Fourier Transform)將一張圖像轉換至頻域後,將頻譜大小與相位角度各以灰階256色圖像方式呈現出,再呈現還原後圖像。
一、 開發環境
- Windows 11
- Visual Studio code
- OpenCV 4.7.0
- Language:Python
二、 程式功能:
- 讀取圖像並轉換成灰階。
- 使用numpy的fft2函數來進行傅利葉轉換,然後用fftshift函數將零頻率分量移到頻譜的中心。
- 計算頻譜的大小(幅值)和相位角度。
- 將頻譜大小和相位角度轉換成灰階圖像。
- 使用ifftshift和ifft2函數進行反傅利葉轉換,並將結果轉換回原始圖像。
- 顯示原始圖像、頻譜大小、相位角度和還原後的圖像。
三、演算法:
使用快速傅利葉轉換(FFT)算法,這是一種高效計算離散傅利葉轉換 (DFT)的方法。FFT利用蝶形運算單元將複雜度從O(n^2)降低到O(nlogn),使得傅利葉轉換在計算上更加高效。
程式截圖:
匯入cv2和numpy函式庫
讀取圖片
留言
張貼留言