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. 結果
![]() |
原圖 |
![]() |
復原後圖 |
留言
張貼留言