2020年6月2日 星期二

1050905 影像處理作業 5

1.作業題目:撰寫一個程式(a)在一張圖片中將上雜訊,(b)設計方法將雜訊去除。

2.環境設置:
C++
visual studio 2017
opencv 3.4.3

3.實作:

(1)製造常態分佈亂數,使用以下公式
x = sqrt(-2.0 * log(u)) * cos(2.0 * M_PI * v) ;
其中 u, v 是0~1之間的亂數
加上標準差和和期望值會變成以下公式
X = sqrt(-2.0 * log(u)) * cos(2.0 * M_PI * v) * std + mean;

(2)這裡我門檻直設為2,尋訪圖片像素,並且計算X,如果X>2,BGR都設為255(白),
如果<-2,BGR設為0(黑),其他不變。然後就產生"胡椒鹽"了。

(3)我去雜訊的方法是每次造訪像素,取他周圍的8個像素包含自己共9個,然後取中位數來取代自己和周圍的像素的值,然後就產生"自己寫"了。

(4)直接用函式medianBlur,遮罩的值取3,產生"直接用函數",來比較"自己寫"的差異。
("自己寫"的圖片邊緣沒有處理到胡椒鹽)

4.結果:

沒有留言:

張貼留言