s1091530 作業4

 

1. 開發環境

windows11

Python:3.8.13

opencv-python:4.7.0.72

numpy:1.24.2


2. 功能

imread() : 讀取圖像並轉為灰度圖像。

fft2() :對圖像進行傅立葉轉換。

fftshift() : 將零頻率分量移到圖像中心。

mask : 利用np.zeros創建一個大小和原圖相同的矩陣,並在中心處畫一個半徑為50的白圈,以便製作高斯低通濾波器。

fshift *(1 - mask) : 之後將圖像中心區域設為1以保留低頻信號,並將圖像周圍的區域設為0以去除高頻雜訊。

ifftshift() : 最後將頻域中心移回左上角,

ifft2() : 再利用傅立葉逆轉來獲取過濾後的圖像。

normalize() :還將處理後的圖像img_filtered歸一化到0-255的範圍內,以便圖像的顯示和處理。


為了更完整消除雜訊,還使用了非局部均值去噪算法 fastNlMeansDenoising()。

該算法是一種基於圖像區域相似性的降噪方法,通過將圖像的某個像素與周圍像素的相似度進行比較,從而去除圖像中的雜訊,並且能夠保持圖像的細節和邊緣信息。


3. 結果


原圖

復原後圖




留言

這個網誌中的熱門文章

rzwang Homework #1

s1093350 Homework #2

s1061637 作業6