【计算机视觉】图像处理算法(线性滤波篇)

本文介绍了OpenCV3中的图像处理技术,特别是线性滤波(如方框滤波、均值滤波、高斯滤波)、平滑处理的应用,以及非线性滤波如中值滤波和双边滤波在噪声抑制和边缘保护方面的优势。
摘要由CSDN通过智能技术生成

来源:《OpenCV3编程入门》,怀念毛星云大佬🕯️
说明:本系列重点关注各种图像处理算法的原理、作用和对比

线性滤波:方框滤波、均值滤波、高斯滤波

平滑处理

平滑处理(smoothing)也称模糊处理(bluring),是一种简单且使用频率很高的图像处理方法。平滑处理的用途有很多,最常见的是用来减少图像上的噪点或者失真。在涉及到降低图像分辨率时,平滑处理是非常好用的方法。

图像滤波与滤波器

图像滤波,指在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,消除图像中的噪声成分叫作图像的平滑化或滤波操作。信号或图像的能量大部分集中在幅度谱的低频和中频段,而在较高频段,有用的信息经常被噪声淹没。 因此一个能降低高频成分幅度的滤波器就能够减弱噪声的影响
图像滤波的目的有两个:

  • 一个是抽出对象的特征作为图像识别的特征模式;
  • 另一个是为适应图像处理的要求,消除图像数字化时所混入的噪声。

而对滤波处理的要求也有两条:

  • 一是不能损坏图像的轮廓及边缘等重要信息;
  • 二是使图像清晰视觉效果好。

空间域的平滑滤波一般采用简单平均法进行,就是求邻近像元点的平均亮度值。邻域的大小与平滑的效果直接相关,邻域越大平滑的效果越好,但邻域过大, 平滑也会使边缘信息损失的越大,从而使输出的图像变得模糊,因此需合理选择 邻域的大小。
5 种常用的图像平滑处理操作方法:

  • 方框滤波——BoxBlur函数
  • 均值滤波(邻域平均滤波)-------- Blur函数
  • 高斯滤波-----GaussianBlur函数
  • 中值滤波----- medianBlur函数(非线性)
  • 双边滤波-----bilateralFilter函数(非线性)

线性滤波器简介

线性滤波器经常用于剔除输入信号中不想要的频率或者从许多频率中选择一个想要的频率。
几种常见的线性滤波器:

  • 低通滤波器:允许低频率通过;
  • 高通滤波器:允许高频率通过;
  • 带通滤波器:允许一定范围频率通过;
  • 带阻滤波器:阻止一定范围频率通过并且允许其他频率通过;
  • 全通滤波器:允许所有频率通过,仅仅改变相位关系;
  • 陷波滤波器(Band-StopFilter) : 阻止一个狭窄频率范围通过,是一种特殊带阻滤波器。

滤波和模糊

区别和联系:滤波分低通滤波和高通滤波两种:高斯滤波(举例)是指用高斯函数作为滤波函数的滤波操作,至于是不
是模糊,要看是高斯低通还是高斯高通,低通就是模糊,高通就是锐化

邻域算子与线性邻域滤波

邻域算子(局部算子)是利用给定像素周围的像素值的决定此像素的最终输出值的一种算子。而线性邻域滤波就是一种常用的邻域算子,像素的输出值取决于输入像素的加权和
在这里插入图片描述
三种常用的线性滤波操作:

  • 方框滤波-----boxblur函数
  • 均值滤波-----blur函数
  • 高斯滤波-----GaussianBlur函数

方框滤波(box Filter )

boxblur 函数的作用是使用方框滤波器(box filter)来模糊一张图片。当normalize=true的时候,方框滤波就变成了我们熟悉的均值滤波。也就是说,均值滤波是方框滤波归一化(normalized)后的特殊情况。其中,归一化就是把要处理的量都缩放到一个范围内,比如(0,1),以便统一处理和直观量化。而非归一化(Unnormalized)的方框滤波用于计算每个像素邻域内的积分特性,比如密集光流算法(dense optical flow algorithms)中用到的图像倒数的协方差矩阵(covariance matrices of image derivatives)如果我们要在可变的窗口中计算像素总和,可以使用integral()函数。

均值滤波

均值滤波是典型的线性滤波算法,主要方法为邻域平均法,即用一片图像区域的各个像素的均值来代替原图像中的各个像素值,均值滤波本身存在着固有的缺陷,即它不能很好地保护图像细节,在图像去噪的同时也破坏了图像的细节部分,从而使图像变得模糊,不能很好地去除噪声点。
在这里插入图片描述

高斯滤波

高斯滤波是一种线性平滑滤波,可以消除高斯噪声,广泛应用于图像处理的减噪过程。通俗地讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。髙斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值,高斯模糊技术生成的图像,其视觉效果就像是经过一个半透明屏幕在观察图像。从数学的角度来看,图像的高斯模糊过程就是图像与正态分布做卷积。由于正态分布又叫作高斯分布,所以这项技术就叫作高斯模糊。图像与圆形方框模糊做卷积将会生成更加精确的焦外成像效果。由于髙斯函数的傅里叶变换是另外一个高斯函数,所以高斯模糊对于图像来说就是一个低通滤波操作。高斯滤波器是一类根据髙斯函数的形状来选择权值的线性平滑滤波器。髙斯平滑滤波器对于抑制服从正态分布的噪声非常有效。
一维零均值高斯函数如下:
在这里插入图片描述
二维髙斯函数如下:
在这里插入图片描述

非线性滤波:中值滤波、双边滤波

线性滤波可以实现很多种不同的图像变换 。而非线性滤波,如中值滤波器和双边滤波器,有时可以达到更好的实现效果。

非线性滤波槪述

在很多情况下,使用邻域像素的非线性滤波会得到更好的效果。比如在噪声是散粒噪声而不是高斯噪声,即图像偶尔会出现很大的值的吋候,用髙斯滤波器对阁像进行模糊的话,噪声像素是不会被去除的,它们只是转换为更为柔和但仍然可见的散粒

中值滤波

中值滤波(Medianfilter)是基于排序统计理论的一种能有效抑制噪声的非线性信号处理技术,基本思想是用像素点邻域灰度值的中值来代替该像素点的灰度值,让周围的像素值接近真实值,从而消除孤立的噪声点。这对于斑点噪声(specklenoise)和椒盐噪声(salt-and-peppernoise)来说尤其有用,因为它不依赖于邻域内那些与典型值差别很大的值。中值滤波器在处理连续图像窗函数时与线性滤波器的工作方式类似.但滤波过程却不再是加权运算。中值滤波在一定的条件下可以克服常见线性滤波器,如最小均方滤波、方框滤波器、均值滤波等带来的图像细节模糊,而且对滤除脉冲干扰及图像扫描噪声非常有效,也常用于保护边缘信息。保存边缘的特性使它在不希望出现边缘模糊的场合也很有用,是非常经典的平滑噪声处理方法。
中值滤波与均值滤波器比较
优势:在均值滤波器中,由于噪声成分被放入平均计算中,所以输出受到了噪声的影响。但是在中值滤波器中,由于噪声成分很难选上,所以几乎不会影响到输出。因此同样用3x3区域进行处理,中值滤波消除的噪声能力更胜一筹。中值滤波无论是在消除噪声还是保存边缘方面都是一个不错的方法。
劣势:中值滤波花费的时间是均值滤波的5倍以上。

双边滤波

双边滤波(Bilateralfilter)是一种非线性的滤波方法,是结合图像的空间邻近度和像素值相似度的一种折中处理,同时考虑空域信息和灰度相似性,达到保边去噪的目的,具有简单、非迭代、局部的特点,双边滤波器的好处是可以做边缘保存(edgepreserving).以往常用维纳滤波或者髙斯滤波去降噪,但二者都会较明显地模糊边缘,对于高频细节的保护效果并不明显。双边滤波器顾名思义,比髙斯滤波多了一个高斯方差sigma-d,它是基于空间分布的高斯滤波函数,所以在边缘附近,离得较远的像素不会对边缘上的像素值影响太多,这样就保证了边缘附近像素值的保存。但是,由于保存了过多的髙频信息,对于彩色图像里的髙频噪声,双边滤波器不能够干净地滤掉,只能对于低频信息进行较好地滤波。在双边滤波器中,输出像素的值依赖于邻域像素值的加权值组合,公式如下:
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值