s1093338 Homework #3
1122 Digital Image Processing Assignment #3 報告
學號:1093338 姓名:簡毓臻
主題: 傅立葉轉換與影像復原處理
專案目標:
使用頻域濾波技術對影像進行處理,盡可能地恢復照片原始狀態呈現較清晰的景物。
開發環境:
- 用的作業系統:Windows
- 開發環境:VScode
- 用的套件:OpenCV version: 4.9.0, numpy, matplotlib.pyplot
- 程式語言:Python 3.12.0
程式架構與功能說明:
對受損圖片先做傅立葉轉換,再用低通濾波器進行去噪,顯示原始受損圖片、傅立葉變換後的振幅頻譜、相位頻譜及修復後的圖片。
因為振幅頻譜和相位頻譜都使用了 numpy 模組,是屬於複數形式,用cv2.imshow會無法直接輸出(可以用但需要做一些轉換),所以顯示圖片改用 matplotlib.pyplot。
- 傅立葉轉換:使用 numpy 裡的 fft 模組,fftshift 是將傅立葉變換的結果的零頻率分量移到圖像的中心,方便觀察。
- 計算傅立葉轉換後的振幅頻譜及相位頻譜
- 設計一個低濾波器,讓受損圖片稍微平滑以及達到去噪作用
- 將振幅頻譜和 mask 相乘結果和相位頻譜組合成複數形式,並再進行逆傅立葉變換就可以得到修復好的圖片。
程式架構與功能說明:
對受損圖片先做傅立葉轉換,再用低通濾波器進行去噪,顯示原始受損圖片、傅立葉變換後的振幅頻譜、相位頻譜及修復後的圖片。
因為振幅頻譜和相位頻譜都使用了 numpy 模組,是屬於複數形式,用cv2.imshow會無法直接輸出(可以用但需要做一些轉換),所以顯示圖片改用 matplotlib.pyplot。
因為振幅頻譜和相位頻譜都使用了 numpy 模組,是屬於複數形式,用cv2.imshow會無法直接輸出(可以用但需要做一些轉換),所以顯示圖片改用 matplotlib.pyplot。
- 傅立葉轉換:使用 numpy 裡的 fft 模組,fftshift 是將傅立葉變換的結果的零頻率分量移到圖像的中心,方便觀察。
- 計算傅立葉轉換後的振幅頻譜及相位頻譜
- 設計一個低濾波器,讓受損圖片稍微平滑以及達到去噪作用
- 將振幅頻譜和 mask 相乘結果和相位頻譜組合成複數形式,並再進行逆傅立葉變換就可以得到修復好的圖片。
成果展示與討論:
成果展示與討論:
留言
張貼留言