s1101415 Homework#3
1122 Digital Image Processing Assignment #3 報告
學號:s1101415 姓名:張榆莉
主題: 傅立葉轉換與影像復原處理
專案目標:
使用Opencv函式庫及Python撰寫程式,使用傅立葉變換等功能將受到雜訊干擾的圖片盡量復原,並輸出頻譜圖與復原後的圖片。
開發環境:Microsoft Windows 10, Visual Studio Code, OpenCV 4.9.0, Python3.12
程式架構與說明:
1. 在終端機中讓使用者輸入想要執行的檔案名稱(包含附檔名),讀取檔案時以灰階讀入圖片,讀取失敗時會輸出”Can’t read file!” 的訊息。
2. 對該圖片做傅立葉變換轉換到頻率域,但因為預設結果的中心點是在左上角,所以要用np.fft.fftshift()將其移到頻譜中心。
接著利用做完變換的圖片產生振幅頻譜(取絕對值後做log再乘以20)與相位頻譜。
3. 設計一個高斯濾波器遍歷圖片中的每一個像素,並設40為截止頻率。最後把傅立葉變換的結果乘上計算出來的濾波器,就能得到去除雜訊後的結果。
4. 將頻譜中心移回原來的位置,再對圖形做逆變換轉回時域,然後取絕對值來得出結果。
5. 從matplotlib引用pyplot來繪製2*2的輸出圖形,分別是原始圖形、振幅頻譜、相位頻譜及使用濾波器去除雜訊後的圖形。
成果展示與討論:
實作影片連結:https://youtu.be/w-j4t41ebiw
執行範例1:
範例圖片:image1.jpg
執行範例2:


留言
張貼留言