OpenCV-图像模糊

opencv 图像模糊

在之前我们介绍了opencv图像的基本操作,这里介绍一下利用OpenCV进行图像模糊的几个函数:

1、blur( src, dst, Size( i, i ), Point(-1,-1) ) :平均模糊

  • src:原始图像
  • dst:模糊图像
  • Size( i, i ):滤波模板大小
  • Point(-1,-1):中心点定位,具体也不清楚,一般就这样用

2、GaussianBlur( src, dst, Size( i, i ), σx, σy ):高斯模糊

  • src:原始图像
  • dst:模糊图像
  • Size( i, i ):滤波模板大小,必须为奇数即1,3,5,7。。。
  • σx:x方向标准差
  • σy:y方向标准差

3、medianBlur ( src, dst, i ):中值滤波

  • src:原始图像
  • dst:模糊图像
  • i :滤波模板大小(宽度),必须为奇数

4、bilateralFilter ( src, dst, i, σColor, σSpace ):双边滤波

  • src:原始图像
  • dst:模糊图像
  • i :滤波模板大小
  • σColor:颜色空间标准差
  • σSpace:坐标空间标准差

上面介绍了4个滤波模糊函数的基本信息,下面我们利用代码进行测试:

#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"

using namespace std;
using namespace cv;

int main()
{
    Mat img,bimg,gbimg,mbimg,bbimg;
    img = imread("F:\\Myfile\\Test_picture\\1.jpg");
    //读取彩色图像(灰度也可以)
    blur(img,bimg,Size(5,5),Point(-1,-1));

    //GaussianBlur(img,gbimg,Size(9,9),0,0);   
    //Size(i,i),i的值必须符合 i%2==1

    //medianBlur(img,mbimg,5);        
    //第三个参数i的值必须符合 i%2==1

    //bilateralFilter(img,bbimg,20,0,0);

    namedWindow("img");
    namedWindow("bimg");
    imshow("img",img);
    imshow("bimg",bimg);

    waitKey(0);
    return 0;
}

这里可以看一下平均模糊的效果图:

OpenCV-图像模糊_第1张图片

你可能感兴趣的:(图像处理-CV)