5基于opencv的非线性滤波(中值滤波_双边滤波)

本文介绍了OpenCV中的非线性滤波方法,包括中值滤波和双边滤波。通过示例代码详细解析了medianBlur()和bilateralFilter()函数的参数及使用,展示了如何应用这些滤波器处理图像并生成效果。
摘要由CSDN通过智能技术生成

非线性滤波:中值滤波和双边滤波

一、中值滤波函数medianBlur

1.1示例

MatScrImage = imread("E:\\1TJQ\\Opencv\\Images\\image1.jpg");//读入图像

MatOutImage3;

medianBlur(ScrImage, OutImage3, 7);  //中值滤波

1.2medianBlur()函数各个参数详解

Ø  ScrImage:输入图像

Ø  OutImage3:输出图像

Ø  7:第三个参数,int类型的ksize,孔径的线性尺寸(aperture linear size),注意这个参数必须是大于1的奇数,比如:3,5,7,9 ...

 

二、双边滤波函数bilateralFilter

2.1示例

MatScrImage = imread("E:\\1TJQ\\Opencv\\Images\\image1.jpg");//读入图像

MatOutImage4;

bilateralFilter(ScrImage, OutImage4, 10, 10 * 2, 10 / 2);  //双边滤波

2.2函数各个参数详解

Ø  ScrImage:输入图像

Ø  OutImage3:输出图像

Ø  10:第三个参数,int类型的d,表示在过滤过程中每个像素邻域的直径。如果这个值我们设其为非正数,那么OpenCV会从第五个参数sigmaSpace来计算出它来。(越小越好)

Ø  10 * 2:第四个参数,double类型的sigmaColor,颜色空间滤波器的sigma值。这个参数的值越大,就表明该像素邻域内有更宽广的颜色会被混合到一起,产生较大的半相等颜色区域。

Ø  10 / 2:第五个参数,double类型的sigmaSpace坐标空间中滤波器的sigma值,坐标空间的标注方差。他的数值越大,意味着越远的像素会相互影响,从而使更大的区域足够相似的颜色获取相同的颜色。当d>0,d指定了邻域大小且与sigmaSpace无关。否则,d正比于sigmaSpace。

 

三、完整程序代码

#include <opencv2/core/core.hpp> 

#include <opencv2/imgproc/imgproc.hpp> 

#include <opencv2/opencv.hpp> 

 

#include <vector> 

#include <cstdio> 

 

using namespacestd;

using namespacecv;

 

int main()

{

   Mat ScrImage, ScrImgaeCopy1, OutImage, OutImage1, OutImage2,OutImage3, OutImage4;

   ScrImage = imread("E:\\1TJQ\\Opencv\\Images\\image1.jpg");//读入图像

 

   namedWindow("【原图】");

   imshow("【原图】", ScrImage);

 

   medianBlur(ScrImage,OutImage3, 7);                     //中值滤波

   bilateralFilter(ScrImage,OutImage4, 10, 10 * 2, 10 / 2);  //双边滤波

 

   namedWindow("【效果图medianBlur");

   imshow("【效果图medianBlur",OutImage3);

   namedWindow("【效果图bilateralFilter");

   imshow("【效果图bilateralFilter",OutImage4);

  

   waitKey(0);

   return NULL;

}

 

参考内容:

http://www.cnblogs.com/mq0036/p/5902104.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三公子Tjq

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值