s1091521 Homework #3

 s1091521 1122 Homework #3

1122 Digital Image Processing Assignment #3

學號1091521

姓名林哲慶

主題傅立葉轉換與影像復原處理

專案目標

        請撰寫一個程式處理作業3所附之受干擾的圖片,盡可能地恢復圖片原始狀態。

開發平台

        Windows 11, Python 3.9.10, OpenCV-Python 4.9.0, PyQt5 5.15.10, Visual Studio Code

Demo 影片:


功能說明、成果

        第一部分使用PyQt5視窗程式套件,將使用Low pass filter功能使圖片平滑化去除雜訊,在視窗程式裡實作,以做出動態調整filter的效果,並及時看到圖片與filter的變化,外加儲存結果圖片的功能。另外有做出與Low pass filter相反的High pass filter,以去除低頻訊號,留下高頻處的輪廓。

    其中能調整的參數有

  • Filter圓圈半徑大小
  • 高斯模糊所使用Kernel的大小,僅能為奇數。

    主要使用於圖像處裡的函數有

  • numpy.fft.fftshift
  • numpy.fft.fft2
  • numpy.fft.ifftshift
  • numpy.fft.ifft2

        第二部分為使用Notch Filter針對image1.jpg所表現的修復效果,可以發現其恢復效果比單純只使用高斯濾波器來的好,圖像更加清晰。

    以下為作業提供之圖片成果展示,

    包含受破壞輸入圖及和其Magnitude and Phase Spectrum,以及修復後的結果。

    
        視窗介面如下,左上為原圖,中上為Magnitude Spectrum,右上為Phase Spectrum左下為修復後的圖片,中下為與Mask疊加後的Magnitude Spectrum,右下為Mask。


        Mask Radius拉小,並把Gaussian Blur Size設為1,也就是幾乎使Mask圓圈邊緣更銳利,發現低頻雖然有通過,但圖片仍較模糊,且出現紋路。


        Mask Radius加大但不去包含到高頻雜訊,並且使用高斯模糊使Mask邊緣更緩和,可得較為清晰的復原圖片。

    
    復原圖如下


    開啟第二張圖片,並用以下設定進行修復。
    

    復原圖如下



    High pass filter,與低頻濾波相反的高頻濾波,只留下高頻訊號,能找到輪廓。


    輪廓
圖如下


    甚至能把作業的雜訊圖的雜訊取出來。


    第二部分使用Notch Filter的修復效果:

    此為修復程式執行完成的結果
    

    此為image1.jpg的頻域圖,可以再圖中看到許多由點和線所組成的高頻雜訊
    

    為image1.jpg製作專屬的Notch Filter,如下圖
    

    合併之後,可以發現高頻雜訊被Notch Filter給去除
    

    復原後的圖片如下,第一張圖片為原圖,第二張為使用Notch Filter修復的結果,第三張則是高斯濾波器修復的結果,可以發現前者修復後明顯較後者清晰,修復效果非常好。





留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1091537 Homework #1