第6章 图像处理_6.2非线性滤波:中值滤波、双边滤波

中值滤波对椒盐噪声有良好的特性,这里给出一个用Open CV添加椒盐/高斯噪声的代码实例

https://blog.csdn.net/qq_34784753/article/details/69379135?locationNum=14&fps=1

中值滤波


中位数,又称中点数,中值。
中数是按顺序排列的一组数据中居于中间位置的数,即在这组数据中,有一半的数据比他大,有一半的数据比他小。
如果数据是奇数个,那大小最中间那个就是
如果数据是偶数个,那个取中间2位的平均值

中值滤波:选择每个像素的领域像素中的中值作为输出

优势:效果优于均值滤波
对斑点噪声/椒盐噪声尤其有用
劣势:时间是均值滤波的5倍以上

中值滤波函数:medianBlur
void medianBlur(InputArray src,
OutputArray dst,
int ksize)
参数1 src:输入图像,需为CV_8U/16U/32U之一
参数2 dst:输出图像,需要和src一样的尺寸和类型
参数3 ksize:核大小,必须是大于1的奇数
例:
Mat image = imread("1.jpg");
Mat out;
medianBlur(image, out, 7);

双边滤波函数:bilateralFilter
void bilateralFilter(InputArray src,
OutputArray dst,
int d,
double sigmaColor,
double sigmaSpace,
int borderType = BORDER_DEFAULT)
参数3 d:过滤过程中每个像素领域的直径,如果<0,则由sigmaSpace计算得到
参数4 sigmaColor:颜色空间滤波器的sigma值
参数5 sigmaSpace:坐标空间中的sigma值
参数6 ...
例:
Mat image = imread("1.jpg");
Mat out;

bilateralFilter(image,out,25,25*2,25/2);



你可能感兴趣的:(OpenCV3编程入门总结)