2022年4月13日 星期三

s1081541 作業4

 

作業說明:

    (1)計算輸入圖的離散傅立葉轉換結果,並將頻譜大小與相位角度各以灰階256色圖像方式呈現出。

    (2)對圖像利用Gaussian Low-Pass filter處理,輸出平滑後圖像。

開發環境: 


    Windows 10 + Visual Studio 2019 + OpenCV 4.5.0 + C++


實作方法:

1.        輸入圖片路徑,以灰階模式讀取圖片,輸出(Original)

2.        對圖片padding成最佳的尺寸(2),避免混疊,擴充影像邊界,輸出(padding)

3.        裁剪奇數行或列

4.        分配存儲空間(實部和虛部),離散傅立葉,split複數轉換

5.        重新排列,交換象限

6.        實部/虛部與濾波器相乘後合併,G(u,v)=F(u,v)H(u,v)

7.        計算二維向量的幅值,轉換log,求相位

8.        歸一化後輸出(PhaseSpectrum)

9.        反傅立葉,計算平滑圖像後輸出(Low-Pass_ex)

10.    將平滑圖像還原成原始大小輸出(Low-Pass)

執行結果:

Original & Padding


Spectrum

Phase

Low-Pass_ex & Low-Pass


沒有留言:

張貼留言