s1083323 作業3

 

作業三 離散傅立葉轉換 DFT 練習


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


開發環境:
  • Win10
  • C++
  • Open CV4.7.0
  • VS 2019

(一)讀取圖片,並轉成灰階





(二)改變圖片大小,利用函數getOptimalDFTSize(),再利用copyMakeBorder()將邊界進行填充,便於DFT計算,plane用來儲存padded的實部虛部平面,透過merge將實部與虛部平面合併,dft進行傅立葉轉換






(三) 將轉換後的complex分離成實部與虛部平面,計算出magnitude與phase,並將尺度轉換方便觀察






(四)將magnitude與phase重新排列,讓原點位於圖像中央






(五)進行傅利葉反轉換,還原圖像





(六)結果

1. magnitude



2.phase






3.還原圖








留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1061637 作業6