2020年6月3日 星期三

1042542 影像處理作業5

一、 作業說明 
撰寫一個程式(a)在一張圖片中將上雜訊,(b)設計方法將雜訊去除。
(a) 說明加上的雜訊類型(Gaussian, Uniform, Salt-and-Pepper等)與數量(20%, 50%等)
(b)說明所設計去除雜訊的方法

 二、 使用環境
1. Python 3.8
2. OpenCV 4.2.0
3. Matplotlib 3.2.1
4. Numpy 1.18.4

三、 實作方法
1. 使用cv2.imread()讀取圖片
2. 產生雜訊:
  • Gaussian Noise: 使用np.random.normal(), Mean = 0, Var = 10 
  • Uniform Noise: 使用np.random.uniform(), Low = -30, High = 30 
  • Rayleigh Noise: 使用np.random.rayleigh(), 
  • Exponential Noise: 使用np.random.exponential() 
  • Gamma Noise: 使用np.random.gamma() 
  • Salt and Pepper Noise: 使用skimage.util.random_noise(), 50% 
3. 消除雜訊:Size = 5 or (5,5)
  • Homogeneous Blur: 使用cv2.blur() 
  • Box Filter: 使用cv2.boxFilter() 
  • Gaussian Blur: 使用cv2.GaussianBlur() 
  • Median Blur: 使用cv2.medianBlur() 
4. 使用cv2.normalize()將圖片標準化於(0, 255)之範圍內
5. 使用plt.show()顯示增加雜訊與消除雜訊之結果

 四、 執行結果 
Add Noise

Box Filter

Gaussian Blur

Median Blur

Homogeneous Blur

沒有留言:

張貼留言