学习OpenCV范例(十)——图像平滑处理

接下来的范例学习都集中在图像处理方面的学习,首先学习的是图像的平滑处理,相信学过图像处理的同学都不陌生,图像的平滑处理很普遍,最主要的功能就是去噪声,在OpenCV中最经常使用的平滑处理有四种:均值滤波,中值滤波,高斯滤波,双边滤波,在OpenCV1版本中用到的函数是smooth函数,四种处理都包含在smooth函数中,而在OpenCV2版本中被分开了,分别是blur,medianblur,GaussianBlur,bilateralFilter,现在让我们来好好看一下这四个函数吧。

1、原理

平滑处理时需要用到一个 滤波器 。 最常用的滤波器是 线性 滤波器,线性滤波处理的输出像素值 (i.e. g(i,j)) 是输入像素值 (i.e. f(i+k,j+l))的加权和 :
g(i,j) = \sum_{k,l} f(i+k, j+l) h(k,l)
h(k,l) 称为 核, 它仅仅是一个加权系数。
不妨把 滤波器 想象成一个包含加权系数的窗口,当使用这个滤波器平滑处理图像时,就把这个窗口滑过图像。

①、均值滤波器

    最简单的滤波器, 输出像素值是核窗口内像素值的 均值 ( 所有像素加权系数相等)。

核如下:

K = \dfrac{1}{K_{width} \cdot K_{height}} \begin{bmatrix}    1 & 1 & 1 & ... & 1 \\    1 & 1 & 1 & ... & 1 \\    . & . & . & ... & 1 \\    . & . & . & ... & 1 \\    1 & 1 & 1 & ... & 1   \end{bmatrix}

②、中值滤波器

    中值滤波将图像的每个像素用邻域 (以当前像素为中心的正方形区域)像素的 中值 代替 。

均值滤波器对噪音图像特别是有大的孤立点的图像特别敏感,即是有较少数量点存在较大差异也会导致平均值的明显波动,而中值滤波可以通过选择中间值避免这些点的影响。

③、高斯滤波器

    最有用的滤波器 (尽管不是最快的)。 高斯滤波是将输入数组的每一个像素点与 高斯内核 卷积将卷积和当作输出像素值。

一维高斯函数:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值