opencv中图像模糊--线性滤波

三种线性滤波:

1.方框滤波

void boxFilter( InputArray src, OutputArray dst, int ddepth,
                             Size ksize, Point anchor = Point(-1,-1),
                             bool normalize = true,
                             int borderType = BORDER_DEFAULT );

参数ddepth:输出图像的深度
参数ksize:模板窗口的大小
参数anchor:锚点,在模板中的位置,也是原图与模板卷积后像素值输出的位置
参数normalize:归一化,是将模板内的像素值全部归一化为1,求加权和,也就是均值滤波;
如果不进行归一化,就是直接进行累加,可以用来计算图像的积分特性

在这里插入图片描述
2.均值滤波(归一化后的方框滤波)

void blur( InputArray src, OutputArray dst,
                        Size ksize, Point anchor = Point(-1,-1),
                        int borderType = BORDER_DEFAULT );
  均值滤波模板系数均为1
  缺点:就是不能很好地保护细节,在图像去燥的同时也破坏了图像的细节部分

3.高斯滤波

  void GaussianBlur( InputArray src, OutputArray dst, Size ksize,
                                double sigmaX, double sigmaY = 0,
                                int borderType = BORDER_DEFAULT ); 
  支持就地操作
  参数 ksize:必须是正奇数,或者为0,此时大小有sigma计算出
  参数sigmaX:X方向的标准差
  参数sigmaY:Y方向的标准差;当sigmaY = 0时,设置其等于sigmaX;当sigmaX,Y = 0 时,其值由ksize计算出                             

特点:和均值滤波相似,都是取均值,但是模板系数的权重不一样,越靠近模板中心,系数值越大,(权重是根据二维正态分布得到的)

标准差(sigma)对模板系数的影响:

sigma越大,正态分布越扁平,各部分的比重差别不大,所以模板系数的差别不大,会更加趋近于均值滤波
sigma越小,正态分布越高尖,比重会集中在中心区域,所以模板的中心系数会远大于其他值,会趋近于仅对中心点进行点运算,这样模糊效果就会减弱,去燥能力下降
所以说,标准差的大小实际是对权重分配的再调整。

3*3的高斯模板
3*3的高斯模板

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值