一、作業要求
離散傅立葉轉換 DFT 練習
請撰寫一個程式,讀取一張 256 色灰階圖像(圖像大小適中以免執行時間太久)。計算輸入圖的離散傅立葉轉換結果,並將頻譜大小與相位角度各以灰階 256 色圖像方式呈現出。
請撰寫一個程式,讀取一張 256 色灰階圖像(圖像大小適中以免執行時間太久)。計算輸入圖的離散傅立葉轉換結果,並將頻譜大小與相位角度各以灰階 256 色圖像方式呈現出。
二、使用環境
1. Visual Studio 2019
2. OpenCV 4.2.0
3. 程式語言: C++
三、實作方法
1. 使用imread("xxx.jpg")讀取圖片
2. 使用getOptimalDFTSize()重新計算尺寸以提高傅立葉轉換的速度
3. 使用dft();進行離散傅立葉轉換
4. 使用magnitude()計算矩陣的頻譜大小
5. 使用phase(); 取得相位角度
6. 使用normalize()正規化 變換為可視的影像格式
7.最後以imshow(.jpg,image);顯示圖片
7.最後以imshow(.jpg,image);顯示圖片
四、實驗結果
原圖 |
左:頻譜大小 右:相位角度 |
不使用內建DFT函式的結果 |
沒有留言:
張貼留言