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

範例圖片:image2.jpg








留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1091537 Homework #1