您的位置:首页 > 运维架构

OpenCV-图像模糊

2015-10-22 21:42 309 查看

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;
}


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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: