第6章 图像处理_6.1线性滤波(方框、均值、高斯滤波)

方框滤波函数: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;

blur(image, out, Size(5,5), 0, 0)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值