资源预览内容
第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
第9页 / 共14页
第10页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1、 图像的预处理技术图像处理按输入结果可以分为两类,即输入输出都是一副图像和输入一张图像输出不再是图像的数据。图像处理是个很广泛的概念,有时候我们仅仅需要对一幅图像做一些简单的处理,即按照我们的需求将它加工称我们想要得效果的图像,比如图像的降噪和增强、灰度变换等等。更多时候我们想要从一幅图像中获取更高级的结果,比如图像中的目标检测与识别。如果我们将输出图像中更高级的结果视为目的的话,那么我们可以把输入输出都是一幅图像看作是整个处理流程中的预处理。下面我们将谈到一些重要的预处理技术。(1) 图像增强与去噪图像的增强是一个主观的结果,原来的图像按照我们的需求被处理成我们想要的效果,比如说模糊、锐化、灰度变换等等。图像的去噪则是尽可能让图像恢复到被噪声污染前的样子。衡量标准是可以度量的。不管是图像的增强与去噪,都是基于滤波操作的。1 滤波器的设计方法滤波操作是图像处理的一个基本操作,滤波又可分为空间滤波和频域滤波。空间滤波是用一个空间模板在图像每个像素点处进行卷积,卷积的结果就是滤波后的图像。频域滤波则是在频率域看待一幅图像,使用快速傅里叶变换将图像变换到频域,得到图像的频谱。我们可以在频域用函数来保留或减弱/去除相应频率分量,再变换回空间域,得到频域滤波的结果。而空间滤波和频域滤波有着一定的联系。频域滤波也可以指导空间模板的设计,卷积定理是二者连接的桥梁。(1) 频域滤波使用二维离散傅里叶变换(DFT)变换到频域:使用二维离散傅里叶反变换(IDFT)变换到空间域:在实际应用中,由于该过程时间复杂度过高,会使用快速傅里叶变换(FFT)来加速这个过程。现在我们可以在频域的角度看待这些图像了。必须了解的是,图像中的细节即灰度变化剧烈的地方对应着高频分量,图像中平坦变化较少的地方对应着低频分量。图像中的周期性图案/噪声对应着某一个频率区域,那么在频域使用合适的滤波器就能去除相应的频率分量,再使用傅里叶反变换就能看到实际想要的结果。不同的是,在频域的滤波器不再是做卷积,而是做乘积,因为做乘法的目的在于控制频率分量。比较有代表性的有如下几个滤波器:高斯低通滤波器D是距离频率矩形中心的距离。该滤波器能保留低频分量,逐渐减小高频分量,对原图像具有模糊作用。高斯高通滤波器可以看出高斯高通滤波器就是高斯低通滤波器的一个上下对称的函数,同理,该滤波器可以保留高频分量,减小低频分量,对图像有锐化的效果。陷波滤波器陷波滤波器就是这样的一些高通滤波器的乘积。每个高通滤波器的中心都被移至希望抑制的频率处,达到选择性滤波的目的。这只是几种典型的滤波器,为了实际需求还有很多不同效果的,不管哪种滤波器,都是为了滤除我们不希望存在的频率分量。(2) 空间滤波空间滤波的基础是卷积,用一个滤波的模板对图像做卷积。卷积的离散定义如下:所以,空间滤波就是使用设计好的模板滑过图像,对每一处都进行卷积操作,计算结果就是滤波后的图像。一些简单的空间滤波器,比如均值滤波器、统计排序滤波器、锐化滤波器等等。关于空间滤波器的设计,我们须知道,有些滤波器的设计有着很明显的意义。有些则没有那么不容易理解。有直接意义的比如均值滤波器、统计排序滤波器,这类的都很好理解,均值滤波器就是对某个像素的邻域内像素取均值,很容易知道取完均值就能将该像素与邻域像素处灰度接近,也就达到了平滑图像的目的。统计排序滤波器的作用是将一个邻域内的灰度排序后的中值替代中心像素值。可以想象,脉冲噪声可以被轻易的去除。那么在空间滤波器没那么容易直接设计的时候,其实它的设计是和频域滤波密切相关的。下面我们介绍其原理。首先我们介绍一下卷积定理:双箭头代表傅里叶变换对,即两个函数在空间里的卷积的傅里叶变换等价于它们各自傅里叶变换的乘积。由卷积定理可以知道,在频域进行滤波的时候,滤波的结果等于频域滤波器的傅里叶反变换在空间域对图像进行卷积。也就是说我们可以通过频域的滤波器得到相应的空间滤波器。在这个对应的过程中,需要对相应的空间函数进行取样,并保证模板中的系数之和为零。一旦找到了适用于某个应用的滤波器,可以使用硬件设备直接在空间域实现该滤波器。2 图像去噪(1) 均值滤波均值滤波即求某个像素点邻域内像素值的均值,然后赋给该中心点像素。求均值的时候,并不是一定要严格的算术平均值,邻域内像素点可以有不同的权值,但要系数之和为1。均值滤波可以去除由扫描得到的颗粒噪声。但是缺点是会模糊图像。(2) 中值滤波算法的原理是将某个像素邻域内的像素值排序,取中值替代中心像素值。是一种非线性平滑滤波器,能将与周围差别过大的像素值替代成为与周围像素值相似的值,可以有效去除椒盐噪声。(3) 维纳滤波计算局部方差,局部方差越强,平滑作用越强,可以使得恢复的图像与原始图像的均方误差最小。相对于均值滤波来说,这种方法对保留图像细节即高频分量有不错的效果,不过计算量大,对于白噪声有不错的抑制效果1。(4) 小波阈值去噪法这种方法的原理如下,将带噪图像进行小波分解将图像信号分解到各个尺度中,然后把每一尺度中属于噪声的小波系数去掉,保留并增强属于图像信号的系数。最后使用小波逆变换重构出图像。在去掉属于噪声的系数的时候,要预先设定一个阈值,若小波系数小于阈值,则认为该系数主要由噪声引起,则去除这部分系数。反之若大于阈值,则保留。阈值的选取方法如下。全局阈值:a为噪声标准方差,N为信号长度。除了全局阈值还有局部适应阈值,阈值的选取直接影响到去噪的效果2。(5) 双边滤波双边滤波器和经典的高斯滤波器一样运用了局部加权平均,不同之处在于双边滤波器的权值由两部分因子的乘积组成,一部分由像素间的空间距离决定,称之为空间临近度因子;另一部分由像素间的亮度差决定,成为亮度像似度因子。双边滤波器比较于经典的低通滤波器来说,具有保持边缘细节的最大优点,同时有不错的去噪能力。2、 目标识别(1) 传统方法1 图像特征提取的方法在数字图像处理中,要想对一幅图像做更高级的处理,即不再是输入输出都是图像的话,就需要对图像转换成利于计算机处理的形式。最基本的思想是将图像的特征提取出来,这一个个特征值组合成一个特征向量,用以标识一幅图像,这样就把图像的分类问题转化成了向量的分类问题。值得注意的是,传统方法中的特征提取方法很大程度上是基于问题的。比如汽车车型的识别可以通过识别长宽比与顶棚与车长的比;指纹识别中,脊线上的分叉点和端点又成了我们所关注的特征点;人脸识别中,一种简单的办法是选取鼻尖,嘴角,眼珠这些特征点;识别一个物体是不是苹果,那么可以选取圆度率,形状数,纹理的一致性和平均熵度,颜色等等特征。总的来说,传统方法在解决一系列图像识别问题的时候,要具体问题具体分析。(1) 图像分割所谓图像分割是根据灰度、色彩、纹理和几何形状等特征把图像划分成若干个互不相交的区域,使得在同一区域内的特征具有相似性,而在不同区域间表现得不同3。灰度图像有两个基本性质:不连续性和相似性。关注图像的不连续性的话,则以灰度突变为基础来分割一幅图像;如果关注相似性的话,则根据预定义的准则将图像分割为相似的区域,这类方法有阈值处理,区域生长,区域分类和聚合等,最实用的是阈值处理技术。1 基于灰度突变的边缘检测图像的大部分信息都存在于图像的边缘中,主要表现为图像局部特征的不连续性,即图像中会的变化较为剧烈的地方。因此我们把边缘定义为图像中灰度发生急剧变化的区域边界4。目前几种常用的边缘检测算法有基于梯度的边缘检测、高斯拉普拉斯(LoG)算子、坎尼边缘检测算法。1) 基于梯度的边缘检测Sobel算子是一种一阶微分算子,通过计算临近像素与中心像素的插值来近似该点的一阶导数。这个过程可以通过一个Sobel卷积模板来实现。该模板形式如下。算法过程为:对图像进行预处理即平滑操作,通过Sobel模板来计算出每个像素点的梯度,再根据预设的阈值来对梯度值进行取舍。2) 高斯拉普拉斯(LoG)算子由于噪声点对边缘检测影响较大,所以由高斯滤波和拉普拉斯算子结合,形成高斯拉普拉斯算子。由高斯函数根据拉普拉斯算子的公式求导可得。用LoG滤波器对图像进行滤波这个过程实际上是该滤波函数与图像进行卷积。由于高斯拉普拉斯两个操作是线性的,所以这个过程可以变换为先对图像进行高斯低通滤波,再计算其拉普拉斯。是二维高斯函数的标准差,也称空间常数。在实际应用中,通常用一个二维空间模板来近似LoG,对该函数的值进行取样,并保证模板中各个系数之和为零。下图为一个55模板。这个模板可以是nn的,在做完这一步后,需要寻找零交叉,方法是在每个像素点的33领域内,测试左右、上下、两个对角这四对像素值,要求至少有两对满足以下要求:两值符号不同,且两者差的绝对值要大于某个预设的阈值。这时就找到了一个零交叉像素。使用零交叉可以检测出大部分主要的边缘,而滤掉了一些弱的边缘信息。比如粗糙的纹理也会产生的一些“无关”的边缘。3) 坎尼边缘检测算法这个算法的主要步骤为:用高斯滤波器平滑输入图像;计算梯度幅度和方向;对梯度幅值图像采用非最大抑制,此举是为了细化边缘;最后使用双阈值处理和连接分析来检测并连接边缘。这个算法的有点事输出的边缘质量很高,保留了主要的边缘,消除了非主要的“伪边缘”,但是算法实现起来更为复杂,运行速度偏慢,可能会满足不了一些应用中的实时性要求。2 阈值处理基于阈值法的分割图像是一种十分简单却又有效的分割算法。这种算法根据图像中不同区域具有不同的灰度级这一特性,按照灰度级来对图像进行划分,灰度级相近的被视为同一个区域。在一些注重效率的场合,这种方法得到了广泛的应用5。这里介绍一种最经典的方法,即otsu法,现今的很多新的方法都是在此基础上进行了改进。Otsu法的算法流程如下:1.计算图像的直方图,并标记各个分量。2.对各个分量计算分到类别1中的概率,这个类别1和类别2是被一个阈值k划分开的,计算方法为3.计算全局灰度均值,i为灰度级。4.计算类间方差,m(k)和mG的计算方法相同。5.选取使得类间方差最大的k值,即为Otsu阈值。一旦阈值选取,则按阈值对图像进行划分。对Otsu法的改进有二维Otsu算法,这是基于二维灰度直方图来寻找最佳阈值。总的来说,无论用那种阈值方法,我们总期望于找到一个最佳的阈值,即能使得各个灰度级聚合的区域尽可能的分开。但阈值法也有个问题在于,如果目标物体和背景的灰度级差别很小时,或者目标区域和背景的灰度级存在着交叉的时都会导致阈值法的效果变得很差。(2) 目标特征的表示和描述方法对于我们感兴趣额目标区域,我们必须使用某些方法来将里面的特征进行表示和描述,这可以被视为特征提取的关键步骤,对于特征,我们之前也已经谈过了,特征是基于问题的,不同的具体问题,我们需要的特征信息也不尽相同。但我们需要的特征信息大致可以分为:点和线的几何形状特征(这个几何特征既包括空间位置关系也包括几何形状特征),区域特征(比如目标区域的纹理信息,某些情况下即使几何信息一致,纹理信息不一致我们也不会将其识别为同一个物体),PCA分析,结构方法等。1 边界的表示方法在对边界信息进行表示描述之前,我们必须得进行一些准备工作,因为边界本质上是由边界像素的集合构成的,所以,我们需要首先找到这样一个边界像素的序列,方法是用边界追踪算法,在每个像素点处寻找八领域内的下一个边界点,不停的迭代,直到回到起始点。这些边界点,我们可以使用链码来表述。对于一个形状很复杂的边界来说,将每个细节都纳入我们要表示的范围是一件很不明智的事情,这个时候就需要对这个复杂的形状进行简化,一种经典的算法是MMP算法,使用最小周长多边形来表示边界。这种方法的直观效果是将这个近似边界想象成一个可以收缩的橡皮筋,当出
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号