close
圖像濾波,就是盡量保留圖像細節特徵的條件下,對目標圖像的噪聲進行處理,這項功能,基本上我覺得應該可以算是美肌的基礎,畢竟,那些網美帥哥,可是會非常介意自己臉上多出什麼痘痘之類的....。
而對於不同的噪聲處理,需要使用不同的濾波進行處理,而以下就來介紹幾種方式囉 !
中值濾波
在圖像處理中,在進行如邊緣檢測這樣的進一步處理之前,通常需要首先進行一定程度的降噪。中值濾波是一種非線性數字濾波器技術,經常用於去除圖像或者其它信號中的雜訊。這個設計思想就是檢查輸入信號中的採樣並判斷它是否代表了信號,使用奇數個採樣組成的觀察窗實現這項功能。觀察窗口中的數值進行排序,位於觀察窗中間的中值作為輸出。然後,丟棄最早的值,取得新的採樣,重複上面的計算過程。
中值濾波是圖像處理中的一個常用步驟,它對於斑點噪聲和椒鹽噪聲來說尤其有用。保存邊緣的特性使它在不希望出現邊緣模糊的場合也很有用。
例子
為了演示中值濾波器的工作過程,我們給下面的數組加上觀察窗 3 ,重複邊界的數值:
x = [2 80 6 3]
y[1] = Median[2 2 80] = 2
y[2] = Median[2 80 6] = Median[2 6 80] = 6
y[3] = Median[80 6 3] = Median[3 6 80] = 6
y[4] = Median[6 3 3] = Median[3 3 6] = 3
於是
y = [2 6 6 3]
其中 y 是 x 的中值濾波輸出。
左邊為Before & 右邊為After
private void button1_Click(object sender, EventArgs e)
{
var op = new OpenFileDialog();
if (op.ShowDialog() == DialogResult.OK)
{
Mat scr = new Mat(op.FileName);
imageBox1.Image = scr;
Mat dst = new Mat();
// kSize : Aperture linear size;
// it must be odd and greater than 1, for example: 3, 5, 7 ...
CvInvoke.MedianBlur(scr, dst,3);
imageBox1.Image = scr;
imageBox2.Image = dst;
}
}
全站熱搜
留言列表