方框滤波函数:boxFilter
void boxFilter(InputArray src,
OutputArray dst,
int ddepth,
Size ksize,
Point anchor = Point(-1,-1),
bool normalize = true,
int borderType = BORDER_DEFAULT)
参数1 src:源图像,应为CV_8U/16U/16S/32F/64F之一
参数2 dst:输出图像
参数3 ddepth:图像深度,=-1时表示使用原图深度,即=src.depth()
参数4 ksize:内核大小
参数5 anchor:锚点(被平滑的那个点),默认值为负,表示取核的中心
参数6 normalize:表示内核是否被区域归一化
参数7 borderType:图像外部像素的某种边界模式
例:
Mat image = imread("1.jpg");
Mat out;
boxFilter(image, out, -1, Size(5,5))
均值滤波函数:blur
void blur(InputArray src,
OutputArray dst,
Size ksize,
Point anchor = Point(-1,-1),
int borderType = BORDER_DEFAULT)
该函数为方框滤波函数的区域归一化结果,
内部调用了boxFilter,且normalize = true,
其余参数说明类似于boxFilter,
例:
Mat image = imread("2.jpg");
Mat out;
blur(image, out, Size(5,5))
高斯滤波函数:GaussianBlur
void GaussianBlur(InputArray src,
OutputArray dst,
Size ksize,
double sigmaX,
double sigmaY = 0,
int borderType = BORDER_DEFAULT)
参数4 sigmaX:高斯核函数在X方向的标准偏差
参数5 sigmaY:高斯核函数在Y方向的标准偏差,=0表示同sigmaX
注意:如果sigmaX=sigmaY=0,则会有ksize.width核ksize.height计算出来
例:
Mat image = imread("3.jpg");
Mat out;
void boxFilter(InputArray src,
OutputArray dst,
int ddepth,
Size ksize,
Point anchor = Point(-1,-1),
bool normalize = true,
int borderType = BORDER_DEFAULT)
参数1 src:源图像,应为CV_8U/16U/16S/32F/64F之一
参数2 dst:输出图像
参数3 ddepth:图像深度,=-1时表示使用原图深度,即=src.depth()
参数4 ksize:内核大小
参数5 anchor:锚点(被平滑的那个点),默认值为负,表示取核的中心
参数6 normalize:表示内核是否被区域归一化
参数7 borderType:图像外部像素的某种边界模式
例:
Mat image = imread("1.jpg");
Mat out;
boxFilter(image, out, -1, Size(5,5))
均值滤波函数:blur
void blur(InputArray src,
OutputArray dst,
Size ksize,
Point anchor = Point(-1,-1),
int borderType = BORDER_DEFAULT)
该函数为方框滤波函数的区域归一化结果,
内部调用了boxFilter,且normalize = true,
其余参数说明类似于boxFilter,
例:
Mat image = imread("2.jpg");
Mat out;
blur(image, out, Size(5,5))
高斯滤波函数:GaussianBlur
void GaussianBlur(InputArray src,
OutputArray dst,
Size ksize,
double sigmaX,
double sigmaY = 0,
int borderType = BORDER_DEFAULT)
参数4 sigmaX:高斯核函数在X方向的标准偏差
参数5 sigmaY:高斯核函数在Y方向的标准偏差,=0表示同sigmaX
注意:如果sigmaX=sigmaY=0,则会有ksize.width核ksize.height计算出来
例:
Mat image = imread("3.jpg");
Mat out;
blur(image, out, Size(5,5), 0, 0)