Python OpenCV 线性滤波器 简介(七)

简介

  过滤是信号和图像处理中基本的任务。其目的是根据应用环境的不同,选择性的提取图像中某些认为是重要的信息。

  过滤可以移除图像中的噪音、提取感兴趣的可视特征、允许图像重采样,等等。

  当我们观察一张图片时,我们观察的是图像中有多少灰度级(或颜色)及其分布。根据灰度分布的不同来区分不同

的图像。

  频率域分析,是将图像分成从低频到高频的不同部分。低频对应图像强度变化小的区域,而高频是图像强度变化非常

大的区域。比如图像中的灰度变化。

  在频率分析领域的框架中,滤波器是一个用来增强图像中某个波段或频率并阻塞(或降低)其他频率波段的操作。

  低通滤波器是消除图像中高频部分,但保留低频部分。

  高通滤波器消除低频部分。


原理及用途

    平滑 也叫 模糊,是一项简单且使用频率很高的图像处理方法。

     平滑处理的用途有很多,它不仅仅减少噪声的功能。

    平滑处理时需要用到一个 滤波器。最常用的滤波器是 线性滤波器,线性滤波处理的输出像素值(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) 称为 核, 它仅仅是一个加权系数。把 滤波器 想象成一个包含加权系数的窗口,当使用这个滤波器平滑处理图像时,就把这个窗口滑过图像。


常用滤波器:

一: 归一化块滤波器 (Normalized Box Filter)

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

        核如下:

                         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}

二:高斯滤波器 (Gaussian Filter)

         最有用的滤波器 (尽管不是最快的)。 高斯滤波是将输入数组的每一个像素点与 高斯内核 卷积将卷积和当作输出像素值。
        还记得1维高斯函数的样子吗?

../../../../_images/Smoothing_Tutorial_theory_gaussian_0.jpg

    假设图像是1维的,那么观察上图,不难发现中间像素的加权系数是最大的, 周边像素的加权系数随着它们远离中间像素的距离增大而逐渐减小。

    2维高斯函数可以表达为 :

                        G_{0}(x, y) = A  e^{ \dfrac{ -(x - \mu_{x})^{2} }{ 2\sigma^{2}_{x} } +  \dfrac{ -(y - \mu_{y})^{2} }{ 2\sigma^{2}_{y} } }

    其中 \mu 为均值 (峰值对应位置), \sigma 代表标准差 (变量 x 和 变量 y 各有一个均值,也各有一个标准差)


三: 中值滤波器 (Median Filter)

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


四:双边滤波 (Bilateral Filter)

     目前我们了解的滤波器都是为了 平滑 图像, 问题是有些时候这些滤波器不仅仅削弱了噪声, 连带着把边缘也给磨掉了。 

为避免这样的情形 (至少在一定程度上 ), 我们可以使用双边滤波。
类似于高斯滤波器,双边滤波器也给每一个邻域像素分配一个加权系数。 这些加权系数包含两个部分, 第一部分加权方式

与高斯滤波一样,第二部分的权重则取决于该邻域像素与当前像素的灰度差值。

详细参考: OpenCV 官方文档


本文参考和转载:

http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/imgproc/gausian_median_blur_bilateral_filter/gausian_median_blur_bilateral_filter.html#smoothing

http://blog.csdn.net/sunny2038/article/details/9155893































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值