2020年6月3日 星期三

1043306 影像處理作業 5




1.作業說明

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

2.使用環境
         - Eclipse IDE for Java Developers
         - opencv4.2.0

3.實作方法

-       高斯雜訊

(1)   用一個與原圖大小及型態相同的Mat gussian_noise以儲存高斯雜訊的資訊
(2)   Core.StdDev()得到原圖中的mean平均值及std標準差
(3)   Core.randn()meanstd的數據以20%50%的大小儲存至gussian_noise
(4)   Core.addgussian_noise整個數據套用到source
(5)   Imgcodecs.Imwrite()寫入至新的檔名

-       椒鹽雜訊

(1)   noise_coeff 表示雜訊大小(20%50%)
(2)   以雙層迴圈的方式掃過整張圖,對每個圖進行pixel的修改
(3)   若一個隨機產生的數字小於noise_coeff,就把掃到的pixel修改成0255

-       高斯平滑
Imgproc.GaussianBlur()

-       均值平滑
-       Imgproc.medianBlur()

4.顯示結果




原圖:              
    



















                              高斯雜訊(20%)                                                     高斯雜訊(50%)

                   椒鹽雜訊(20%)                                                         椒鹽雜訊(50%)




高斯平滑(20%高斯雜訊、50%高斯雜訊、20%椒鹽雜訊、50%椒鹽雜訊)





 平均平滑(20%高斯雜訊、50%高斯雜訊、20%椒鹽雜訊、50%椒鹽雜訊)






對於經過平均平滑跟高斯平滑處理雜訊過後的圖片,比較滿意的都是有20%高斯雜訊,其他都覺得沒有很還原圖片,尤其是對50%椒鹽雜訊做平均平滑的圖片,還有很明顯的雜訊,而平均平滑如果ksize值設定太高又會失去照片原有的面貌,感覺不太適合做椒鹽雜訊的處理




沒有留言:

張貼留言