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;

            }
        }

 

 

arrow
arrow
    全站熱搜

    Eric 發表在 痞客邦 留言(0) 人氣()