zoukankan      html  css  js  c++  java
  • 滤波 卷积

    什么是卷积?参考了知乎名嘴:


    而在图像中,卷积是离散的。

    图像滤波的定义也是由卷积进行定义的: 
    这里写图片描述 
    其中f(x,y)是原始图像,g(x,y)是滤波器,他们做卷积的意思是将原始图像与滤波器的窗口对齐后,将其对应位置的元素相乘后,将得到的结果进行累加,最后得到的值即滤波后得到的结果,其位置位于原始图像与滤波器对齐时的窗口中心的位置。如下图: 
    这里写图片描述 
    而对于边缘像素的处理方法,有一种做法是将原图边缘位置扩大一圈并填充以新的元素,新的元素的值与原图像边缘的值保持一致,这样一来得到的滤波结果就会比原始图像少一圈,但刚好与扩大之前的原图尺寸保持一致。 
    另一个问题,在上式中,g(x-n,y-m)在数学上代表将原始信号进行了一次左右和上下的反转,在实际处理时这样做会造成一些麻烦,每进来一个信号都要对g进行反转。为避免这种情况因此我们也经常采用下面的模板形式去定义: 
    这里写图片描述 
    当滤波器对称时(如圆锥滤波器),两种定义式是等价的。

    去噪

    均值滤波

    所谓均值滤波顾名思义即对原图的一个小区域内(如3x3)中所有像素取平均值: 
    这里写图片描述 
    常用的滤波器有4领域,8邻域及除去自身的8邻域: 
    这里写图片描述

    加权平均滤波

    加权平均滤波与上面的均值滤波类似,但会做加权平均,即在前面乘上一个对应的系数: 
    这里写图片描述 
    常用的滤波器有2种(3x3),一种是中心点权值是2其余为1,另一种是高斯滤波器,即中心点权值为4,其4领域的权值为2,其余为1: 
    这里写图片描述

    中值滤波

    中值滤波与上面的两种最大的不同之处在于他是一种非线性的滤波方式。这种滤波的步骤通常是:

    1. 确定滤波窗口及位置(通常含有奇数个像素)
    2. 将窗口内的像素值按灰度大小进行排序
    3. 取其中位数代替原窗口中心的像素值

      这里写图片描述

    对比

      • 均值滤波能够滤除白噪声,但会使原始图像丢掉一些细节(原图变得模糊)
      • 加权均值滤波(高斯滤波)也可以有效的滤除白噪声,同时不会丢掉原图中的细节(甚至原图更清晰)
      • 中值滤波可以有效滤除椒盐噪声

     

  • 相关阅读:
    【原创】【js】screenLeft screenTop screenX screenY属性的有效性和兼容性研究
    兼容兼容兼容:浏览器兼容性大集合
    Vue 打包成APP后首屏出现白屏问题
    uniapp 安卓app端本地打包错误: Not found -1,6 at view.umd.min.js:1
    uniapp 下获取cid
    uniapp fill abort statuscode:-1
    Vuex刷新时数据会消失,那如何解决?为什么还要使用Vuex
    vue 安装失败;vue不是内部或外部命令
    js 文件下载,多个文件下载,pdf下载
    uni-App 去掉顶部导航栏
  • 原文地址:https://www.cnblogs.com/Lin-Yi/p/9358256.html
Copyright © 2011-2022 走看看