OpenCV计算机视觉开发入门与实践<二>:图像噪声与图像处理

1.图像噪声

1.1 图像噪声的定义

  图像噪声可以理解为妨碍人的视觉器官或系统传感器对所接受图像源信息进行理解或分析的各种因素。一般图像噪声是不可预测的随机信号,只能用概率统计的方法去认识。噪声作用于图像处理的输入、采集、处理以及输出的全过程,特别是图像在输入、采集的过程中引入的噪声,会影响图像处理的全过程,以至于输出结果。噪声对图像的影响无法避免,因此一个良好的图像处理系统无论是模拟处理还是计算机处理,无不把最前一级的噪声减小到最低作为主攻目标。因此,滤除图像中的噪声,就成为图像处理中极为重要的步骤,对图像处理有着重要的意义。

  数字图像的噪声主要来源于图像获取的数字化过程。图像传感器的工作状态受各种因素的影响,如环境条件、传感器元件质量等。在图像传输的过程中,所用的传输信道受到干扰,也会产生噪声污染。例如,通过无线网络传输的图像可能会因为光或其他大气因素的干扰而受到噪声污染。图像噪声的种类有多种,包括高斯噪声、瑞利噪声、伽马噪声、指数噪声、均匀噪声以及脉冲噪声等。其中,脉冲噪声(又称为椒盐噪声或双极性噪声)在图像噪声中最为常见。在图像生成和传输的过程中,经常会产生脉冲噪声,主要表现在成像的短暂停留中,对图像质量有较大的影响,需要采用图像滤波方法给予滤除。

1.2 图像噪声的来源

  外部噪声是指系统外部干扰以电磁波或经电源串进系统内部而引起的噪声,例如电气设备、天体放电现象等引起的噪声。

  内部噪声一般可分为以下 4 种:

  (1)由光和电的基本性质所引起的噪声。例如,电流的产生是由电子或空穴粒子的集合定向运动所形成的,因这些粒子运动的随机性形成散粒噪声;导体中自由电子的无规则热运动形成热噪声。根据光的粒子性,图像是由光量子传输的,而光量子密度随时间和空间变化形成光量子噪声等。

  (2)电器的机械运动产生的噪声。例如,各种接头因抖动引起电流变化所产生的噪声,磁头、磁带等抖动或一起的抖动等。

  (3)器材材料本身引起的噪声。例如,正片和负片的表面颗粒性和磁带磁盘表面缺陷所产生的噪声。随着材料科学的发展,这些噪声有望不断减少,但目前来讲,还是不可避免的。

  (4)系统内部设备电路所引起的噪声。例如,电源引入的交流噪声,偏转系统和箝位电路所引起的噪声等。

1.3 图像噪声的滤除

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

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

  针对中值滤波方法的缺陷,目前已经提出了一些改进方法。这些方法在滤波性能上比传统的中值滤波方法有所改善,但都是无条件地对所有的输入样本进行滤波处理。而对于一幅噪声图像来说,只有一部分像素受到了噪声的干扰,其余的像素仍保持原值。无条件地对每个像素进行滤波处理必然会造成损失图像的某些原始信息。因此,人们提出的另一类方法是在滤波处理中加入判断的过程,即首先检测图像的每个像素是否为噪声,然后根据噪声检测结果进行切换,输出结果在原像素灰度和中值滤波或其他的滤波器计算结果之间切换。

  由于是有选择地滤波,避免了不必要的滤波操作和图像的模糊,滤波效果得到了进一步的提高。但这些方法在判断和滤除脉冲噪声的过程中还存在一定的缺陷,比如对于较亮或较暗的图像会产生较多的噪声误判和漏判,甚至无法进行噪声的检测,同时算法的计算量也明显增加,影响了滤波效果和速度。既然图像有时不可避免地会产生噪声,就需要对图像进行处理。

2.图像处理

  信息是自然界物质运动总体的一个重要方面,人们认识世界和改造世界就是要获得各种各样的信息图像,信息是人类获得外界信息的主要来源。大约有 70%的信息是通过人眼获得的。近代科学研究、生产活动等各个领域越来越多地用图像信息来认识和判断事物,以解决实际问题。获取图像信息固然重要,但我们的目的更主要的是对信息进行处理,在大量复杂的图像信息中找出感兴趣的信息。所谓图像处理,就是对图像信息进行加工处理,以满足视觉或应用上的需要。因此,从某种意义来说,对图像信息的处理比图像本身更重要。

  21 世纪是一个充满信息的时代,图像作为人类感知世界的视觉基础,是人类获取信息、表达信息和传递信息的重要手段。现在计算机时代所说的图像处理,通常是指数字图像处理,即用计算机对图像进行处理,其发展历史并不长。数字图像处理技术源于 20 世纪 20 年代,当时通过海底电缆从英国伦敦到美国纽约传输了一幅照片,采用了数字压缩技术。首先数字图像处理技术可以帮助人们更客观、准确地认识世界,人的视觉系统可以帮助人类从外界获取 3/4 以上的信息,而图像、图形又是所有视觉信息的载体,尽管人眼的鉴别力很高,可以识别上千种颜色,但很多情况下,图像对于人眼来说是模糊的,甚至是不可见的,通过图像增强技术可以使模糊甚至不可见的图像变得清晰明亮。

  在计算机视觉这一领域诞生的初期,一种普遍的研究范式是将图像看作二维的数字信号,然后借用数字信号处理中的方法,这就是数字图像处理。

2.1 图像处理的分类

  图像处理通常可以分为三类:光学模拟处理、电学模拟处理和计算机数字处理。

(1)光学模拟处理

  光学模拟处理也称光信息处理。它建立在傅里叶光学的基础上,进行光学滤波、相关运算、频谱分析等,可以实现图像像质的改善、图像识别、图像的几何畸变和光度的校正、光信息的编码和存储、图像的伪彩色化、三维图像显示、对非光学信号进行光学处理等。

(2)电学模拟处理

  把光强度信号转换成电信号,然后用电子学的方法对信号进行加、减、乘、除,进行浓度分割、反差放大、彩色合成、光谱对比等。在电视视频信号处理中常应用它。近期发展较快的 CCD(电荷耦合器件)模拟处理方法有三种处理功能:①模拟延迟,改变时钟脉冲频率就能实现模拟延迟;②多路调制,把并列输入的信号转换成串行的时序信号,或者建立它们的反变换,可实现数据信息的重新排列;③能做成各种相应的滤波器,而滤波器就是一个信号处理装置。CCD 在设备和成本方面有优点,滤波较计算机易实现。

(3)计算机数字处理

  图像的计算机数字处理是在以计算机为中心的、包括各种输入输出及显示设备在内的数字图像处理系统上进行的,它将连续的模拟图像变换成离散的数字图像后,用建立在特定的物理模型和数学模型的基础上而编制的程序控制,并实现各种要求的处理。

2.2 数字图像处理

  数字图像处理技术,通俗地讲是指应用计算机以及数字设备对图像进行加工处理的技术。通常包括如下几个过程。

(1)图像信息的获取

  为了在计算机上进行图像处理,必须把作为处理对象的模拟图像转换成数字图像信息。图像信息的获取一般包括图像的摄取、转换及数字化等几个步骤。这部分主要由处理系统硬件实现。

  一般情况下,由于图像处理的设备比较大,不易在室外使用,所以通常输入图像分两步进行:首先在室外通过摄像机、照相机、数码相机等设备将图像记录下来,然后在室内利用输入设备进行输入。一般用磁带记录的是视频信号,通过 AN 口、1394 口输入视频采集卡,用胶片记录的是照片,可通过扫描仪扫描输入,电子照片可直接通过串口、并口或 USB 口输入。

(2)图像信息的存储与交换

  由于数字图像信息量大,且在处理过程中必须对数据进行存储和交换,为了解决大数据量及交换与传输时间的矛盾,通常除了采用大容量内存存储器进行并行传送,直接存储访问外,还必须采用外部磁盘、光盘及磁带存储方式,从而达到提高处理的目的。这部分主要功能也由硬件完成。

(3)具体的图像处理

  数字图像处理即把在空间上离散的、在幅度上量化分层的数字图像经过一些特定数理模式的加工处理,以获得人眼视觉或某种接收系统所需要的图像的过程。80 年代以来,由于计算机技术和超大规模集成电路技术的巨大发展,推动了通信技术(包括语言数据、图像)的飞速发展。因为图像通信具有形象直观、可靠、高效率等一系列优点,尤其是数字图像通信比模拟图像通信更具抗干扰性,便于压缩编码处理和易于加密,因此在图像通信工程中,数字处理技术获得广泛应用。

  图像处理常用的方法有图像变换、图像编码压缩、图像增强和复原、图像分割、图像描述、图像分类(识别)和图像重建等。

(4)图像的输出和显示

  数字图像处理的最终目的是提供便于人眼或接收系统解释和识别的图像,因此图像的输出和显示很重要。一般图像输出的方式可分为硬拷贝(如照相、打印、扫描等)和软拷贝(如 CRT 监视器及各种新型的平板监视器等)。

2.3 数字图像处理常用的方法

  数字图像处理常用的方法有图像变换、图像增强和复原、图像分割、图像描述、图像分类(识别)和图像重建等。

1)图像变换

  由于图像阵列很大,直接在空间域中进行处理涉及的计算量很大。因此,往往采用各种图像变换的方法,如傅里叶变换、沃尔什变换、离散余弦变换等间接处理技术将空间域的处理转换为变换域的处理,不仅可以减少计算量,而且可获得更有效的处理(如傅里叶变换可在频域中进行数字滤波处理)。目前新兴研究的小波变换在时域和频域中都具有良好的局部化特性,在图像处理中也有着广泛且有效的应用。

  图像编码压缩技术可减少描述图像的数据量(比特数),以便节省图像传输、处理时间和减少所占用的存储器容量。压缩可以在不失真的前提下获得,也可以在允许失真的条件下进行。编码是压缩技术中重要的方法,它在图像处理技术中是发展最早且比较成熟的技术。

2)图像增强

  图像增强的目的是提高图像的质量,如去除噪声、提高图像的清晰度等。图像增强不考虑图像降质的原因,突出图像中所感兴趣的部分。例如强化图像高频分量,可使图像中物体的轮廓清晰、细节明显,强化低频分量可减少图像中噪声的影响。图像复原要求对图像降质的原因有一定的了解,一般应根据降质过程建立"降质模型",再采用某种滤波方法,恢复或重建原来的图像。

  对于一个数字图像处理系统来说,一般可以将处理流程分为三个阶段。在获取原始图像后,首先是图像预处理阶段,其次是特征抽取阶段,最后才是识别分析阶段。图像预处理阶段尤为重要,这个阶段处理不好会直接导致后面的工作无法展开。图像增强则是图像预处理阶段的重要步骤。

  人类传递信息的主要媒介是语言和图像。据统计,在人类接受的各种信息中视觉信息占 80%,所以图像信息是十分重要的信息传递媒体和方式。

  由于场景条件的影响,很多图像拍摄的视觉效果不佳,这就需要图像增强技术来改善人的视觉效果,比如突出图像中目标物体的某些特点、从数字图像中提取目标物的特征参数等,这些都有利于对图像中目标的识别、跟踪和理解。图像增强处理的主要内容是突出图像中感兴趣的部分,减弱或去除不需要的信息。这样使有用信息得到加强,从而得到一种更加实用的图像或者转换成一种更适合人或机器进行分析处理的图像。

  另外,图像传递系统包括图像采集、图像压缩、图像编码、图像存储、图像通信、图像显示等 6 个部分。在实际应用中,每个部分都有可能导致图像品质变差,使图像传递的信息无法被正常读取和识别。例如,在采集图像过程中,由于光照环境或物体表面反光等原因造成图像整体光照不均,或者图像采集系统在采集过程中由于机械设备的缘故无法避免加入采集噪声,或者图像显示设备的局限性造成图像显示层次感降低或颜色减少,等等。因此,研究快速且有效的图像增强算法成为推动图像分析和图像理解领域发展的关键内容之一。图像增强处理是数字图像处理的一个重要分支,也是图像预处理的一个关键步骤。

  对图像进行特征提取、图像识别的前期处理通常由图像预处理来现,它是图像识别过程的一个不可缺少的环节。在采集图像时,由于光照的稳定性与均匀性等噪声的影响,灰尘对 CCD 摄像机镜头的影响,以及图像传输过程中由于硬件设备而获得噪声,使得获取的图像不够理想,往往存在噪声、对比度不够、图像中希望得到的目标不清晰、图像中有其他物体的干扰等缺点。从图像质量的角度来说,预处理的主要目的就是提高图像向人或机器提供信息的能力。因此,预处理的实质是按实际情况对图像进行适当的变换,从而突出某些有用的信息,去除或削弱无用的信息,目的是更好地提取微生物的特征来分类识别。图像增强是重要的预处理手段。

  图像增强就是增强图像中用户感兴趣的信息,其主要目的有两个:一是改善图像的视觉效果,提高图像成分的清晰度;二是使图像变得更有利于计算机处理。

  图像增强指的是利用各种数学方法和变换手段提高图像中背景的对比度与图像清晰度,从而更明显地突出感兴趣的区域。例如,强化图像高频分量可使图像中目标的轮廓更清晰、细节更明显等。

  图像增强把图像转换成另一种形式,使之适合人眼的观察判断和机器的分析处理。另外,图像增强不是以图像保真原则为基点来处理图像的,而是根据图像质量变坏的一般情况提出一些改善方法。例如,在图像处理中,可以采用图像均衡的方法来缩小图像灰度差别,采用平滑滤波的方法去除图像存在的噪声、采用边缘增强的方法改善图像轮廓的不明显。

  图像增强主要应用在图像特别暗时,或者因为曝光太亮而无法让目标突出,这个时候就需要把目标的亮度提高一点,然后把不必要的障碍(俗称噪声)调暗,以利于目标清晰度最大化。

  图像增强的方法通过一定手段对原图像附加一些信息或变换数据,有选择地突出图像中感兴趣的特征或者抑制(掩盖)图像中某些不需要的特征,使图像与视觉响应特性相匹配。

  在图像增强过程中,不分析图像降质的原因,处理后的图像不一定逼近原始图像。

  通过各种手段来获得清晰图像的方法就是图像增强。根据增强的信息不同,图像增强可以分为边缘增强、灰度增强、色彩饱和度增强等。其中,灰度增强又可以根据增强处理过程所在的空间不同,分为空间域增强和频率域增强两大类,简称空域法和频域法。

  空域法是通过空间上的函数变换实现对图像的处理。实现空域变换的方式有两种:其一是基于像素点的,即每次对图像处理是对每个像素进行的,而与其他像素无关,我们称之为图像的点运算;其二是基于模板的,也就是对图像的每次处理是对图像的每个子图进行的,每个子图都是以某个像素点为中心的几何形邻域,我们将这种运算称为邻域运算、模板运算或者邻域去噪算法。

  频域法是对图像经傅里叶变换后的频谱成分进行处理,然后逆傅里叶变换获得所需的图像。基于频域的算法是在图像的某种变换域内对图像的变换系数值进行某种修正,是一种间接增强的算法。

(1)空域法

  空域法主要是直接在空间域内对图像进行运算处理,分为点运算算法和邻域去噪算法。

  点运算通常包括灰度变换和直方图修正等,目的或使图像成像均匀,或扩大图像动态范围,扩展对比度。

  邻域去噪算法(也称邻域增强算法)分为图像平滑和锐化两种。平滑一般用于消除图像噪声,但是也容易引起边缘的模糊,常用算法有均值滤波、中值滤波。锐化的目的在于突出物体的边缘轮廓,便于目标识别,常用算法有梯度法、算子、高通滤波、掩模匹配法、统计差值法等。

(2)频域法

  频域法是利用图像变换方法将原来的图像空间中的图像以某种形式转换到其他空间中,然后利用该空间的特有性质进行图像处理,最后转换回原来的图像空间中,从而得到处理后的图像。

  频域法增强技术的基础是卷积理论。其中,频域变换可以是傅里叶变换、小波变换、DCT 变换、Walsh 变换等。

  我们可以用一幅图来表示图像增强所用的具体方法分类,如图所示。当然,作为初学者,我们不需要面面俱到、全部掌握,可以先选择重点的几项掌握。

3)图像分割

  图像分割是数字图像处理中的关键技术之一。图像分割是将图像中有意义的特征部分提取出来,其有意义的特征有图像中的边缘、区域等,这是进一步进行图像识别、分析和理解的基础。虽然目前已研究出不少边缘提取、区域分割的方法,但还没有一种普遍适用于各种图像的有效方法。因此,对图像分割的研究还在不断深入之中,是目前图像处理研究的热点之一。

4)图像描述

  图像描述是图像识别和理解的必要前提。作为简单的二值图像,可采用其几何特性描述物体的特性,一般图像的描述方法采用二维形状描述,有边界描述和区域描述两类方法。对于特殊的纹理图像可采用二维纹理特征描述。随着图像处理研究的深入发展,已经开始进行三维物体描述的研究,提出了体积描述、表面描述、广义圆柱体描述等方法。

5)图像分类(识别)

  图像分类(识别)属于模式识别的范畴,其主要内容是图像经过某些预处理(增强、复原、压缩)后,进行图像分割和特征提取,从而进行判决分类。图像分类常采用经典的模式识别方法,有统计模式分类和句法(结构)模式分类,近年来新发展起来的模糊模式识别和人工神经网络模式分类在图像识别中越来越受重视。

6)图像重建

  对一些三维物体,应用 X 射线、超声波等物理方法取得物体内部结构数据,再将这些数据进行运算处理而构成物体内部某些部位的图像。目前图像重建成功的例子是 CT 技术(计算机断层扫描成像技术)、彩色超声波等。这是图像处理的另一个发展方向。

2.4 图像处理的应用

  图像处理的应用十分广泛,大大促进了现代社会的发展,比如,日常用的人脸支付就用到了图像处理,进停车场识别车牌也用到了图像处理。下面我们用一张表格来简明扼要地说明图像处理的常见应用。

2.5 图像信号处理层次

  图像信号的处理分为以下三个层次:

(1)图像处理:图像采集、存储,图像重建,图像变换、增强、恢复、校正,图像(视频)

压缩编码。

(2)图像分析:边缘检测、图像分割,目标表达、描述,目标颜色、形状、纹理、空间和运

动分析,目标检测、识别。

(3)图像理解:图像配准、融合,3-D 表示、建模、场景恢复,图像感知、解释、推理,基

于内容的图像和视频检索。图像配准(Image registration)就是将不同时间、不同传感器(成像设备)或不同条件下(天候、照度、摄像位置和角度等)获取的两幅或多幅图像进行匹配、叠加的过程,它已经被广泛地应用于遥感数据分析、计算机视觉、图像处理等领域。

相关推荐
键盘会跳舞2 小时前
C++:函数对象与 std::function 源码级深度拆解——泛型算法的策略内核与可调用对象统一封装
c++·算法·仿函数
Augustzero3 小时前
为什么高性能调度器都在“偷任务”?从无锁队列看懂工作窃取
c++·后端
(Charon)3 小时前
【C++】线程安全队列(三):MPSC无锁队列、atomic与链表节点实现
c++·安全·链表
(Charon)3 小时前
【C++】:使用 mutex + deque 实现一个简单的 LockedQueue
开发语言·c++
星轨初途3 小时前
LeetCode 热题 100——day10 和为 K 的子数组
开发语言·c++·算法·leetcode
有点。3 小时前
C++广度优先搜索(二)-练习题
c++·算法·宽度优先
动物园猫3 小时前
桑叶病害目标检测数据集:16,000张图像 | 目标检测
人工智能·目标检测·计算机视觉
Q741_1473 小时前
TcpDump 使用笔记
网络·c++·笔记·测试工具·tcpdump
程序猿编码3 小时前
不用PyTorch,不用CUDA,我用C++手写了一个能跑GPT和Whisper的推理库
c++·pytorch·gpt·大模型·whisper