1091514 作業3

 Windows 11 + Python3.8 + opencv4.7


傅立葉變換的步驟如下:


  1. 讀取輸入圖像。
  2. 對圖像進行傅立葉變換,得到復數數組。
  3. 對得到的複數數組進行移頻操作,使得直流分量在圖像中心。
  4. 計算複數數組的大小和相位角度,以此得到頻譜圖的幅度譜和相位譜。
  5. 將幅度譜和相位譜映射到灰度圖像,以便顯示。
  6. 對移頻後的複數數組進行逆移頻操作,得到恢復後的圖像的複數數組。
  7. 對逆移頻後的複數數組進行逆傅立葉變換,得到恢復後的圖像。
  8. 顯示傅立葉變換後的頻譜圖、幅度譜和相位譜、以及逆傅立葉變換後的恢復圖像。

使用的函式包括:
  • cv2.imread: 用於讀取圖像。
  • np.fft.fft2: 用於執行傅立葉變換。
  • np.fft.fftshift: 用於將傅立葉變換後的頻譜圖像進行移位操作。
  • np.abs: 用於計算複數的絕對值。
  • np.angle: 用於計算複數的相位角度。
  • cv2.normalize: 用於將圖像像素值縮放到指定的範圍內。
  • np.fft.ifftshift: 用於將頻譜圖像進行移位操作,以便執行逆傅立葉變換。
  • np.fft.ifft2: 用於執行逆傅立葉變換。

頻譜
  

相位

恢復後圖像


留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1091537 Homework #1