s1091447 作業4

作業說明 :

附件中的 image4 似乎受到某種頻域雜訊干擾,撰寫一個程式嘗試復原此圖像(將圖中雜訊去除)

開發環境: 

   Windows 11+ Visual Studio 2022 + OpenCV 4.7.0

程式碼說明:

(a)   去除雜訊

先利用作業3取得頻譜圖,利用小畫家塗黑要去除的地方,得到下列圖片,然後利用np.where(),二值化此圖片,從而實現頻譜遮罩的效果

spectrum.png

再來讀取image4.png,使用二維快速傅立葉轉換,將其轉換為頻譜圖,之後將傅立葉變換後得到的頻譜圖做移位操作,將頻譜圖的原點移至圖像中心,以方便後續的頻率域操作。

將頻譜圖與遮罩進行相乘,從而實現濾波器的效果,之後就和作業3一樣逆傅立葉轉換回去得到去除雜訊的圖片。

(a)   銳化圖片

cv2.convertScaleAbs(),將處理過的圖像轉換為8位無符號整數型別,以便於後續的銳化處理。

np.array([[-1,-1,-1],[-1,9,-1],[-1,-1,-1]]),定義一個3x3的卷積核,用於圖像銳化。

cv2.filter2D(filtered_img_uint8, -1, kernel):對圖像進行卷積運算,以實現銳化的效果。運算時使用的卷積核由上述步驟中定義。-1參數表示輸出圖像數據類型與輸入圖像相同。


 

留言

這個網誌中的熱門文章

rzwang Homework #1

s1101438 Homework #1

s1093309 作業6