方框滤波
先给出内核,用内核各点的值与其对应的图像像素值相乘
以上我们可以看出通过滤波后,图片的边缘信息会丢失。
上opencv的接口
void boxFilter(InputArray src,OutputArray dst, int ddepth, Size ksize, Point anchor=Point(-1,-1), boolnormalize=true, int borderType=BORDER_DEFAULT )
InputArray src 输入图片
OutputArray dst 输出图片
int ddepth 输出图像深度
Size ksize 内核大小
Point anchor=Point(-1,-1) 描点位置,负数表示中点
boolnormalize=true是否归一化,若归一化,即是均值滤波
int borderType=BORDER_DEFAULT
高斯滤波
上opencv的接口
void GaussianBlur(InputArray src,OutputArray dst, Size ksize, double sigmaX, double sigmaY=0, intborderType=BORDER_DEFAULT )
接口意思很容易理解,只有sigmax和sigmay需要解释
中值滤波
与均值滤波不同的是,这里用的是中值,即是中位数,而不是平均数。
上opencv的接口
void medianBlur( InputArray src, OutputArray dst, int ksize );
这里的ksize为1,3,5…代表以多少个方框的中值
双边滤波
void bilateralFilter( InputArray src, OutputArray dst, int d, double sigmaColor, double sigmaSpace,
int borderType=BORDER_DEFAULT );
最后,上中值滤波的图