s1101420 Homework #3
1122 Digital Image Processing Assignment #3 報告
學號:1101420 姓名:洪詩淳
主題: 傅立葉轉換與影像復原處理
專題目標: 運用c++和OpenCV函式庫,修復圖片畫質,呈現較清晰的圖片,利用傅立葉轉換和去噪來達成目的。
開發平台:Microsoft Windows 11,
Visual Studio 2022, OpenCV 4.90, C++
遇到的問題: 對於傅立葉轉換一開始很不熟悉,也對於頻譜的功能不太了解,因此花了較多心力在弄清楚他們之間的關係和影響。
程式架構與功能說明:
1. 先將要讀取的照片放入專案資料夾裡,再藉由輸入的方式,選擇要處理哪一張圖片。
2. 再將圖片大小轉換為最適合傅立葉變換的尺寸,利用copyMakeBorder將原始圖像放入新更新尺寸後的矩形中。
3. 接著利用merge將兩個單通道的圖和成為一個多通道的圖,以利於進行傅立葉轉換。
4. 傅立葉轉換後,將結果分成實部和虛部,並利用cartToPolar計算幅值和項為角度,並分別保存於振幅和項為頻譜中,再對幅值進行縮放和裁切並顯示於螢幕。
而為了更好觀察和分析,需要將圖片的零頻率分量移到中心位置,因此需要四個象限交互作用。再利用normalize對兩個頻譜進行歸一化後呈現出來。
5. 最後進行逆傅立葉和利用高斯濾波器對逆轉患的結果進行去噪,我將高斯濾波器的內和大小設為9x9,內核代表濾波器的有效半徑,可影響濾波器的平滑效果。
成果展示
Original Magnitude Spectrum
Phase spectrum output
留言
張貼留言