zoukankan      html  css  js  c++  java
  • 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);

      执行效果:

      

  • 相关阅读:
    二维数组中的查找
    循环语句
    掷骰子游戏和条件语句
    类型转换与键盘输入
    运算符(2)
    运算符(1)
    面向对象(2)
    面向对象(1)
    理解几种排序方法
    优盘、移动硬盘简便制作启动盘
  • 原文地址:https://www.cnblogs.com/CoverCat/p/5055644.html
Copyright © 2011-2022 走看看