OpenCV4.5计算机视觉开发实战:基于Python
上QQ阅读APP看书,第一时间看更新

1.2.3 图像噪声的滤除

通过图像平滑可以有效地减少和消除图像中的噪声,以改善图像质量,有利于抽取对象特征进行分析。经典的平滑技术对噪声图像使用局部算子,当对某一个像素进行平滑处理时,仅对它的局部小邻域内的一些像素进行处理,其优点是计算效率高,而且可以对多个像素并行处理。近年来出现了一些新的图像平滑处理技术,结合人眼的视觉特性,运用模糊数学理论、小波分析、数学形态学、粗糙集理论等新技术进行图像平滑,取得了较好的效果。

灰度图像常用的滤波方法主要分为线性和非线性两大类。线性滤波方法一般通过取模板做离散卷积来实现,这种方法在平滑脉冲噪声点的同时会导致图像模糊,损失了图像细节信息。非线性滤波方法中应用最多的是中值滤波。中值滤波可以有效地滤除脉冲噪声,具有相对好的边缘保持特性,并易于实现,因此被公认是一种有效的方法。中值滤波同时也会改变未受噪声污染的像素的灰度值,使图像变得模糊。随着滤波窗口的长度增加和噪声污染的加重,中值滤波效果明显变坏。

针对中值滤波方法的缺陷,目前提出了一些改进方法。这些方法在滤波性能上比传统的中值滤波方法有所改善,但都是无条件地对所有的输入样本进行滤波处理。对于一幅噪声图像来说,只有一部分像素受到了噪声的干扰,其他的像素仍保持原值。无条件地对每个像素进行滤波处理必然会造成损失图像的某些原始信息。因此,人们提出的另一类方法是在滤波处理中加入判断的过程,即首先检测图像的每个像素是否为噪声,然后根据噪声检测结果进行切换,输出结果是在原像素灰度和中值滤波或其他的滤波器计算结果之间切换。由于是有选择地滤波,避免了不必要的滤波操作和图像的模糊,滤波效果得到了进一步的提高。这些方法在判断和滤除脉冲噪声过程中还存在一定的缺陷,比如对于较亮或较暗的图像,会产生较多的噪声误判和漏判,甚至无法进行噪声的检测,同时算法的计算量也明显增加,影响了滤波效果和速度。

图像有时不可避免地会产生噪声,因此需要对图像进行处理。