請撰寫一個程式,讀取一張 256 色灰階圖像。計算輸入圖的離散傅立葉轉換結果,並將頻譜大小與相位角度各以灰階256 色圖像方式呈現出。
二、實作環境:window、python3、opencv、PyQt5、Numpy
三、程式片段說明:
- 將圖片以灰階方式讀入
- cv2.dft()做DFT傅立葉轉換
- np.fft.fftshift()做移頻
- cv2.magnitude()得到spectrum圖
- 將上述經由fftshift後的結果作為cv2.phase()的輸入,然後得倒phase圖
- 將fftshift後的結果進行反向操作,即可得到原本輸入的灰階圖
- 初始介面,按下Load選擇圖片

- 執行結果(左上角Input為原本輸入的灰階圖片、右上角為Spectrum圖、左下角為Phase圖、右下角Back為反向操作得回的灰階原圖)

- 上排的按鍵可對圖進行存取等動作


沒有留言:
張貼留言