2020年5月31日 星期日
1053302 影像處理作業5
一、作業說明
撰寫一個程式(a)在一張圖片中將上雜訊,(b)設計方法將雜訊去除。
(a) 說明加上的雜訊類型(Gaussian, Uniform, Salt-and-Pepper 等)與數量(20%, 50%等)
(b)說明所設計去除雜訊的方法
二、使用環境
Visual Studio 2017 & opencv4.2.0
三、實作方法
1. imread讀入圖片
2. addSaltNoise()中會先隨機取值行列以及做通道判定並且撒上雜訊
3. generateGaussianNoise()生成高斯雜訊
4. addGaussianNoise()在圖像上面添加高斯雜訊
5. blur()對圖像做均值平滑
6. GaussianBlur()對圖像做高斯平滑
7. medianBlur()對圖像做中值平滑
8. bilateralFilter()對圖像做雙邊平滑
四、執行結果
(四種平滑: 均值平滑、高斯平滑、中值平滑、雙邊平滑)
(椒鹽雜訊10%+四種平滑)
(椒鹽雜訊20%+四種平滑)
(椒鹽雜訊50%+四種平滑)
(高斯雜訊+四種平滑)
1063329影像處理作業5
一、作業說明
撰寫一個程式(a)在一張圖片中將上雜訊,(b)設計方法將雜訊去除。
(a) 說明加上的雜訊類型(Gaussian, Uniform, Salt-and-Pepper 等)與數量(20%, 50%等)
(b)說明所設計去除雜訊的方法
二、使用環境
- Visual Studio 2017
- opencv3.4.1
三、實作方法
撰寫一個程式(a)在一張圖片中將上雜訊,(b)設計方法將雜訊去除。
(a) 說明加上的雜訊類型(Gaussian, Uniform, Salt-and-Pepper 等)與數量(20%, 50%等)
(b)說明所設計去除雜訊的方法
二、使用環境
- Visual Studio 2017
- opencv3.4.1
三、實作方法
-imread讀取彩圖 -
-
randn
(InputOutputArray dst, InputArray mean, InputArray stddev)對dst陣列做高斯分布隨機數 -randu
(InputOutputArray dst, InputArray low, InputArray high)對dst陣列做均勻分布隨機數-
threshold
(InputArray src, OutputArray dst, double thresh, double maxval, int type)將src陣列做二值化 -將雜訊加入原圖像 -fastNlMeansDenoising
(InputArray src, OutputArray dst, float h=3, int templateWindowSize=7, int searchWindowSize=21 )將src圖像中的雜訊去除 -imshow在視窗裡顯示圖像1061528 影像處理作業5
一、作業題目:
撰寫一個程式(a)在一張圖片中將上雜訊,(b)設計方法將雜訊去除。
(a)說明加上的雜訊類型(Gaussian, Uniform, Salt-and-Pepper 等)與數量(20%, 50%等)
(b)說明所設計去除雜訊的方法
二、使用環境:
Operation system: macOS
Programming language: Python 3.7.6
Library version: OpenCV 4.2.0
三、實作方法:
1. Imread以灰階方式讀取圖片,並對圖片使用不同noise:
1. 用random.normal()產生gaussian noise (mean = 0, var = 0.1)
2. 用random.rayleigh()產生rayleigh noise (scale = 0.07)
3. 用random.gamma()產生gamma noise (scale = 0.07)
4. 用random.exponential()產生exponential noise (scale = 0.07)
5. 用random.uniform()產生uniform noise (low = 0.4, high = 0.6)
6. 在圖片上以prob = 0.3的機率增加黑白點產生salt and pepper noise
2. 對所有noise分別使用adaptive median filter (window size不會增加)處理
3. 對所有noise分別使用三次median filter進行處理
4. plt.show()輸出觀察差別
四、輸出結果:
2020年5月30日 星期六
1063344 影像處理作業5
一、作業題目:
撰寫一個程式(a)在一張圖片中將上雜訊,(b)設計方法將雜訊去除。
(a)說明加上的雜訊類型(Gaussian, Uniform, Salt-and-Pepper 等)與數量(20%, 50%等)
(b)說明所設計去除雜訊的方法
二、使用環境:
Python 3.7.6
OpenCV 4.2.0
Numpy 1.18.2
三、實作方法:
對圖片增噪:
高斯噪聲:使用函式np.random.normal()
椒鹽噪音:使用函式np.random.choise(),椒噪聲與鹽噪聲比例為1:1
增加雜訊後,把圖片轉乘uint8
對圖片濾波:
高斯噪聲:使用中值濾波
椒鹽噪音-使用高斯濾波
四、成果:
高斯噪聲 |
高撕去噪 |
1063332影像處理作業5
一、作業題目:
撰寫一個程式(a)在一張圖片中將上雜訊,(b)設計方法將雜訊去除。
(a)說明加上的雜訊類型(Gaussian, Uniform, Salt-and-Pepper 等)與數量(20%, 50%等)
(b)說明所設計去除雜訊的方法
二、使用環境:
Visual Studio 2019
Python 3.7.6
OpenCV 4.2.0
Numpy 1.18.2
scikit-image(0.16.2)
三、實作方法:
對圖片產生的噪聲類型:
1.
高斯噪聲-使用函式np.random.normal()
2.
Rayleigh噪音-使用函式np.random.rayleigh()
3.
Gamma噪音-使用函式np.random.gamma()
4.
Exponential噪音-使用函式np.random.exponential()
5.
Uniform噪音-使用函式np.random.uniform()
6.
椒鹽噪音-使用函式skimage.util.random_noise()產生數量20%的椒鹽噪聲,椒噪聲與鹽噪聲比例為
1:1
將噪聲加至圖片後,對圖片像素值做歸一化([0,255])及轉型為uint8
對各噪聲類型處理:
1.
高斯噪聲-使用中值及高斯濾波
2.
Rayleigh噪音-使用高斯濾波
3.
Gamma噪音-使用中值及高斯濾波
4.
Exponential噪音-使用高斯濾波
5.
Uniform噪音-使用中值及高斯濾波
6.
椒鹽噪音-使用中值濾波
原圖:
左至右:噪聲/去噪聲
Gamma:
Exponential:
Uniform:
Salt & Pepper:
2020年5月29日 星期五
1051407 影像處理作業5
作業說明:
撰寫一個程式(a)在一張圖片中將上雜訊,(b)設計方法將雜訊去除。
(a) 說明加上的雜訊類型(Gaussian, Uniform, Salt-and-Pepper 等)與數量(20%, 50%等)
(b)說明所設計去除雜訊的方法
(a) 說明加上的雜訊類型(Gaussian, Uniform, Salt-and-Pepper 等)與數量(20%, 50%等)
(b)說明所設計去除雜訊的方法
環境說明:
python 3.7.6
opencv-python 4.1.0.25 (https://pypi.org/project/opencv-python/)
執行方式:
結果:
原圖
加噪(Random) 隨機對圖片中的像素加噪
加噪(Gaussian)
加噪(Salt-and-Pepper)
去噪
使用四種方法去噪,依序為平均平滑、高斯平滑、中值濾波、雙邊濾波
針對 Random noise 去噪
針對 Gaussian noise 去噪
針對 Salt-and-Pepper noise 去噪
2020年5月21日 星期四
1053340 影像處理作業 3
1053340 影像處理作業 3
作業題目:
離散傅立葉轉換 DFT 練習 :
請撰寫一個程式,讀取一張 256 色灰階圖像(圖像大小適中以免執行時間太久)。計算輸
入圖的離散傅立葉轉換結果,並將頻譜大小與相位角度各以灰階 256 色圖像方式呈現
出。
使用環境:
- Spyder(Python3.7)
- opencv-python 4.2.0
方法:
1. 將原始圖片以灰階讀入
2. np.fft.fft2()將圖片進行傅立葉轉換
3. np.fft.fftshift()將圖移到中間位置
4. 取絕對值:將複數變化成實數、取對數的目的為了將數據變化到較小的範圍(例如0-255)
5. np.log()頻譜圖
6. np.angle()取得相位圖
7. plt顯示圖片
執行結果:
原圖:
結果:
訂閱:
文章 (Atom)