【opencv一日一练】bilateralFilter

bilateralFilter 双边滤波,众多滤波函数的一种。

 

双边滤波器是什么?

双边滤波(Bilateral filter)是一种可以保边去噪的滤波器。之所以可以达到此去噪效果,是因为滤波器是由两个函数构成。一个函数是由几何空间距离决定滤波器系数。另一个由像素差值决定滤波器系数。可以与其相比较的两个filter:高斯低通滤波器(http://en.wikipedia.org/wiki/Gaussian_filter)和α-截尾均值滤波器(去掉百分率为α的最小值和最大之后剩下像素的均值作为滤波器),

 

函数原型:

void bilateralFilter(InputArray src, OutputArray dst, int d, double sigmaColor, double sigmaSpace,
int borderType=BORDER_DEFAULT )


第一个和第二个参数是输入输出图像;

第三个参数是计算的半径,半径之内的像数都会被纳入计算,如果提供-1,会从后面的参数sigmaSpace中自动计算。

第三个和第四个参数是计算图像的颜色和空间偏移量。

最后一个就是边框了。

一般来说,要想得到比较好的结果,3、4、5参数最好都指定。

第三个参数如果设定值大于5,那计算会很慢,所以一般设置都等于5,如果少数情况需要去除比较大的噪声,那么d=9,。

 

使用例子:

bilateralFilter(src,dst,5,5*2,5/2);


 

参考:

http://blog.csdn.net/abcjennifer/article/details/7616663

 

 

你可能感兴趣的:(OpenCV,2.4.8)