Emgu學習之(五)——圖像模糊處理


Visual Studio Community 2015 工程和代碼:http://pan.baidu.com/s/1Qia0Q

內容

在這篇文章中將提到以下內容:

  • 中值模糊
  • 高斯模糊

  圖像模糊能有效的去除圖像的噪點。

  “平滑處理也稱模糊處理,是一項簡單且使用頻率很高的圖像處理方法。平滑處理的用途有很多,但最常見的是用來減少圖像

上的噪點或者失真。”——《學習OpenCV(中文版)》

 

中值模糊

  中值濾波是指以一個像素點為中心點,在這個中心點的正方形鄰域內求所有像素的中間值,然后用這個中間值替換鄰域內所有

點的像素值。中值濾波器可以有效的去除圖像中的椒鹽噪聲和斑點噪聲。

  Emgu的Image類提供了SmoothMedian方法,這個方法只需要一個參數,即在執行中值濾波時的卷積核的大小。卷積核是

一個奇數行和列的矩陣,卷積核越大,濾波器的效果越明顯。以下是使用SmoothMedian方法對一張滿是椒鹽噪聲的圖片進行處

理的代碼和結果:

1             var image = new Image<Bgr, byte>(Properties.Resources.ai);
2             imageBox1.Image = image;//顯示原圖像
3             imageBox2.Image = image.SmoothMedian(5);//使用5*5的卷積核

  代碼效果如下:

  

高斯模糊

  高斯濾波用卷積核與輸入圖像的每個點進行卷積,將最終計算的結果作為這個點的值。也就是說圖像的每個點都是由其本身和

鄰域內的點經過高斯濾波卷積核進行加權平均得到的。

  高斯核其實就是一個矩陣,這個矩陣符合高斯分布,即矩陣中心的值最大,其余根據距離中心元素的距離遞減,構成一個高斯

小山包:

              

  在使用高斯模糊的方法時,我們需要指定高斯卷積核的高度和寬度(必須是奇數),還有高斯小山包的坡度參數,坡度參數分

為X方向和Y方向。如果坡度參數為0,那么方法會根據核的大小自動幫我們計算,如果只設置了X方向的值,那么Y方向采用X方向

的值。

  Emgu的Image類提供了SmoothGaussian方法進行高斯模糊,SmoothGaussian有兩種重載實現,一種我們只需要傳入

卷積核大小參數,另外一個我們還需要傳入X、Y方向的坡度參數。

1             var image = new Image<Bgr, byte>(Properties.Resources.ai);
2             imageBox1.Image = image;//顯示原圖像
3             imageBox1.Image = image.SmoothGaussian(5);

  執行效果:

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM