OpenCvsharp学习(十五):滤波1:方框滤波与均值滤波

*滤波简介:
1)滤波实际上*是信号处理的一个概念,图像可以看成一个二维信号,其中像素点的灰度值的高低代表信号的强弱
2)高频:图像中剧烈变化的部分
3)低频:图像中变化缓慢,平坦的部分
4)根据图像的高低频特性,设置高通和低通滤波器,高通滤波器可以检测图像中尖锐,变化明显的地方,低通滤波器可以让图像变得平滑,消除噪声干扰
5)图像滤波是OpenCv图像处理的重要部分,在图像预处理方面应用广泛,图像滤波的好坏决定后续处理结果的好坏
线型滤波:方框滤波,均值滤波,高斯滤波
非线性滤波:中值滤波,双边滤波

方框滤波:BoxFilter
函数原型:

public static void BoxFilter(InputArray src, OutputArray dst, MatType ddepth, Size ksize, Point? anchor = null, bool normalize = true, BorderTypes borderType = BorderTypes.Reflect101);

src:输入图像
dst:输出图像
ddepth:MatType类型,图像深度,如果为-1则为源图像深度,例:src.Depth
ksize:平滑核大小,决定图像的质量
anchor:锚点。默认值Point(-1,-1)表示锚位于内核中心
normalize:指示内核是否归一化
borderType :输出图像的边框样式,一般用默认样式
当normalize为true时,方框滤波也就成了均值滤波,

Mat src = new Mat(@"I:\OpenCvSharp学习\3副本.jpg", ImreadModes.AnyColor);
            Mat dst1 = new Mat();
            Mat dst2 = new Mat();
            Window srcWin = new Window("src", WindowMode.AutoSize, src);
            Cv2.BoxFilter(src, dst1,  dst1.Depth(), new Size(5,5), new Point(-1, -1), true);
            Cv2.BoxFilter(src, dst2,  dst1.Depth(), new Size(5, 5), new Point(-1, -1), false);
            Window dstWin1 = new Window("dst1", WindowMode.AutoSize, dst1);
            Window dstWin2 = new Window("dst2", WindowMode.AutoSize, dst2);
            Cv2.WaitKey(0);

在这里插入图片描述
在这里插入图片描述

均值滤波Blur:
函数原型

public static void Blur(InputArray src, OutputArray dst, Size ksize, Point? anchor = null, BorderTypes borderType = BorderTypes.Reflect101);

src:输入图像
dst:输出图像
ksize:内核大小,size(X,Y),假如size(3,3)则表示3*3的内核大小
anchor: 锚点。默认值Point(-1,-1)表示锚位于内核中心
borderType: 输出图像的边框样式,一般用默认样式

Mat src = new Mat(@"I:\OpenCvSharp学习\3副本.jpg", ImreadModes.AnyColor);
            Mat dst1 = new Mat();
            Mat dst2 = new Mat();
            Window srcWin = new Window("src", WindowMode.AutoSize, src);
            Cv2.Blur(src,dst1,new Size(3,3));
            Window dstWin1 = new Window("dst1", WindowMode.AutoSize, dst1);
            Cv2.WaitKey(0);

在这里插入图片描述
方框滤波(当normalize为True)与均值滤波,就是利用区域内像素的均值替换掉原有的像素值,在去噪的同时也会破坏掉原有图像的细节部分

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值