• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
koukoustar
博客园    首页    新随笔    联系   管理    订阅  订阅
opencv3 6.2非线性滤波

非线性滤波

如果噪声是散粒噪声而不是高斯噪声的时候,用高斯滤波对图像进行模糊,噪声像素不会被去除,只是转换为更为柔和但是仍然可见的散粒。

中值滤波

MedianFilter是一种典型的非线性滤波技术,基本思想是用像素领域的灰度值的中值代替像素点的灰度值,一些情况下对保留图像边缘细节有效果。
对于斑点噪声和椒盐噪声效果尤其好,不依赖于领域中与典型值差别大的值。

  • 中值滤波vs均值滤波
  • 优势:消除噪声,保留边缘的能力都略胜一筹,滤除脉冲干扰非常有效果
  • 劣势:花费时间前者是后者五倍以上,中值滤波对于细节多的图像不太合适

双边滤波

Bilateral Filter是一种非线性滤波方法,姐和图像的空间邻近度和像素值相似度的一种折中处理,同时考虑空域信息和灰度相似值,达到去噪保边。
函数公式比较复杂,加权系数取决于定义域核和值域核的乘积。

非线性滤波相关核心API函数

中值滤波 medianBlur函数
该函数用中值滤波器平滑处理一张图像,三个参数。

  • 参数1 inputarray src,要求1 3 4 通道的Mat, ksize为3or5时候,深度是CV_8U CV_16U CV_32F 较大孔径尺寸的图片,只能是CV_8U
  • 参数2 outputArray dst;
  • 参数3 int 类型ksize 孔径的线性尺寸,必须是大于一的奇数(3 5 7…)

双边滤波 bilateralFilter函数

  • 参数1 src8位或者浮点型单通道、三通道图像
  • 参数2 dst 目标图像
  • 参数3 int类型d 过滤过程中每个像素领域的直径,<=0时候,opencv会从参数5来计算他
  • 参数4 double sigmaColor 颜色空间滤波器的sigma值 越大,该像素领域有越宽广的颜色会混合一起
  • 参数5 double sigmaSpace 坐标空间中滤波器的sigma值,坐标空间的标注方差,越大,表示越远的像素灰相互影响,是更大的区域中足够相似的颜色获取相同的颜色;d>0时,领域大小与sigmaSpac无关,否则,d正比于sigmaSpae;
  • 参数6 int borderType 有默认值

运行例程后得到的效果图发现 中值滤波对原图颠覆很大,双边滤波与原图差别不大,要仔细看才能看出效果。

posted on 2019-04-14 20:43  koukoustar  阅读(40)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3