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以將水平與垂直方向的亮線過濾掉,如左圖。特別的是,為了更清楚的看見與 H的差異,我們使得兩者沒有交集。同樣的,我們以 1-H作為濾波函數作用於原訊號,如中間的圖,去檢視我們過濾掉的部分,如右圖。可以看到,這個濾波函數會過濾掉影像破損的區域(類似紙的摺痕跟印刷瑕疵),是我們想要的效果。

我們計算出濾波函數 H=H1×H2,如左圖,作用於原訊號上,如中圖,得到修復後的右圖。


(2)   在範例 2 中,分析原圖得到的振幅頻譜與相位頻譜如下。下圖中左側為原圖,中間為振幅頻譜,右側則為相位頻譜。


與上個範例相似,由於原圖有經半色調技術處理,振幅頻譜中有一些除中心點外的亮點,也有一些垂直與水平方向的亮線。我們打造一個濾波函數 H1 以將多餘的亮點濾掉,如左圖。為了確定我們過濾掉的成分是正確的,我們 1-H1 作為濾波函數作用於原訊號,如中間的圖,檢視我們過濾掉的部分,如右圖。可以看到,這個濾波函數會過濾掉網格狀的半色調點陣,是我們想要的效果。


接著,我們打造一個濾波函數 H2 以將水平與垂直方向的亮線過濾掉,如左圖。同樣的,我們故意使 H1  H2 沒有交集,並以 1-H2 作為濾波函數作用於原訊號,如中間的圖,去檢視我們過濾掉的部分,如右圖。可以看到,這個濾波函數會過濾掉過於複雜的區域,特別是背景的樹林與車輛細部。


最後,由於此張圖像細節部分較多,我們加上寬度較大(標準差較大)的高斯濾波器 H3 ,在保留基本細節的同時,過濾掉過於細部的細節或者雜訊。我們計算出濾波函數 H=H1×H2×H3,如左圖,作用於原訊號上,如中圖,得到修復後的右圖。


(3)   為了嘗試不同雜訊的修復,我另外處理一張經復古濾鏡處理的影像,如左圖。可以看見,影像中佈滿顆粒狀的雜訊。中間的圖為振幅頻譜,右側則為相位頻譜。



為了去除佈滿整張影像的雜訊,我們使用高斯濾波器 H 過濾掉高頻部分,高斯濾波器如左圖。同樣的,我們也透過將 1-H 作用於原訊號,如中圖,檢視被過濾掉的成分,如右圖。可以發現,被過濾掉的是雜訊與樹叢。


我們以左圖的濾波函數 H ,作用於原訊號上,得到中圖,然後進行逆轉換為修復後的右圖。


成果展示與討論:

1.      image1.jpg:左方為原圖,右方為修復後的影像。

2.      image2.jpg:左方為原圖,右方為修復後的影像。


3.      提供的額外影像:左方為原圖,右方為修復後的影像。

留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1091537 Homework #1