s1091537 Homework #3
1122 Digital Image Processing Assignment #3 報告
學號:s1091537
姓名:蔡佾家
主題:傅立葉轉換與影像復原處理
專案目標:
對原始影像進行傅立葉轉換,在頻域辨識出雜訊後將其去除,以修復受雜訊干擾的影像。下左圖為原圖,右圖則為修復後。進行修復的影像共有 3 張,包含 2 張指定的影像與 1 張自己的影像。
開發平台:Microsoft Windows 11, Visual Studio
Code, OpenCV 4.6.0, Python 3.7.9
主要概念說明:
1. 基本流程
(1) 首先,如同上課投影片所述,我們對影像進行 zero-padding 成四倍大小,並將奇數位置的像素值乘以 -1 以中心化傅立葉轉換。接著,我們進行傅立葉轉換,得到振幅頻譜與相位頻譜。下圖中左側為原圖,中間為振幅頻譜,右側則為相位頻譜。
(2) 接著,我們根據振幅頻譜量身訂製一個濾波函數(此步驟會在下一節解釋),對原訊號進行濾波,並進行傅立葉反轉換,再去除掉 padding 的部分,得到修復後的成果。下圖中左側為濾波函數,中間為經濾波後的振幅頻譜,右側則為復原的影像。
2. 訂製濾波函數
(1) 在範例 1 中,分析原圖得到的振幅頻譜與相位頻譜如下。下圖中左側為原圖,中間為振幅頻譜,右側則為相位頻譜。
可以發現,由於原圖有經半色調技術處理,振幅頻譜中有一些除中心點外的亮點,也有一些垂直與水平方向的亮線。我們打造一個濾波函數 H1 以將多餘的亮點濾掉,如左圖。為了確定我們過濾掉的成分是正確的,我們以 1-H1 作為濾波函數作用於原訊號,如中間的圖,進行傅立葉逆轉換,以檢視我們過濾掉的部分,如右圖。可以看到,這個濾波函數會過濾掉網格狀的半色調點陣,是我們想要的效果。
我們計算出濾波函數 H=H1×H2,如左圖,作用於原訊號上,如中圖,得到修復後的右圖。
(2) 在範例 2 中,分析原圖得到的振幅頻譜與相位頻譜如下。下圖中左側為原圖,中間為振幅頻譜,右側則為相位頻譜。
與上個範例相似,由於原圖有經半色調技術處理,振幅頻譜中有一些除中心點外的亮點,也有一些垂直與水平方向的亮線。我們打造一個濾波函數 H1 以將多餘的亮點濾掉,如左圖。為了確定我們過濾掉的成分是正確的,我們以 1-H1 作為濾波函數作用於原訊號,如中間的圖,檢視我們過濾掉的部分,如右圖。可以看到,這個濾波函數會過濾掉網格狀的半色調點陣,是我們想要的效果。
接著,我們打造一個濾波函數 H2 以將水平與垂直方向的亮線過濾掉,如左圖。同樣的,我們故意使 H1 與 H2 沒有交集,並以 1-H2 作為濾波函數作用於原訊號,如中間的圖,去檢視我們過濾掉的部分,如右圖。可以看到,這個濾波函數會過濾掉過於複雜的區域,特別是背景的樹林與車輛細部。
最後,由於此張圖像細節部分較多,我們加上寬度較大(標準差較大)的高斯濾波器 H3 ,在保留基本細節的同時,過濾掉過於細部的細節或者雜訊。我們計算出濾波函數 H=H1×H2×H3,如左圖,作用於原訊號上,如中圖,得到修復後的右圖。
(3)
為了嘗試不同雜訊的修復,我另外處理一張經復古濾鏡處理的影像,如左圖。可以看見,影像中佈滿顆粒狀的雜訊。中間的圖為振幅頻譜,右側則為相位頻譜。
為了去除佈滿整張影像的雜訊,我們使用高斯濾波器 H 過濾掉高頻部分,高斯濾波器如左圖。同樣的,我們也透過將 1-H 作用於原訊號,如中圖,檢視被過濾掉的成分,如右圖。可以發現,被過濾掉的是雜訊與樹叢。
我們以左圖的濾波函數 H ,作用於原訊號上,得到中圖,然後進行逆轉換為修復後的右圖。
留言
張貼留言