3D视觉原理与应用---数字图像处理基础

1. 数字图像处理基础

1.1 图像的基本概念

图像:“图”是物体反射或透射光的分布“像”是人的视觉系统所接收的图在人脑中所形成的印象或认识

照片、绘画、剪贴画、地图、书法作品、传真、卫星云图、影视画面、X光片、脑电图、心电图等都是图像。

图像根据图像记录方式的不同可分为两大类:模拟图像数字图像

模拟图像:与模拟信号的连续性一样,又称连续图像,是指在二维坐标系中连续变化的图像,即图像的像素点是无限稠密的,同时具有灰度值(图像从暗到亮的变化值)。连续图像的典型代表是由光学透镜系统获取的图像,如人的视觉系统成像、人物照片和景物照片等。

数字图像:又称数码图像或数位图像,是二维图像用有限数值像素的表示,由数组或矩阵表示,意味着其光照位置和强度都是离散的。数字图像是由模拟图像数字化得到的、以像素为基本元素的、可以用数字计算机或数字电路存储和处理的图像。

像素:可以将像素视为整个图像中不可分割的单位或元素。

1.2 图像的形成

一幅图像f(x, y)能够用它的入射光分量反射光分量来表示,其关系式如下:

上式中,入射光分量i(x, y)由照明源决定,即它和光源有关,通常用来表示慢的动态变化,可直接决定一幅图像中像素能达到的动态范围。而反射光分量r(x,y)则是由物体本身特性决定的,它表示灰度的急剧变化部分,如两个不同物体的交界部分、边缘部分及线等。

这是最简单的图像形成模型。

1.2.1 平行光源模型:

图1:平行光源模型

平行光源模型会考虑光源的方向和物体表面的法线方向。

如图1,点p为物体表面上的一个点,np表示点p的法线方向,vp表示平行光源的方向,cam表示摄像机。

上式表示的是通过摄像机观察物体表面p点的图像亮度。可以看出,p点的图像亮度与光源的亮度Ek成正比,与物体表面p点的反射率rp成正比,并且和物体表面p点的法线方向与光源方向的夹角相关

平行光源模型是在简单模型的基础上,增加了物体表面法线方向和光源方向的计算。

1.2.2 点光源模型

图2:点光源模型

与平行光源模型不同,点光源模型中,点光源到物体表面的每一个点都有独特唯一的方向。

上式中,lij表示从光源sj指向物体表面xi的光线方向。

在点光源模型中,o点的图像亮度与光源的亮度Ej成正比,与物体表面o点的反射率ρi成正比,并且和物体表面x点的法线方向与光源方向lij的夹角相关。

上式中,增加了光源到物体表面的方向求模的操作,即计算光源到物体的距离,再求3次方,o点的图像亮度与距离的3次方成反比。

点光源模型在光线立体视觉中经常用到,需要注意的是,点光源并不唯一,每个点光源对物体表面亮度的计算互不影响。

1.3 图像的数字化

图3:图像的数字化

如图3所示,将代表图像的连续(模拟)信号转变为离散(数字)信号的变换过程,即将图像分割成称为像素的小区域将每个像素点的亮度或灰度值取一个整数表示

数字图像在计算机内处理时往往是将其视为一个矩阵来处理的。

对图像f(x, y)采样,设取M×N个数据,将这些数据按采样点的相对位置排成一个数阵,然后对每个阵元量化,从而得到一个数字矩阵,用这个矩阵代替函数f(x, y),即数字图像可以用一个矩阵表示。矩阵的元素称为数字图像的像素像元

图4:用矩阵理论表示数字图像

如图4,在计算机中把数字图像表示为矩阵或向量后,就可以用矩阵理论和其他一些数字方法来对数字图像进行分析和处理了。

1.4 颜色模型

自然界中的所有颜色都可以由红(R)、绿(G)、蓝(B)3种颜色合成,数字图像也是如此。关于红(绿、蓝)成分的量,人为的分为256个等级。0表示没有红(绿、蓝)成分,255表示100%的红(绿、蓝)成分。根据红、绿、蓝的各种组合,可以表现出256×256×256种颜色。例如,当像素的红色、绿色和蓝色分量分别为255、0、255时,它会显示紫色。对于灰度图像中的一个像素,该像素的红、绿、蓝分量是相等的,但是随着这3个分量的值的增加,像素的颜色会由黑色变为白色。

可以看出,彩色数字图像可以用RGB(红、绿、蓝)色彩空间来表示。

彩色模型是用来表示彩色的数学模型。在计算机系统中表达色彩信息的模型有3种常用的色彩模型。

1.4.1 RGB模型

RGB彩色空间对应的坐标系统是一个立方体,如图5所示。

图5:RGB彩色立方示意图

红色、绿色和蓝色位于立方体的3个顶点上;青色、深红色和黄色位于另外3个顶点上;黑色在原点处,而白色在离原点最远的顶点,灰度级沿着这两个点连线分布;立方体的外部和内部有不同的颜色,所以它可以用一个三维向量来表示。例如,在所有颜色均已归一化为[0,1]的情况下,蓝色可以表示为(0,0,1),而灰色可以表示为(0.5,0.5,0.5)。

在RGB模型中,3个图像分量构成要表示的图像,每个分量图像为其原色图像。当发送到RGB监视器时,这3个分量图像在屏幕上混合以产生复合彩色图像。

在RGB空间中,用来表示每个像素的比特数称为像素深度。RGB图像的3个红、绿、蓝分量图像都是一幅8bit图像,每个颜色像素都有24bit深度。因此,常使用全彩色图像来定义24bit的彩色图像,颜色总数为(28)3=16777216种。

RGB模型常用于显示系统。RGB色彩空间是与设备相关的色彩空间。

1.4.2 HSV彩色模型

HSV(色调、饱和度、数值)是人们从颜色轮或调色板中挑选颜色(即颜料或油墨)时所用的几种彩色系统之一。这种彩色系统与RGB系统相比,更加接近于人们的经验和描述彩色感觉时所用的方式。在艺术领域,色调、饱和度和数值分别称为色泽、明暗和调色。

HSV彩色空间可以沿RGB彩色立方体的灰度轴(这些轴连接黑色和白色顶点)明确表达,得出图6所示。

图6:HSV彩色系统

当沿图6中的垂直(灰)轴移动时,与该轴垂直的六边形平面的大小是变化的,产生图中所描述的锥体。色调表示为围绕彩色六边形的角度,通常使用其红轴作为参考(0°)轴。值分量是沿该锥体的轴度量的。

轴的V=0端为黑色,V=1端为白色,位于图6中全彩色六边形的中心。这样,该轴就表示了灰度的所有深浅。

饱和度(颜色的纯度)由距V轴的距离来度量。

HSV彩色系统基于圆柱坐标系。从RGB转换为HSV需要开发将笛卡儿坐标系中的RGB值映射到圆柱坐标系的公式。

1.4.3 HSI模型

HSI模型是从人的视觉系统出发,直接使用颜色三要素色调(Hue)、饱和度(Saturation)和亮度(Intensity)来描述颜色。

1) 亮度是指人眼感知光线的明暗程度。光的能量越大,亮度就越大。

2) 色调是颜色最重要的属性。它决定了颜色的本质,由物体反射的光的主波长决定。不同的波长会产生不同的颜色感知。人们称一种颜色为红色、橙色和黄色,这意味着人们正在规定一种色调。

3) 饱和度是指颜色的深浅和浓淡程度。饱和度越高,颜色越深,饱和度的深浅与白色的比例有关,白色的比例越高,饱和度越低。

HSI彩色空间可以用圆锥空间模型来描述,如图7所示。

图7:HSI模型示意图

人们通常将色调和饱和度统称为色度,用于表示颜色的类型和深度。图7中锥体中间的截面圆为色度圆,向上或向下延伸的锥体是亮度分量的表示。

由于人类视觉对亮度要比对色度更敏感,为了便于色彩处理和识别,人类视觉系统经常使用HSI彩色空间,它比RGB彩色空间更符合人类视觉特征。

此外,由于HSI空间中亮度和色度的可分离特性,图像处理和机器视觉中的大量灰度处理算法可以方便地用于HSI彩色空间中。

HSI彩色空间和RGB彩色空间只是同一个物理量的不同表示。

1.4.4 RGB转HSI

图像分析图像识别中,可能更多是用HSI颜色模型。

从RGB模型可以直接转换到HSI模型,转换过程可以这样简单理解:

首先可以把RGB模型的立方体进行一个旋转,把白点(255,255,255)放置顶端,黑点(0,0,0)放底端。白点与黑点的连线和水平面垂直。旋转之后从上往下看,可以看到一个正六边形,如图8。

图8:RGB转HSI示意图

然后,用随意一个立方体内的颜色值点,如(10,20,30)与黑白连线垂直截取这个立方体,得出一个平面。这个平面要不是六边形,要不就是三角形,有了这个平面多边形以后,就可以得出色调和饱和度。

色调H:作中心点过红色点的延长线为基准,沿着多边形的包围圈逆时针旋转至指定颜色值的位置,旋转所需的角度就是该颜色的色调。

饱和度S:多边形中心点到指定颜色值的距离,做归一化的长度,就是该颜色的饱和度。

强度I:以所在的多边形平面,与黑白点连线垂直过黑点的平面,两个平面的垂直距离,就是该颜色的强度。

有了RGB,就可以用以上公式求出HSI模型对应的数据值。

图9:RGB和HSI各分量的可视化对比图

图9是RGB和HSI各分量的可视化对比。

色调是从红轴开始作为起始点。RGB图像中红色块,对应色调图中就是0值(纯黑色)。

饱和度图,对比RGB图中的色块都是六边形的顶点值,归一化长度都是1,而白色点与中心点重合,所以饱和度为0。

强度图里面,对应RGB图像当中的白色(255,255,255)位于整个HSI模型的最顶点,距离最大为1,其余三基色位于同一平面,与黑色底点距离一样,所以强度也一样。

1.4.5 HSI转RGB

0°≤H<120°:

120°≤H<240°,H=H-120°:

240°≤H<360°,H=H-240°:

有了HSI,也可以用以上公式求出RGB模型对应的数据值。

1.5 图像灰度变换

一幅不太理想的图片,为了得到提升图像质量,就需要一些图像处理的方法,对这个图像进行调节,以得到更好的对比度更好的一个亮度水平,从而提高这个图像的质量。

图像的对比度,表示这个图像的动态范围,即HSI模型当中的强度I。在全图像范围内,用最大的强度值和最小的强度值,两者直接确定一个范围,即当前图像的对比度范围,范围越大,对比度越好。

1.5.1 图像对比度与亮度的调节

定量调节图像的对比度和亮度的算法步骤如下:

1)计算图像f(x,y)的像素均值M(表示亮度);

2)对图像的每个像素点P减去平均值M;

3)对去掉平均值以后的像素点 P乘以对比度系数a;

4)对处理后的像素P加上M乘以亮度系数b;

5)对像素点RGB值完成重新赋值。

1.5.2 灰度的反转变换

上式中,r代表原始图像,s代表新图像,[0,L-1]为图像的灰度级;

反转变换的作用是使黑的像素变为白,白的像素变为黑,可以使图像在某些特定场合更符合人眼的观察特性,如图10所示。

图10 灰度的反转变换

1.5.3 灰度的对数变换

上式中,c为常数,r为输入的图像灰度,r≥0。

用上式来表示灰度的对数变换:r为输入图像灰度,再对其进行log运算。log变换的作用是灰度压缩,这是因为有时候输入原图的动态范围太大,已经超出某些显示设备的允许的动态范围,如何直接用原图进行显示,那么图像里面的一些高光细节就会显示不出来,造成信息丢失。

图11:灰度的对数变换

如图11所示,a是一幅0-1.5×106的傅里叶频谱图的反转变换(黑白反转),这个动态范围非常大,在这个8位深的显示设备上,它的这个中心点特别亮,次低频细节看不清,存在丢失信息的现象。b是使用了对数变换处理过的一个结果,细节信息明显丰富了,能够更加清晰地显示出来低频细节。

1.5.4 灰度的伽马变换

上式中,g为输出的图像灰度,f为输入的图像灰度。

图12:灰度的伽马变换曲线

图12为伽马变换的输入输出的关系曲线图。由图12分析可知,γ>1的时候,会压缩暗区的对比度,抬高亮区的对比度,并且γ越大,效果越明显;γ<1的时候,会提升暗区的对比度,压缩亮区的对比度,并且γ越小,效果越明显;γ=1的时候,图像的灰度不变。

图13:灰度的伽马变换曲线

图13是一个医学镜像图,很明显的看出使用伽马小于1的变换进行处理后,信息量得到提升,其中γ=0.4的增强效果最好。

伽马变换的取值要根据输入图像的情况区别处理。

1.5.5 灰度的直方图均衡化

直方图均衡化算法是一个不需要辅助参数,一个全自动的图像处理方法。

首先,对直方图做一个定义:对于范围在[0,L-1]的灰度图像,比如L是8bit显示位深的表示最大范围256,灰度等级就是0~255。对于这样一副数字图像,对它的灰度等级进行一个数量统计。比如在像素总个数为n的数字图像中,灰度等级在r(k)=255的像素个数共有n(k)个,利用n(k)/n就可以得出灰度等级r(k)在这副数字图像中的灰度密度函数p,统计所有灰度等级的密度就可以绘制出直方图,也就是说灰度直方图就是数字图像灰度的密度分布函数。

图14:灰度直方图

观察图14中4张图像和对应的灰度直方图,右下角的图像效果是最符合人类观察的,它对应的直方图分布是最均匀的

从这4张图像的直方图对比可以总结,如果直方图处于均衡的状态,那么对应的数字图像具有更好的对比度。那么可以从修改它的直方图这个角度入手,把直方图均衡化,从而达到图像增强的目的。

灰度直方图均衡化的主要步骤:

1) 统计原始图像各灰度级的像素数目ni,其中0≤i<L,L是图像中所有的灰度数(通常为256)。这个步骤的目的是获取每个灰度级别在图像中的出现频率。

2) 计算图像中灰度为i的像素的出现概率px(i),其计算公式为

上式中,n是图像中所有的像素数。

px(i)实际上是像素值为i的图像的直方图,归一化到[0, 1]。

3)计算px的累积分布函数(CDF)。CDF是图像的累计归一化直方图,反映了从最低灰度级到当前灰度级的像素数占总像素数的比例。

4) 应用直方图均衡化计算公式进行像素值的映射。这个公式基于CDF,将原始图像的灰度值映射到新的灰度值,使得图像的灰度分布更加均匀。

通过以上步骤,灰度直方图均衡化算法能够将图像的灰度直方图从较为集中的某灰度区间拉伸到全部灰度范围内均匀分布,从而达到扩大图像像素灰度值的分布范围,改善图像颜色和对比度的目的。

请注意,直方图均衡化是对整幅图像的每个像素都采用相同的变换,因此可能会导致某些局部区域的对比度降低或丢失细节。为了解决这个问题,可以采用自适应直方图均衡化方法(AHE),将图像划分成多个局部区域,然后通过计算图像局部区域的直方图来调整原始图像的亮度分布,从而改善图像局部区域的对比度并获取更多细节。

累积分布函数(CDF)的计算公式:

直方图均衡化的计算公式用于将原始图像的灰度值映射到新的灰度值,这个映射是基于累积分布函数(CDF)的。

计算公式如下:

其中:

sk 是输出图像(均衡化后的图像)的像素值。

T(rk) 是映射函数,它将输入图像(原始图像)的灰度级 rk 映射到输出图像的灰度级 sk。

nj 是输入图像中灰度级为 j 的像素数。

n是输入图像中的总像素数。

这个公式的作用是,对于输入图像中的每个灰度级rk,计算其CDF值,并将该值作为输出图像中对应像素的灰度级 sk。由于CDF是累积的,因此随着灰度级的增加,CDF值也会增加,从而实现了将原始图像的灰度分布拉伸到整个可能的灰度范围,使得图像的对比度得到增强。

需要注意的是,在实际计算中,通常会对CDF的结果进行取整操作,以得到整数型的灰度级。

此外,由于CDF的值域是[0, 1],而灰度级的值域通常是[0, 255](对于8位灰度图像),因此可能还需要将CDF的值乘以255并取整,以得到最终的灰度级。

这个公式是直方图均衡化的核心,它确保了图像的灰度分布更加均匀,从而提高了图像的对比度。

1.6 图像空间滤波

图像的空间滤波,它会利用像素周围领域的像素信息,对图像的灰度进行处理。处理的目的主要有以下几个方面:

1) 去噪:在成像的过程中,由于硬件传感器或者成像环境的因素,相机获得的图像经常会存在噪声,为了减弱噪声,需要设计合适的图像滤波算法。

2) 特征提取:为了从图像中提取特征、线特征或者边缘特征,这些都需要有对应合适的滤波器。

3) 图像增强:在有些应用中,需要对图像进行细节增强,如锐化,使得图像边缘更加锐利。

1.6.1 卷积滤波

图15:卷积滤波

以图15中的输入图像为例,还有个3×3的卷积核,输入图像通常要远远大于卷积核的尺寸。卷积核的大小不一定是3×3,还可以是5×5,7×7。有了一个原图像和卷积核,对于3*3的卷积核来说,简单地可以直接覆盖[0,0]位置开始,对中心[1,1]位置的像素进行卷积,卷积核的元素和图像的元素逐点相乘再做一个累加,可以用以下的公式表达:

卷积滤波是空间滤波的基础,其他各种各样的滤波,比如说平滑滤波、锐化滤波等,都是用卷积滤波来实现。这些不同功能的滤波器主要的区别在于它们的卷积核是不同的

卷积滤波是对图像进行一个局部的运算,通常在具体平台的计算当中是可以并行加速。

另外,和卷积神经网络进行对比,这里的卷积滤波的核的参数是由人工设计的,是确定的。而在卷积神经网络里面,运算的过程是一样的,只不过卷积核的参数是训练网络推理出来的。

1.6.2 均值滤波

均值滤波在卷积核的权重里面,所有的权重都是相同的,例如,一个3×3核把所有的权重加起来为1,且平均每一项为1/9。

均值滤波器的主要作用是降低图像灰度的尖锐变化,即去噪。它通过对图像进行局部平均运算,使得图像中噪声较大的像素点的灰度值接近周围像素点的灰度值,从而消除孤立的噪声点。具体来说,均值滤波器将图像中的每一个像素点的灰度值设置为该点邻域内所有像素点灰度值的平均值,从而达到平滑图像的目的。

需要注意的是,均值滤波器在降低噪声的同时,也可能会使图像变得模糊,因为它无法很好地保护图像的边缘信息。因此,在使用均值滤波器时,需要根据具体的应用场景和需求进行权衡和选择。

另外,需要注意的是,对于各项同性的均值滤波器,在特定的输入源的情况下,有可能会出现各项异性的效果。也就是说,水平方向或者垂直方向的结构上,在应用同一个均值滤波器的时候,会经历不一样的平滑程度的处理。

图16:均值滤波

以图16举例,当b为输入原图像时,白条纹是一个单位,黑条纹是二个单位,共三个单位为一组间隔。应用一个3×3的均值滤波以后,它得到的输出是c,这个是符合预期黑白混合成灰。

当d为输入原图像时,白条纹是一个单位,黑条纹也是一个单位,也是运用3×3的均值滤波的时候,得到的输出是e,此时,输入的黑白条纹发生了一个反转,这个明显就是在预期之外了。

1.6.3 高斯滤波

高斯滤波的主要作用是平滑和降噪图像。它采用高斯函数对图像进行卷积操作,使得图像中的噪声被平滑掉。

高斯滤波的公式是基于高斯函数来定义的。

对于一维高斯函数,其公式为:

对于二维高斯函数,其公式为:

高斯滤波的步骤:

假定中心点的坐标是(0,0),那么距离它最近的8个点的坐标如下:

图17

图17中,y轴水平向上,x轴水平向右。

根据二维高斯函数公式,假设其σ=1,可得权重矩阵:

图18

然后,将其归一化:

图19

假设有九个点,灰度值如图20:

图20

每个点乘以归一化权重后的结果:

图21

这九个点的累加就是中心点的高斯模糊值。

当我们高斯滤波的时候,一个重要的参数就说它的滤波器的尺度σ,当σ取值越小,高斯函数的输出越尖锐的一个曲线,当σ的取值越大的时候,高斯曲线就越平坦,平滑的力度就越大。

图22:不同σ的高斯滤波

图22是一个实际的对比图,随着σ的不断加大,它的平滑力度会越大,图像的细节已经完全看不到了。

1.6.4 双边滤波

双边滤波(Bilateral filter)是一种非线性的滤波方法,它结合了图像的空间邻近度和像素值相似度,以达到保边去噪的目的。这种方法在处理图像时,不仅考虑了像素的空间位置关系(即空域信息),还考虑了像素值之间的相似性(即灰度相似性)。因此,双边滤波能够在平滑图像的同时,更好地保留边缘信息,避免了过去常用的高斯滤波等方法在降噪时容易模糊边缘的问题。

双边滤波的原理基于加权平均,通过计算周边像素亮度值的加权平均来代表某个像素的强度。这种加权平均不仅考虑了像素之间的欧氏距离(即空间位置关系),还考虑了像素范围域中的辐射差异,如像素与中心像素之间的相似程度、颜色强度、深度距离等。这种综合考虑使得双边滤波在降噪的同时,能够更好地保护图像的边缘和细节信息。

双边滤波在图像处理中有广泛的应用,特别是在需要增强图像边缘信息的场合。例如,在图像分割中,双边滤波可以帮助提取目标物体并去除背景信息;在图像合成中,它能够辅助生成逼真的合成图像,同时保持与原图的完美一致性。

此外,双边滤波在去噪、增强和合成任务中都具有关键应用,能够有效地提高图像质量。

图23:双边滤波用于3D网格处理

双边滤波是双目立体视觉中的一个很重要的算法。另外,在3D网格处理也有一个很好的效果,3D网格也会存在噪声,使用双边滤波可以把脸部区域变得平滑,其他脸部外形的轮廓结构得到保持。1.6.5 中值滤波

中值滤波是一种非线性平滑技术,它将每一像素点的灰度值设置为该点某邻域窗口内的所有像素点灰度值的中值。这种滤波方法基于排序统计理论,能够有效地抑制噪声

中值滤波的基本原理是把数字图像或数字序列中一点的值用该点的一个邻域中各点值的中值代替,使周围的像素值接近真实值,从而消除孤立的噪声点。

中值滤波的操作通常是通过一个二维滑动模板来完成的,这个模板内的像素值会被按照大小进行排序,然后选取中值作为当前像素点的灰度值。这个模板可以是不同的大小和形状,例如3x3、5x5,或者线状、圆形、十字形、圆环形等。

中值滤波对于消除椒盐噪声和脉冲噪声等孤立噪声点特别有效,同时能够保持图像的边缘特性,不会使图像产生显著的模糊。因此,在图像处理中,中值滤波被广泛应用于噪声消除、图像增强、伪像去除、视频处理以及图像分割等领域。

1.6.6 图像锐化

图像的低频指的就是灰度变化比较小的像素区域

图像的高频指的就是灰度变化比较大的像素区域

所谓灰度变化比较小的图像就是,内容

所谓灰度变化比较大的图像就是,边缘和纹理

边缘:灰度变化较大,比如人物穿的一件红色的衣服,背景是白色的,那么,红色衣服与白色背景的边缘是高频的,因为他们的图像变化剧烈,而红色衣服内容的变化是低频的,白色背景内容也是低频的。高频,就是变化频率高,变化频率快。

纹理:内部纹理,比如脸上的皱纹和斑点都是高频,因为相对于一张平坦的脸,皱纹和半点变化很大,所以,也是高频信息。

图像锐化滤波在数字图像处理中起着关键的作用。其主要目的是补偿图像的轮廓,增强图像的边缘及灰度跳变的部分,使图像变得清晰。这种滤波方法突出了图像上地物的边缘、轮廓,或某些线性目标要素的特征,提高了地物边缘与周围像元之间的反差,因此也被称为边缘增强。

常见的锐化滤波器包括拉普拉斯滤波器Sobel滤波器等。拉普拉斯滤波器通过计算图像中像素点的二阶导数来增强边缘,而Sobel滤波器则基于梯度计算,可以有效地提取图像中的边缘信息。

Sobel滤波器

Sobel滤波器是一种常用的边缘检测算法,它基于图像中的梯度概念,通过计算图像中每个像素点到各个方向的梯度来检测边缘。具体来说,Sobel滤波器利用两个3x3的卷积核(或称为滤波器模板),一个用于检测水平方向的边缘,另一个用于检测垂直方向的边缘。这两个卷积核分别对应着水平和垂直方向上的梯度计算。通过将这两个卷积核与图像进行卷积运算,可以得到每个像素点在水平和垂直方向上的梯度值。最后,通过计算这两个梯度值的矢量和,可以得到该像素点的总体梯度强度和方向。

Sobel滤波器的主要作用是提取图像中的边缘信息。由于边缘是图像中灰度变化最剧烈的区域,因此通过计算梯度并设定合适的阈值,可以有效地将边缘从图像中分离出来。这使得Sobel滤波器在图像处理中具有广泛的应用,例如用于图像分割、特征提取、目标识别等任务。通过增强图像的边缘信息,Sobel滤波器还可以提高图像的清晰度和视觉效果,使得图像中的细节和轮廓更加突出。

图24:Sobel滤波器

图24给出了一个例子,左边输出的一幅隐形眼镜的光学图像,圆形的镜片会有一些缺陷。运用Sobel滤波器去计算它的一幅梯度图像,从图像可以清晰的看到缺陷的位置,并且过滤了灰度不变或者变化缓慢的地方。

拉普拉斯滤波器

拉普拉斯滤波器是一种二阶导数算子,用于图像增强中的锐化处理。它通过计算图像中每个像素点与其周围像素点的灰度值的二阶差分来检测边缘。这种二阶差分能够反映出图像像素的变化程度,尤其是灰度突变的区域。当图像中的某个像素点与其周围像素点的灰度值存在较大的差异时,拉普拉斯滤波器会将其视为边缘或细节部分。

拉普拉斯滤波器的主要作用是增强图像中的边缘和细节,使图像更加清晰和鲜明。通过对图像进行二阶微分运算,拉普拉斯滤波器能够突出灰度突变区域,减弱灰度的缓慢变化区域,从而强调图像的轮廓和特征。这使得拉普拉斯滤波器在图像处理中广泛应用于边缘检测、特征提取、图像分割等任务。通过增强边缘和细节,拉普拉斯滤波器还可以提高图像的对比度,使图像中的信息更加易于识别和解析。

需要注意的是,由于拉普拉斯滤波器对噪声具有双倍加强作用,因此在实际应用中通常会将高斯滤波和拉普拉斯边缘检测结合使用,即先用高斯滤波器对图像进行平滑处理,以消除噪声的干扰,然后再采用拉普拉斯滤波器进行边缘检测。这样可以同时实现图像的平滑和锐化,提高图像处理的效果和质量。

图25:拉普拉斯滤波

图25是拉普拉斯滤波应用的例子。原图输入经过光学设备成像后,整体是平滑的但缺失了细节,然后利用拉普拉斯滤波提取图像细节出来,对于拉普拉斯的响应是有正有负的,这个按需选择。我们可以把细节图像做一个灰度平移,就是把细节图像整体的加128,原来灰度为0的细节就变成128,这详细节就更为明显的展现出来。最后把拉普拉斯细节图像加到原图上,得到右下的图像,显然最终的输出细节得到了增强。

1.7 图像形态学操作

图像形态学操作是基于形状的一系列图像处理操作的合集,它主要利用形态学数学,以形态为基础对图像进行分析和处理。这种操作主要是基于集合论的基础。其基本的思想是利用具有一定形态的结构元素去度量和提取图像中的对应形状,以达到对图像进行分析和识别的目的

图像形态学操作包括腐蚀、膨胀、开运算、闭运算、梯度运算、顶帽运算、黑帽运算等。这些操作可以实现多种效果,如消除噪声、提取边界、填充区域、提取连通分量、凸壳、细化、粗化等。此外,它还可以分割出独立的图像元素或图像中相邻的元素,求取图像中明显的极大值区域和极小值区域,以及求取图像梯度等。

在图像处理中,形态学操作具有重要的应用意义。例如,腐蚀操作能够去除图像中的小噪点或细小的不连续区域,而膨胀操作则可以填充图像中的空洞或连接断裂的区域。开运算可以用于去除图像边界的毛刺,闭运算则可以用于填补小空洞。这些操作有助于平滑图像、去噪、特征提取以及图像的分割和重构。

图像形态学操作在多个领域具有广泛的应用场景。以下是一些主要的应用领域和具体应用场景:

1)噪声去除:通过形态学操作中的开运算或闭运算,可以有效地去除图像中的噪声点。这对于提高图像的质量和清晰度至关重要,尤其在医学影像处理、安全监控等领域具有广泛应用。

2)物体分割:利用腐蚀、膨胀等操作,图像形态学能够分割图像中的物体。这对于目标识别、特征提取等任务非常关键,例如,在自动驾驶系统中,可以通过形态学操作来识别并分割出道路上的车辆、行人等目标。

3)物体检测:形态学操作可以帮助提取图像中的轮廓信息,从而进行物体检测和识别。例如,在工业自动化中,可以利用形态学操作来检测生产线上的产品缺陷或异常。

4)图像增强:形态学操作可以强调图像中的边缘和纹理信息,增强图像的视觉效果。这在医学影像分析、遥感图像处理等领域尤为重要,有助于医生或研究人员更准确地分析和诊断。

5)文字识别:在OCR(光学字符识别)技术中,形态学操作可以帮助分割和识别文档中的文字。通过去除噪声、平滑边界等操作,可以提高文字识别的准确率和效率。

6)医学图像处理:形态学操作在医学图像处理中发挥着重要作用。例如,在糖尿病视网膜病变的诊断中,医生可以利用形态学运算算法来提取图像中的权值特征,从而更准确地判断病变区域的位置和范围。此外,形态学操作还可以用于细胞分割、血管提取等任务。

1.8 图像阈值分割

1.7.1 二值化阈值

图像阈值分割中的二值化阈值是一种图像处理技术,其核心思想是通过设定一个阈值,将图像上的像素点的灰度值设置为0或255,从而使得整个图像呈现出明显的黑白效果。这种技术主要用于提取图像中的目标物体,将背景以及噪声区分开来

原理上,阈值是在图像分割时作为区分物体与背景像素的门限。大于或等于阈值的像素属于物体,而其他像素属于背景。这种方法对于在物体与背景之间存在明显差别(对比)的景物分割十分有效。

阈值化技术包括全局阈值自适应阈值等,其中全局阈值是固定不变的,而自适应阈值则是根据图像不同区域的光照条件来设定的。

在具体操作步骤上,二值化阈值分割通常包括以下几个步骤:

1)将彩色或灰度图像转换为灰度图像。

2)选择一个合适的全局阈值或自适应阈值。全局阈值是一个固定的值,而自适应阈值则是根据图像的不同区域来计算的。

3)遍历图像中的每个像素,如果像素的灰度值大于等于阈值,则将其设置为白色(灰度值255);否则将其设置为黑色(灰度值0)。

通过这些步骤,图像二值化可以将图像中的目标物体与背景进行有效分割,从而便于后续的图像分析和处理。这种技术在计算机视觉、图像处理、模式识别等领域都有广泛的应用。

图26:二值化阈值用于指纹识别

例如,如图26所示,二值化阈值分割可以用于指纹识别。指纹图像是由谷线和脊线间隔构成的,其中脊线一般比谷线深,在灰度图像上,脊线的灰度值比谷线小。指纹识别的主要目标是提取脊线的特征点纹路细节,这可以通过设定一个合适的阈值来实现。将脊线作为前景区域,谷线作为背景区域,通过二值化阈值分割,可以将指纹图像转换为黑白两色的图像,其中脊线区域变为黑色,谷线区域变为白色。

二值化阈值分割处理后的指纹图像,其黑白像素点的个数比应接近1:1,这有助于后续的指纹特征提取和识别,并且能够提高指纹识别的准确性和效率。

1.7.2 Otsu自动阈值算法

Otsu自动阈值算法,也被称为最大类间方差法或大津算法,是由日本学者大津展之于1979年提出的。它是一种确定图像二值化分割阈值的算法,旨在寻找一个最佳阈值,使得图像分割后前景与背景之间的类间方差最大化

Otsu自动阈值算法的基本原理是,通过遍历所有可能的阈值,计算每个阈值下前景与背景像素的类间方差。类间方差越大,说明前景与背景的差异越明显,分割效果越好。因此,最终选择的阈值是使得类间方差最大的那个值。

使用Otsu自动阈值算法的步骤:

1)计算图像的直方图:首先,对输入图像进行灰度化处理,并计算其灰度直方图。直方图表示了图像中不同灰度级像素的数量分布。

2)归一化直方图:对直方图进行归一化处理,得到每个灰度级像素数占总像素数的比例。

3)遍历所有可能的阈值:从0到最大灰度级遍历所有可能的阈值T。对于每个阈值T,将图像像素分为两类:前景(灰度值小于T)和背景(灰度值大于或等于T)。

4)计算类间方差:对于每个阈值T,计算前景和背景像素的类间方差。类间方差可以通过计算前景和背景像素均值与整体像素均值的差的平方和来得到。

5)选择最佳阈值:找到使得类间方差最大的阈值T,作为最佳阈值。

Otsu自动阈值算法在图像处理领域有着广泛的应用,特别是在图像分割和二值化方面。

1)图像分割:在需要对图像中的目标和背景进行分割时,Otsu算法可以自动选择一个合适的阈值,将目标和背景有效地分离开来。这对于后续的图像处理和分析非常重要。

2)二值化:在需要将灰度图像转换为二值图像时,Otsu算法可以提供一个自动且高效的解决方案。通过选择一个合适的阈值,可以将图像中的像素分为黑白两类,从而简化图像并突出关键信息。

3)特征提取:在需要提取图像中的特定特征时,如边缘、轮廓或纹理等,Otsu算法可以帮助实现更准确的特征提取。通过二值化图像并去除噪声,可以更容易地识别和提取出这些特征。

此外,Otsu算法还适用于其他需要自动确定阈值的图像处理任务,如形态学滤波、去噪、平滑等操作。然而,需要注意的是,当图像中存在较多噪点或目标和背景差异不明显时,Otsu算法可能会产生误分割。

1.7.3 多阈值扩展

图像阈值分割的多阈值扩展是指将单阈值分割方法推广到使用多个阈值进行图像分割的技术

传统的单阈值分割方法只能将图像分为两类,即目标和背景,这在某些情况下可能无法满足需求。而多阈值分割则能够使用多个阈值将图像分割为更多的类别或区域,从而更精细地提取图像中的不同特征。

在多阈值分割中,关键的一步是确定合适的阈值集合。这通常需要根据图像的灰度直方图或其他统计信息来选择合适的阈值。一旦确定了阈值集合,就可以根据这些阈值将图像的像素划分为不同的类别或区域。

多阈值分割的应用非常广泛。例如,在医学图像处理中,可能需要将病变组织、正常组织和背景等不同部分分割开来;在遥感图像处理中,可能需要将不同类型的地物或地貌分割出来。通过多阈值分割,可以更准确地提取图像中的不同特征,为后续的分析和处理提供更丰富的信息。

需要注意的是,多阈值分割方法的计算复杂度通常比单阈值分割方法高,因此在选择是否使用多阈值分割时需要根据具体的应用场景和需求进行权衡。

此外,确定合适的阈值集合也是一个挑战性的问题,需要根据具体的图像数据和任务需求进行选择和调整。

1.7.4 基于区域生长的图像分割算法

基于区域生长的图像分割算法是一种传统的图像分割方法。它的基本原理是将图像中的像素组织成不同的区域或对象,使得每个区域内的像素具有相似的特征,而不同区域之间的特征差异较大。

这种算法的核心思想是从一组初始种子点出发,通过预先定义的区域生长规则,将与种子点性质相似的邻域像素不断添加到每个种子点上。当满足区域生长的终止条件时,形成最终的生长区域。

具体来说,区域生长算法根据像素间的相似性度量(如灰度值、颜色等)来合并相似像素,形成具有相似属性的区域。种子点的选择对于最终分割结果至关重要,可以根据图像的复杂情况选择多个点作为初始值。在区域生长过程中,还需要考虑相同特征像素点的合并问题,确保最终分割对象的数量小于等于种子数量。

区域生长算法具有思想相对简单、可以分割出封闭的区域、在复杂环境下有较好的分割效果等优点。然而,它也存在一些缺点,如对噪声敏感、可能会造成空洞(通常需要进行平滑操作)、时间和空间复杂度较大等。

区域生长算法在多个领域都有广泛的应用,如医学图像分割(如CT扫描和MRI等,用于将不同颜色的感兴趣区域如肿瘤分开,以便医生更好地阅读和分析图像)和飞行器导航(用于将空域细分为地面、建筑等不同区域)。

1.9 图像几何变换模型

传统的或者说在同一维度上的基础变换有平移缩放旋转。但2D图像转投到3D拼接的基础变换过程,总共包含五种变换--平移刚性相似仿射透视

图27:2D图像转投到3D拼接的基础变换过程

1.9.1 平移变换

平移变换是一种基本的图形变换,指的是图形在平面内沿某一方向移动一定的距离

在2D到3D的转换中,平移变换不会改变图形的形状和大小,但可以使图形在三维空间中移动,从而实现从2D到3D的转换。

1.9.2 刚性变换

刚性变换是一种保持图形大小和形状不变的变换,包括旋转和平移

在2D到3D的转换中,刚性变换可以保持2D图像的形状和大小不变,同时将其旋转到合适的角度或位置,以更好地与3D模型进行匹配和拼接。

1.9.3相似变换

相似变换是大小发生变化的刚性变换,在变换过程中保持了图形的形状特征,即原图形和变换后的图形不仅是相似的,而且是等形的。

在2D到3D的转换中,相似变换可以在保持图形形状的同时,调整其大小,以更好地适应3D空间中的位置和比例。

1.9.4 仿射变换

仿射变换是一个线性变换,它保持图像的“平直性”(即,原图中的直线和平行线在输出图像中仍然保持直线和平行线)。仿射变换可以实现图像的缩放、旋转、平移、倾斜等操作。

在2D到3D的转换中,仿射变换可以进一步调整图形的形状和大小,以更好地与3D模型进行匹配。

1.9.5透视变换

透视变换是将图像投影到一个新的视平面,是二维到三维再到另一个二维空间的映射。它可以把一个图像(或图像的某个部分)投影到一个新的视平面,并且按照透视规律改变图像的大小。

在2D到3D的转换中,透视变换可以模拟人眼的视觉效果,使得转换后的3D图像具有更真实的空间感和立体感。

1.10 图像频域滤波

图像频域滤波是一种基于图像频谱信息进行操作的滤波方法。它通过将图像转换到频率域,对频谱信息进行滤波处理,然后再将处理后的频谱反变换回空间域得到最终结果。这种方法可以更灵活地调整滤波器的频率响应,以实现不同的滤波效果。

1.9.1 低通滤波

低通滤波的基本原理是保留图像中的低频分量,削减图像中的高频分量。由于图像的边缘和噪声对应图像频谱中的高频分量,因此,低通滤波将模糊图像的边缘和轮廓,并消除或减弱噪声影响,属于图像平滑处理技术。

理想低通滤波器(Ideal Low Pass Filter, ILPF)是一个在傅里叶平面上半径为D0的圆形滤波器,其传递函数如下式所示:

上式中,D0是一个非负整数,称为截止频率,指小于D0的频率可以完全不受影响地通过滤波器,而大于D0的频率则完全通不过滤波器;D(u, v)=(u2+v2)1/2为点(u,v)到傅里叶频率平面原点的距离。

理想低通滤波器的传递函数如图28所示。

图28:理想低通滤波器传递函数

图29:频域低通滤波所产生的模糊

图29(a)所示是一幅包含不同细节的原始图像,图29(b)为它的傅里叶频谱,其上所叠加4个圆周的半径分别为5,11,45和68,这些圆周内分别包含了原始图像中90%,95%,99%和99.5%的能量。图29(c)到图29(f)分别为用以上各圆周的半径所确定截止频率的理想低通滤波器进行处理得到的结果。

由图29(c)可见,尽管只有10%的(高频)能量被滤除,但图像中绝大多数细节信息都已丢失了,事实上这幅图已无多少使用价值。由图29(d)可见,当仅5%的(高频)能量被滤除后,图像中仍有明显的振铃效应。由图29(e)可见,如果只滤除1%的(高频)能量,图像虽有一定程度的模糊但视觉效果尚可。最后由图29(f)可见,滤除0.5%的(高频)能量后所得到的滤波结果与原图像几乎无差别。

1.9.2 高通滤波

高通滤波的基本原理是保留图像中的高频分量,削减图像中的低频分量。由于图像的边缘和噪声对应图像频谱中的高频分量,因此,高通滤波将突出图像的边缘和轮廓,使光滑区域灰度减弱、变暗甚至接近黑色,属于图像锐化处理技术。

高通滤波器是对应低通滤波器的精确反操作,即对应低通滤波器衰减的频率都能通过该高通滤波器,公式如下:

上式中,hhp(u,v)为高通滤波器的传递函数;hlp(u,v)为低通滤波器的传递函数。

理想高通滤波器(Ideal High Pass Filter, IHPF)是一个在傅里叶平面上半径为D0的圆形滤波器,其传递函数如下式所示:

上式中,D0是一个非负整数,称为截止频率,指大于D0的频率可以完全不受影响地通过滤波器,而小于D0的频率则完全通不过滤波器;D(u, v)=(u2+v2)1/2为点(u,v)到傅里叶频率平面原点的距离。

理想低通滤波器的传递函数如图30所示。

图30:理想高通滤波器传递函数

1.9.3 带阻带通滤波

低通滤波和高通滤波分别消除或减弱图像中的高频和低频分量。实际应用中也可通过滤波消除或减弱图像中的某个频率范围内的分量,这时所用滤波器常称为带阻滤波器。与带阻滤波器密切相关的主要有带通滤波器和陷波滤波器

带阻滤波器阻止一定频率范围内的信号通过而允许其他频率范围内的信号通过。如果这个频率范围的下限是0(上限不为∞),则带阻滤波器成为高通滤波器。如果这个频率范围的上限是∞(下限不为0),则带阻滤波器成为低通滤波器。所以,低通滤波器和高通滤波器都可看作带阻滤波器的特例。

用以消除频率原点为中心的邻域的带阻滤波器是放射对称的。一个放射对称的理想带阻滤波器的传递函数如下式所示:

上式中,W为带的宽度;D0为放射中心。

一个放射对称的带通滤波器的传递函数如图31所示。

图31:放射对称的带通滤波器的传递函数

1.9.4 各种滤波的效果比较

图32:各种滤波的效果比较

图32所示是各种滤波的一组示例图。图32(a)是原始图像;图32(b)是低通滤波器的示意图,中心低频部分可通过,周围高频部分通不过;图32(c)是低通滤波结果;图32(d)是高通滤波器的示意图,中心低频部分通不过,周围高频部分可通过;图32(e)是高通滤波结果;图32(f)是带通滤波器的示意图,最中心的低频部分通不过,周围一定范围的中频部分可通过,但更远的高频部分又通不过;图32(g)是带通滤波结果;图32(h)是带阻滤波结果,所用带阻滤波器正好与图31(f)互补。

1.9.5 频域增强与空域增强的关系

空域滤波增强分为平滑滤波和锐化滤波。

从空域的角度看,平滑滤波能够减少局部灰度起伏和噪声干扰;从频域的角度看,灰度起伏和噪声干扰具有较高的频率,滤除它们可以采用具有低通能力的频域滤波器。因此,空域的平滑滤波对应频域的低通滤波。从空域的角度看,锐化滤波能够增强图像的边缘和轮廓;从频域的角度看,边缘和轮廓具有较高的频率,增强它可以采用具有高通能力的频域滤波器。因此,空域的锐化滤波对应频域的高通滤波。

空域滤波增强的基本原理是利用图像与模板的卷积来进行。根据卷积定理,空域中图像与模板的卷积等于图像的傅里叶变换和模板的傅里叶变换在频域的乘积。根据图像频域增强的基本原理,频域图像增强是频域原始图像与频域传递函数的乘积,即图像的傅里叶变换与频域传递函数的乘积。因此,空域中模板的傅里叶变换对应于频域中的传递函数。具体来说,空域中平滑滤波器的模板函数的傅里叶变换对应于频域中低通滤波器的传递函数,或者频域中低通滤波器的传递函数的傅里叶反变换对应于空域中平滑滤波器的模板函数。空域中锐化滤波器的模板函数的傅里叶变换对应于频域中高通滤波器的传递函数,或者频域中高通滤波器的传递函数的傅里叶反变换对应于空域中锐化滤波器的模板函数。

举报