1.作業說明:
撰寫一個程式(a)在一張圖片中將上雜訊,(b)設計方法將雜訊去除。
(a) 說明加上的雜訊類型(Gaussian, Uniform, Salt-and-Pepper 等)與數量(20%, 50%等)
(b)說明所設計去除雜訊的方法
2.使用環境:
Operation system: windows10
Programing language: Python 3.8.2
Library version: Opencv 4.2.0
3.程式流程:
(1) gauss_noise函式: 使用 np.random.normal(...)產生 Gaussian distribution,並和原始圖片相加產生 Gauss noise
(2) uniform_noise函式: 使用 np.random.uniform(...)產生 Uniform distribution,並和原始圖片相加產生 Uniform noise
(3) salt_and_pepper_noise函式: 使用 np.random.rand(...)產生[0,1)的數字,並透過設定的機率值來使圖片產生 Salt and pepper noise
(4) 使用 cv2.imread(...) 將原始圖片讀入
(5) 將原始圖片丟到上述三種函式產生三種Gauss noise、Uniform noise、Salt and pepper noise的圖片
(6) 使用 cv2.GaussianBlur(...)將 Gauss noise的圖片做 Gaussian Blur
(7) 使用 cv2.bilateralFilter(...)將 Uniform noise的圖片做 Bilateral blur
(8) 使用 cv2.medianBlur(...)將 Salt and pepper noise的圖片做 Median blur
(9) 將所有圖片印出
4.執行範例:
原始圖片:
Original image |
Gauss:
Gauss noise |
Gaussian Blur
Uniform:
Uniform noise
Bilateral blur
Salt and Pepper:
Salt and Pepper noise
Median Blur
|
沒有留言:
張貼留言