综述:图像滤波常用算法实现及原理解析

Posted 极市平台

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了综述:图像滤波常用算法实现及原理解析相关的知识,希望对你有一定的参考价值。

↑ 点击 蓝字  关注极市平台

作者丨一支程序媛@知乎(已授权)
来源丨https://zhuanlan.zhihu.com/p/279602383
编辑丨极市平台

极市导读

 

图像滤波是一种非常重要的图像处理技术,本文详细介绍了四种常见的图像滤波算法,并附上源码,包括自适应中值滤波、高斯滤波、双边滤波和导向滤波。 >>

前言

本文介绍四种常见的图像滤波算法,并附上源码。图像滤波是一种非常重要的图像处理技术,现在大火的卷积神经网络其实也是滤波的一种,都是用卷积核去提取图像的特征模式。不过,传统的滤波,使用的卷积核是固定的参数,是由经验非常丰富的人去手动设计的,也称为手工特征。而卷积神经网络的卷积核参数初始时未知的,根据不同的任务由数据和神经网络反向传播算法去学习得到的参数,更能适应于不同的任务。

目录

  • 自适应中值滤波
  • 高斯滤波
  • 双边滤波
  • 导向滤波

自适应中值滤波

中值滤波器

中值滤波器是一种常用的非线性滤波器,其基本原理是:选择待处理像素的一个邻域中各像素值的中值来代替待处理的像素。主要功能使某像素的灰度值与周围领域内的像素比较接近,从而消除一些孤立的噪声点,所以中值滤波器能够很好的消除椒盐噪声。不仅如此,中值滤波器在消除噪声的同时,还能有效的保护图像的边界信息,不会对图像造成很大的模糊(相比于均值滤波器)。

中值滤波器的效果受滤波窗口尺寸的影响较大,在消除噪声和保护图像的细节存在着矛盾:滤波窗口较小,则能很好的保护图像中的某些细节,但对噪声的过滤效果就不是很好,因为实际中的噪声不可能只占一个像素位置;反之,窗口尺寸较大有较好的噪声过滤效果,但是会对图像造成一定的模糊。另外,根据中值滤波器原理,如果在滤波窗口内的噪声点的个数大于整个窗口内非噪声像素的个数,则中值滤波就不能很好的过滤掉噪声。

自适应中值滤波器

常规的中值滤波器,在噪声的密度不是很大的情况下,效果不错。但是当噪声出现的概率较高时,常规的中值滤波的效果就不是很好了。有一个选择就是增大滤波器的窗口大小,这虽然在一定程度上能解决上述的问题,但是会给图像造成较大的模糊。

常规的中值滤波器的窗口尺寸是固定大小不变的,就不能同时兼顾去噪和保护图像的细节。这时就要寻求一种改变,根据预先设定好的条件,在滤波的过程中,动态的改变滤波器的窗口尺寸大小,这就是自适应中值滤波器 Adaptive Median Filter。在滤波的过程中,自适应中值滤波器会根据预先设定好的条件,改变滤波窗口的尺寸大小,同时还会根据一定的条件判断当前像素是不是噪声,如果是则用邻域中值替换掉当前像素;不是,则不作改变。

自适应中值滤波器有三个目的:

  • 滤除椒盐噪声
  • 平滑其他非脉冲噪声
  • 尽可能的保护图像中细节信息,避免图像边缘的细化或者粗化。

自适应中值滤波算法描述

自适应滤波器不但能够滤除概率较大的椒盐噪声,而且能够更好的保护图像的细节,这是常规的中值滤波器做不到的。自适应的中值滤波器也需要一个矩形的窗口 ,和常规中值滤波器不同的是这个窗口的大小会在滤波处理的过程中进行改变(增大)。需要注意的是,滤波器的输出是一个像素值,该值用来替换点  处的像素值,点  是滤波窗口的中心位置。

在描述自适应中值滤波器时需要用到如下的符号:

  • 窗口中的最小灰度值
  • 窗口中的最大灰度值
  • 窗口中的灰度值的中值
  • 表示坐标  处的灰度值
  • 允许的最大窗口尺寸

自适应中值滤波器有两个处理过程,分别记为:

A :

如果A1 > 0 且 A2 < 0,跳转到 B;

否则,增大窗口的尺寸 如果增大后窗口的尺寸  ,则重复A过程。否则,输出

以上是关于综述:图像滤波常用算法实现及原理解析的主要内容,如果未能解决你的问题,请参考以下文章

机器视觉常用算法原理及opencv实现源码

详解图像滤波原理及实现!

均值滤波

图像处理之均值滤波介绍及C算法实现

双边滤波算法原理及实现

技术分享 | 嵌入式常用滤波算法的matlab实现