撰寫一個程式(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%
- Homogeneous Blur: 使用cv2.blur()
- Box Filter: 使用cv2.boxFilter()
- Gaussian Blur: 使用cv2.GaussianBlur()
- Median Blur: 使用cv2.medianBlur()
5. 使用plt.show()顯示增加雜訊與消除雜訊之結果
四、 執行結果
Add Noise |
Box Filter |
Gaussian Blur |
Median Blur |
Homogeneous Blur |
沒有留言:
張貼留言