《基于小波变换的图像边缘检测算法(共28页).doc》由会员分享,可在线阅读,更多相关《基于小波变换的图像边缘检测算法(共28页).doc(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上基于小波变换的图像边缘检测算法仿真实现学 生 姓 名: XX 指 导 教 师: xxx 专 业 班 级: 电子信息 学 号: 学 院: 计算机与信息工程学院 二一五 年 五 月 二十 日专心-专注-专业摘 要数字图像边缘检测是图像分割、目标区域识别和区域形态提取等图像分析领域中十分重要的基础,是图像识别中提取图像特征一个重要方法。目前在边缘检测领域已经提出许多算法,但是提出的相关理论和算法仍然存在很多不足之处,在某些情况下仍然无法很有效地检测出目标物的边缘。由于小波变换在时域和频域都具有很好的局部化特征,并且具有多尺度特征,因此,利用多尺度小波进行边缘检测既能得到良好
2、的抑制噪声的能力,又能够保持边缘的完备。本文就是利用此方法在MATLAB环境下来对数字图像进行边缘的检测。关键词:小波变换;多尺度;边缘检测Abstract The boundary detection of digital image is not only the important foundation in the field of image segmentation and target area identification and area shape extraction, but also an important method which extract image fe
3、ature in image recognition.Right now, there are a lot of algorithms in the field of edge detection, but these algorithms also have a lot of shotucuts, sometimes, they are not very effective to check the boundary of the digital image. Wavelet transform has a good localization characteristic in the ti
4、me domain and frequency domain and multi-scale features, So, the boundary detection of digital image by using multi-scale wavelet can not only get a good ability to suppress noise, but also to maintain the completeness of the edge.This article is to use this method in the environment of MATLAB to de
5、tect the boundary of the digital image.Keywords: wavelet transform; multi-scale; boundary detection.窗体顶端目 录 333 4 33331 绪 论本章节重点阐述了图像边缘检测技术的探究状况与其历史,解释了基于小波变换的边缘检测技术的探究目的。并对论文的内容安排进行了说明。1.1研究背景对于图像的边缘检测技术的探究最先来源于上世纪的60年代,发展到如今已有了十分长的探究历史和很多有用的边缘检测算法。Roberts 在上世纪六十年代发现了由梯度为基础的的边缘检测算法,是至今为止一种比较科学的算法1。
6、70年代以后,科学家们又不断发现了几种别的算子,比较常用的还有下面几种:Prewitt、Sobel 、Kirsch 与 Robinson 。此外仍然具有较多有成果的研究,比方八十年代以后发展起来的各种线性和非线性尺度空间理论。图像的边缘检测作为数字图像处理的基本技术,这个项目探究在图像处理范畴都有十分重要的位子,此项技术着重使用在图像的衡量、图像的缩放、图像的压缩和图像的增强等众多范畴。另外,由于该课题具有一定的深度和难度,因此,也是很久以来人们一直关注和研究的重点课题。通过科学家们长时间的钻研和致力,如今已有较为多样的方式使用到图像的边缘检测当中,可是这些方式多半是基于无噪图像的处理。可是在
7、现实的图像传输或使用过程当中,图像不时一般都会参入噪声,而由于噪声的随机特征,我们不太可能预先了解噪声的散步和方差等讯息。因此,根据应用的具体需求设计新的算法或者改善原有算法,成为现在的图像边缘检测的主要研究方向。 根据 Marr 的视觉理论,人在远处观测某一个事物时,只注意该事物的大体轮廓,而在近处观测某一个事物时,会注意该事物的具体细节2。人的物理构造也解释该论点的正确性。近年来,小波理论的发扬也为图像处理开展了新理论。小波变换的多尺度特征是对人类视觉特性比较好的仿照,小尺度能够确定到很多的细节和边缘,但是对噪声很敏感;相反地,大尺度对噪声有较好地抑制,但是对于边缘的定位会有偏差,只能反映
8、边缘的轮廓。天天我们都在报纸、杂志、书本、电视等各类媒体庞大的图像讯息围绕中度过,这些图像信息包含文字、相片、表格、插图等。按照统计在人类获得的讯息之中,视觉讯息大概占60%,听觉讯息大概占20%,其余的像味觉讯息、触觉信讯息等算一起大概占20%。因此可见视觉讯息对人们的重要性,而图像恰是人类获得视觉讯息的重要来源。其中边缘又是图像最基本的特征2。MATLAB是应用于数学研究的一款软件,主要在数值计算和图像处理进行使用。正因为它运用了矩阵的方式来储存数据,因此在图像处理范畴可以施展速度快、效率高等优势。该软件有着很多性能很高的工具箱,通过这些工具,用户能够快速地对图像加以剖析和处理工作。除此以
9、外,与另一些软件相比,该软件在图像处理的问题上有很强的偏向性,并且有编码简单容易掌握的好处。针对上面的情形分析,本文就使用了该软件进行仿真,并且获得了较好的成果。1.2图像边缘检测概述图像边缘主要存在于目标和背景、目标与目标之间3。图像的边缘为矢量,一同包括了幅值与方向,按照图像中边缘区域的灰度改变形式差别,能够有3种不同的边缘:阶跃型、屋脊型与线条型。分别如图 1.1(a)、1.1(b)和 1.1(c)所示。其中阶跃型的图像边缘一般对应于物体的反射边缘,这种类型的边缘在我们生活和应用中比较常见。图 1.1 图像边缘变化类型 1.3边缘检测的现状纵观整个历史,关于边缘检测的研究有以下几个趋势4
10、: 不断改进和优化原有的算法; 不断引入新的算法和新的概念;随着科学的发展,人们提出许多新的边 缘检测方法。主要有:基于数学形态学的检测技术、借助统计学的检测技术、利用神经网络的检测技术、利用模糊理论的检测技术、基于小波变换的检测技术、利用信息论的检测技术以及利用遗传算法的检测技术等。 对于交互式检测方法的深入研究;对图像的边缘检测可以应用到我们实 际生活中的很多场合,通常主要包括医学图像、车牌识别、虹膜识别、人脸检测或者商标检测等,单纯的某一种检测技术已经不能够满足实际生活的要求,因此,一种新的研究方法就应运而生,即交互式的检测研究。实验也证明,该种方法更为有效。 对于那些比较特殊的图像处理
11、,人们给予更多的关注和热情;比如在医学方面的核磁共振图像和皮肤纹理图像、体育方面的运动图像和图像目标提取、天文学方向的雷达图像和多光谱图像以及地质学方向上的地质层扫描图像和立体图等等。 人们给予更多的关注在图像边缘检测的评价方面,并深入研究和学习与之密切相关的评价系数。理想的边缘检测应该能够很好地定位图像边缘,并准确地解决图像边缘的真假问题。要做好边缘检测,还有很多地方需要注意5: 首先,每一幅图像的边缘特征都不会一样,我们要根据这些不同之处,采取适合该图像特征的边缘检测方法; 其次,特征变换总是发生在特定的空间范围内,我们不能指望用某一种检测算子,就可以发现图像上的所有功能变化; 第三,图像
12、受噪声的影响会出现偏差,我们要想办法减小噪声的影响,最常用的办法就是滤波除噪,但是由于滤波器的限制,该方法并不适用于所有情况, 有一定的局限性;再就是考虑信号加噪声的条件检测,使用统计信号分析,或者先对要处理的图像进行数字建模,之后再检测图像的参数; 第四,通过不同方法的交叉组合来进行检测,可以先获得图像的边缘轮廓, 再通过内插函数和局部逼近组合来定位图像的边缘,通过组合方式定位到的边缘信息具有很高的精度; 第五,基于检测图像的具体轮廓,有必要审查定位的确切性。使用经典算法对图像进行边缘检测时,由于算法本身的局限性,受噪声的影响比较严重,所以不能够得到有效的边缘信息。因此,对受噪图像先进行平滑
13、滤波,从而减小噪声影响,就显得很有必要。实践证明,运用这种方法进行边缘检测得到的结果比较接近图像的真实边缘。 2 传统的边缘检测方法2.1 Roberts 算子Roberts 算子也叫做梯度交叉算子,此算子是以(x,y)为中心点,在 2*2 邻域内计算对角线方向的导数6,表达式为: (2-1)在实际的图像处理上,一般使用下面这个近似表达式: (2-2)此外还能使用 Roberts算子来表达: (2-3)Roberts 边缘检测算子的卷积算子如下7: 通过以上两个卷积算子,就很方便根据公式得出梯度幅值的近似点g(x,y),而后选取适当的阈值 TH,假如 g(x,y) TH,那么点(i,j)为阶跃
14、状边缘点,则若 g(x,y) TH,则点(i,j)就不是阶跃状边缘点。2.2 Sobel 算子Sobel 算子采用 3*3 模板,对于图像中的任一像素点(x,y),对 4-邻域采用带权的方法计算方差,是一种方向差分和局部平均相结合的方法。通常情况下,我们定义水平方向梯度为xf,垂直方向梯度为yf。则 Sobel 算子的形式可以表示为:(2-4)Sobel 算子水平方向与垂直方向的矩阵能够表达为8: 该算子的特征在于:其中图像在垂直方向上的图像边缘可以用水平方向梯度xf来检测出来,图像在水平方向上的图像边缘可以用垂直方向梯度f 来检测出来。在实际的边缘检测应用中,单个像素点的灰度值就是两个卷积结
15、果的最大值,而边缘图像就是这些单个卷积运算的总和。2.3 Prewitt 算子Prewitt 算子的偏导数是: (2-5) Prewitt的两个卷积算子分别是: 在本设计中,Sobel 和Prewitt的算子基本上相同,唯一有差异的地方是权值,这些权值属于平滑局部。当使用上面两个卷积算子时,通过公式计算得出幅度,我们取其最大幅度作为图像中该像素点的输出值,然后就通过比较阈值和输出值的大小来判断该点是否是图像边缘,从而得到边缘图像9。由于该算子对图像进行了平滑处理,因此在一定程度上减小了噪声对图像的影响。2.4 Kirsch 算子Kirsch 算子是最优匹配的图像边缘检测算法之一,但是算子的实现
16、比较麻烦一些。为了确定一个像素的梯度方向上的图像,操作者从八个不同的模板,和八个方向的像素点代表卷积衍生物。其卷积模板可以表达为: 采用本种方法来检测时,有必要对所选取的画像的图像点利用上面所述的方法进行卷积运算,而且将图像点的输出值定义为运算图像点中八个方向的极值。虽然该算法可以检测到尽量多的图像边缘细节,但是这加重了计算机的计算负担,因而该算法不适用于检测边缘信息较为复杂的图像。2.5 Laplace 算子由于一阶微分算子的计算模板比较简单,所以就不能有效地定位图像边缘,而且也不能更好地抑制噪声。Laplace算子为二阶微分算子10。Laplace算子的方式可以表达为:(2-6) 拉普拉斯
17、算子的边缘模板如下所示: 假如图像的边缘是阶跃型边缘,在利用 Laplace 算子对图像中的每一个像素求其二阶导数时,会在图像边缘点的区域取异号,即呈现零点。拉普拉斯边缘检测算子就是以这一结论,分别按照其 x 方向和 y 方向上的二阶差分图像,并求他们的和。由该算子的原理可知,它的检测不具有方向性。拉普拉斯算子虽然对边缘信息的定位较为准确,基本没有伪边缘。但是由于它是一个二阶差分算子,这就使得它不能够全面的检测图像边缘,丢失部分内容造成了边缘的不连续。同时,也使噪声对图像的影响增强了。而实际中的图像大都是含有噪声的,所以,利用该算法时,一定要在加强边缘以前进行平滑滤波11。2.6 LOG 算子
18、我们所说的频域中高频局部包含了图像边缘和噪声,虽然同属一部分,但在遭受噪声的影响上却不相同,所表现出来的二阶导数算子要比一阶导数受噪声的干扰更明显,所以利用 LOG时,需要在微分运算之前先平滑滤波以减小噪声对图像的影响。LOG进行检测的方法为:先利用一个高斯滤波函数对检测像素滤波,然后运用拉普拉斯运算应用于图像,就可以将图像的边沿点输出定义为所测图像的过零点。高斯滤波函数为 (2-7)从上式可知,高斯滤波器方差决定了图像的平滑水平。对f(x,y)来进行低通处理,得到: (2-8)而后再经 Laplace 算子处理获得 (2-9)因为卷积和微分能够互换,于是式可以变成 (2-10)LOG 算子中
19、的尺度参数是影响图像质量的重要参数,它决定了图像的模糊程度和图像中的边缘情况。LOG 算子有许多种不同大小的模板,常常使用的是 5*5 大小的,模板如下表达: 2.7 Canny 算子Canny 算子属于一阶微分算子。Canny算法的基本思想是确定高斯倒数滤波器的梯度,从而找到与最大像素梯度范围12。Canny 还提出了一个有效的边缘检测算子需要满足的三个法则:第一,出色的信号/噪声比,即可能能够提升检测的精确度,降低误差,提升将边缘点判别为非边缘点的几率,下降非边缘点鉴别为边缘点比的几率。第二,良好的定位性能,也就是说,尽量在实际边缘中心的附近区域检测到边缘的位置。第三,对某一个确认边缘点的
20、反映只有一种解释,最大几率地减小多个解的结果,促成切实边缘响应,抑制假的边缘响应。Canny 的信噪比准则可以根据下面的式子: (2-11)边缘检测方法的性能可用Canny 的单边缘响应准则评价,是上面两个准则的附加。因为根据前两个标准能够解出最优滤波器的函数方式,于是该准则在这里不进行论。 Canny 边缘检测算子的详细环节如下:首先假定一幅图像可用 f(x,y)来表达,滤波高斯函数用 G(x,y)表达,滤波去噪之后获得的平滑图像为 g(x,y),则它们之间的关联可用下式表达: (2-12)其次针对平滑后图像中的每个像素点,计算其梯度强度和方向: (2-13) 因为高斯函数具备可分性,于是,
21、能够用两个一维的队列滤波器来表示某一像素点的梯度 G: (2-14)把两式一一与图像 f ( x,y)作卷积,获得输出: (2-15) 然后只得到完全的梯度还不足以检测图像的边缘,于是为肯定边缘,一定要对以上梯度进行非极大值抑制。 最后使用阈值来延伸边缘,在延伸边缘处寻找图像的跳跃点,连接已经定位的边缘点。2.8 算法实现和结果分析为了对比明确地了解各个算法的优点与缺点,我们使用MATALAB 软件,对系统原有的 cameraman 图像用多种算法进行边缘检测的仿真试验。以下的图片表现的便是经过仿真实验获得的边缘检测成果。 图 2.1 原图和 Laplacian 算子对无噪图像的边缘检测效果图
22、 图 2.2 Log 算子和 Canny 算子对无噪图像的边缘检测效果图 图 2.3 Robert 算子和 Sobel 算子对无噪图像的边缘检测效果图 图 2.4 Prewitt 算子和 Kirsch 算子对无噪图像的边缘检测效果图比较以上的仿真边缘检测成果图,我们能够看到,在无噪声对图像进行干扰的条件下,各个传统的边缘检测算子都能够较好地完成边缘检测。从 Robert算子的边缘检测效果图能够发现,此算子对边缘的确定还是相当准确的,可是处理后的边缘不算很平滑,边缘定位的精确度不是很高;从 Prewitt 算子与Sobel 算子的边缘检测成果图能够得出,这两个算子对图像边缘的定位就不如Rober
23、t 算子那么确切,好比于对图像的低通滤波;而 Kirsch 算子的边缘检测效果明显要比其他几个一阶算子要好,这是因为该算子使用了 8 个方向模板,可以检测到各个方向的边缘。同时也可以看出来二阶微分算子(Laplace 算子和 LOG 算子)明显的比除了 Canny 算子的其他一阶微分算子检测出的边缘更加细致,比如图像的背景、地面的灰度变化等,都在 Laplace 算子和 LOG 算子的边缘检测效果图中有所体现,这也说明二阶微分算子对图像的细节更为敏感。在对图像参入均值是零,方差是 0.02 的高斯噪声以后,对比上面的边缘检测效果图,可以看出,噪声对于二阶微分算子(Laplace 算子和 LOG
24、 算子)的影响比较明显,这是因为二级微分算子对细节较为敏感,使用二阶微分算子进行边缘检测时,也检测到了加入的噪声点。使用拉普拉斯算子进行图像边缘检测,因此图像边缘检测效果要比 Laplace 算子好一些,但是 LOG 算子在去除噪声的同时,也滤除了部分图像边缘,使得检测到的图像边缘不够完整。Prewitt 算子受到噪声的影响较小,还是可以有效的检测出来图像的边缘,但是还是可以明显的看到图像的部分细节模糊了。3基于小波变换的边缘检测所说的图像边缘,便是那些在一定范围内灰度值产生改变的像素点的合集。如果一幅图像受到噪声的影响,那么经过变换到频域之后,噪声和边缘都在高频部分,而我们就要从这些高频信号
25、之中,运用某一类方法来区分开噪声和边缘信息10。傅里叶变换是针对整个区间的分析,对函数不能进行局部化分析,而小波分析很好地弥补了这个缺陷,它具有良好的局部化特性,并且根据实际情况,自动调节时频窗口。因此,小波变换的方法比较适用于展现夹带在正常信号中的瞬间反常现象,所以,图像的边缘检测就非常适合使用这种方法。小波变换方法是一个新兴领域,近几十年以来发展很迅速,主要应用到应用数学和工程学科之中,但是,小波变换方法能否运用到其他领域也成为了各个学科的关注焦点。目前来看,这种高新技术已经应用到了信号信息的获取和处理技术之中,属于信号处理领域较为前沿的研究内容。3.1小波变换基础理论3.1.1连续小波变
26、换假设函数 f(t)的能量是有限的,则 f(t)的定义所示: (3-1)小波具有多重选择性,但是它必须满足两个条件:第一,定义域必须是紧支撑的;第二,平均值为零,即 (3-2) 甚至其高阶矩也为零,即 (3-3) 通常我们称呼该条件是小波的容许条件,即 (3-4) 上头两个前提能够归纳为,小波应是一个具备振荡性和快速衰减的波13。连续小波的逆变换如下面定义: (3-5)3.1.2二维小波变换 在使用小波变换重构信号时,必须对小波做离散化处理,采用离散化的小波变换。针对a和 b 有如下的离散化公式: (3-6) 关于一个有限能量的函数 f (t)的离散小波变化为: (3-7) 公式称之为离散小波
27、变换。其逆变换为: (3-8) 如果信号是非平稳信号,我们就需要改变 a 和 b 的值,这样才能使小波函数具备多分辨率的特征。在现实中我们常常采纳二进制采样,由此获得的小波为: (3-9) 3.1.3多分辨分析及双尺度方程多分辨分析是建立在函数空间概念上的理论。在 Meyer发现正交小波基以后,Mallat 想出是不是可以用正交小波基的多尺度特征将图像开展,以获得图像不同尺度空间的“讯息增量”,按照这个想法,Mallat 建立了多分辨理论。为了更加清楚地理解多分辨分析的思想,我们对信号 S 进行三层分析,具体的分析过程如图 3.1 所示。图 3.1 三层多分辨率分析树结构图 由此我们可以推知,
28、多分辨分析的思想就类似人类的视觉,当他在远处观察某一个事物时,只能看到事物的大体轮廓,这种情况可类比对应大尺度空间,当他走进这个事物时,就可以详细地观察到该事物的细节,这种情况可类比对应小尺度空间,不同的距离就对应不同的尺度空间,可以通过改变尺度的大小来实现对事物的多尺度察。尺度函数和小波函数的双尺度方程如下: (3-10) 对于两个相邻的尺度,双尺度方程就存在于它们之间。我们分别用 hn来表示尺度函数的系数,用gn来表示小波函数的系数,一般称呼它们为滤波器系数,经过傅里叶变换到频域之后,对应的频域系数就用H(w)和G(w)表示,则H(w)就相当一个低通滤波器,G(w)相当于一个高通滤波器。
29、(3-11) 因此,小波函数为: (3-12) 3.2选取小波基的一般原则因为小波函数的不独一性,不同的小波函数通过小波变换以后也会有不同的结果,所以,为了真正反映图像的边缘特性,选择适当的小波函数就显得十分重要。图像中的大部分区域都还是灰度值分布比较平均的低频信号或者是灰度值没有变化的直流信号。为了更方便和更有效地获取图像边缘,科学家们制定了以下三条准则:首先根据图像边缘分布的特征,使用小波进行平滑滤波时,必须尽量做到只响应图像函数的高频分量,减小低频分量的响应,不响应直流分量。经这个规定可推知,滤波器应当是一个高通或带通滤波器。 其次如果选取小波函数与图像边缘函数的奇偶性不一致,使用该小波
30、对图像进行检测时,就会严重削弱图像函数的响应,检测效果就不明显,因此,务必确保小波函数和边缘函数的奇偶一致性。格外有必要解释的是,关于阶跃型的图像边缘,一定要采用奇函数小波进行检测。最后如果一个函数要成为小波函数,那么必须满足准则一,只有这样,我们才能选择这个函数作为图像边缘检测滤波器。3.3小波变换算法实现通过小波变换算法实现图像边缘检测的思路如下所示:Step 1.对图像进行小波变换,获得其高频细节分量。Step 2.求出小波变换系数的模值: (3-13)Step 3.求出小波变换系数的幅角: (3-14)Step 4. 求得局部模极大值:把幅角划分为 4 个方向(如图 4.2),第一种0
31、或 180方向,第二种90或者270方向,第三种45或者225方向,第四种135或者315方向。图 3.2 幅角方向图Step 5.依次校验每个像素点,看其在对应幅角最接近的方向上是不是是极大值。如果是,记录该梯度值,否则将梯度值置0。Step 6.对得到的大概的边缘图像进行阈值处理,选择阈值,全部模极大值小于的像素的模值都设为0。 Step 7.调节小波变换的尺度参数,输出各个尺度下的边缘检测图像。4算法实现和结果分析4.1 MATLAB 简介4.1.1 MATLAB软件简介MATLAB,全名是MATrix LABoratory,也称为矩阵实验室。在自然科学和工程领域都是一种有效的计算机编程
32、语言,如航天工业、医疗工程、数字图像处理、控制系统的设计、用户图形界面设计等都是其广泛应用的领域。伴随着该软件渐渐的向市场进发,它不但有了数值运算这一特性,还可对数据进行可视化。如今该软件兼容各类计算机的系统,能够在数十个不同的平台上完美操作,它不再是是一个操作简单的实验室了,已经转化为一种崭新的计算机高级编程语言,并且有着广泛的应用前景。功能也越来越完善,为科研的需求开辟了一条新的路径。如今,MATLAB已经有了数十个工具箱,譬如,频率系统辨识工具箱(Frequency Domain System Identification Toolbox),图像处理工具箱(Image Processin
33、g Toolbox),优化工具箱(Optimization Toolbox),信号处理工具箱(Signal Processing Toolbox)等,这些工具箱可以为不同专业的科技人员提供帮助。尤其在2001推出的新版本里,大大提高了运算速度。拿影响力来说,至今能与MATLAB工具箱匹敌的几乎没有。MATLAB 最优秀的不是拥有特别庞大的内容,而是它的多变性和可改造性。MATLAB就是这样一个具有开放性的软件,它的内部函数除了核心程序外,都是可以修改的,这样对人们的帮助非常大,实际操作中可以按照个人需求适当的修改,简化操作步骤。 MATLAB在国外的技术研究里已经被公认为既精确又值得信赖的一款
34、运算软件。从很多一流的学术杂志中,特别是电子类杂志,都能发现它的身影。在一些设计研究单位或者是工业部门,MATLAB软件成为进行高效率研究以及开发的首要选择工具。比如National Instruments公司的信号检测,还有Cadence公司针对信号与通信的剖析的SPW等,甚至直接在该软件上做拓展,或者以其作为一个主要骨架。那么我们来看一下MATLAB还具有哪些优秀的特点:(1)库函数极其丰富,使用方便。(2)拥有丰富的运算符。(3)MATLAB拥有针对不同的对象编程功能,而且拥有结构化控制语句如for循环,if 语句。(4)MATLAB的程序设计非常自由,几乎没有什么限制。(5)MATLA
35、B中的程序拥有良好的可移植性,编程好的程序一般不需要做改动就可以运行于各种型号的操作系统上。(6)MATLAB的图像功能非常强大。相比较FORTRAN 和C语言而言,MATLAB里不仅具有非常简单的数据可视化功能,而且能较好的编辑图形界面。(7)MATLAB拥有大量的工具箱。MATLAB拥有核心部分和各种可选的工具箱两个部分。 4.1.2 MATLAB的应用 MATLAB中的图像处理工具箱差不多涵盖了图像处理过程的方方面面,起初是最基础的图像增强,然后是对其划分,它都给出了精简的函数让用户得以使用,让很多图像处理方法得到改善。它有十二大类的函数可供调用,分别是:(1)图形的显示以及操作类;(2
36、) 图形的矩阵形式和计算类;(3)图形加强类;(4)空间转换类;(5)图形转换类;(6)图形的剖析与理解类;(7)二值形态学的操控类;(8)另外的图形处理函数。除此以外,它也给出了很多图形格式的读、写以及展示,这类性能使得该软件在集成系统中对图形的仿真变得简便。MATLAB有着非常强的绘图功能,它可以让一个合而为一的数据或者函数的可视化显示很容易的得到实现。接下来我们就简单的对该软件在图形处理中的应用作一个阐述。 (l)图形的显示和图形的文件操作图形显示函数不单单有函数的展示,还有跟它有关的读写类函数、空间变换换、颜色转换等等。其中,imwrite()是一个写函数,单单用这条函数就能将多种格式
37、的图形进行保存;image()是图像显示函数;imread()是读函数,可以把图形文件读到计算机中。除此以外,它还有着rgb2gray()等颜色转换函数。(2)图像函数的运算该软件在对图形进行处理时,用偏移量、数组或矩阵的方式对图形进行表示,然后再进行各种运算。比方说,图形的乘、除运算,以及相关函数等非线性运算。(3)图形加强图形加强,它是常用的图形处理方法之一,其主要的目的是运用一系列的技术,改善图形在视觉上的效果。例如,medfilt2()函数是实现中值滤波函数。MATLAB直接给出的大多数函数都是相对于灰度图像而言的,但是,把这些函数在彩色图像的各个通道进行运用,通过合成的办法可实现彩色
38、图像的增强。这种方法对于一些应用来讲是最简单又实用不过了。(4)图形变换图形变换的技术,也是一个图形处理的重要工具之一,通常在图形滤波、压缩以及图形的信息提取与分析的进程中进行使用。该软件提供的常用转换函数有很多,例如,Randon()函数实现Randon变换,iradon()函数实现Ranon的逆变换等。(5)边缘检测与图形分析 边缘检测,它是图形范围处理办法之一,边缘,即把所需要的目标和图形背景进行分离,然后取出边缘,使二者得到区分。MATLAB中提供了常用的的检测函数,如Canny算子、Robert算子等。另外,它不仅给出了单一的分割办法以及建立在区域的基础上的一些分割方法,而且给出了二
39、值数学形态学的很多函数,比如说腐蚀、开算子、闭算子、等诸多的形态学函数。上述中的MATLAB在图形处理方面的运用都能用相关的操作函数对图形进行处理,只要根据函数的使用语法输入恰当的数值即可,函数的具体用法可在MATLAB中丰富的帮助文档查到。对于运用MATLAB的内部函数不能实现功能的问题,需要进行添加另外的编程或是对有关的内部函数进行修改。4.2算法仿真实现和结果分析 针对之前提出的小波模极大值算法,我们使用 MATLAB 软件进行实现。为了与之前的传统的图像边缘检测算法做一个对比,在这里我们依然选取cameraman 图像作为仿真算法的实验图片,具体的边缘检测效果如下: 图 4.1 无噪声
40、图像的小尺度边缘检测 图 4.2 无噪声图像的大尺度边缘检测对比这两幅效果图可以看出,在大尺度小波边缘检测时,边缘检测点较为稀疏,不够完整连贯,细节不丰富,只能够检测出来图像的大概轮廓,比如人物的面部细节、相机的边缘细节和背景图片的灰度突变点都没有很好地检测出来。说明在大尺度小波检测下,边缘检测的精度有待于提高。相反,在小尺度小波边缘检测的效果图中,我们可以看到边缘图像较为完整,连贯性好,细节也比较丰富,可以很好的检测到图像的细节部分。由于在实际生活和运用之中,图像往往都会含有各式各样的噪声,为了真实模拟在实际生活中的运用,本文也对含有噪声的 cameraman 图像进行了仿真实验。 图 4.
41、3 含噪图像的小尺度边缘检测 图 4.4 含噪图像的大尺度边缘检测由上两图的边缘检测效果图对比可看出,在加入均值为 0,方差为0.02 的高斯噪声之后,噪声对于大尺度小波变换的图像边缘检测的影响较小,依然可以较为准确的检测出图像的大轮廓,但还是可以看到图像受到了噪声的干扰,比如相机的支架轮廓、背景的建筑物轮廓,都检测出来了一些伪边缘。同时我们观察小尺度小波变换的图像边缘检测效果图,发现小尺度小波变换明显受到噪声的影响,虽然也能够检测出图像的边缘,但同时也检测出很多的伪边缘。可是和原先的边缘检测算子对含有噪声的图像进行边缘检测的结果相比较,使用小波变换的方式检测图像边缘,还是有效的抑制了噪声,减
42、少了噪声对图像的污染,保证了图像质量。总体来说,小波算法还是一种比较有效的图像边缘检测算法。只要合理地利用小波算法的多尺度性,我们就可以更加精确地定位和检测到图像的边缘信息。具体的算法流程图见下图:图4.5 小波变换边缘检测算法流程图小波变换边缘检测MATLAB程序:clear all; RGB = imread(2.jpg);I=rgb2gray(RGB); load wbarb; imshow(I); I1 = imadjust(I,stretchlim(I),0,1);figure;imshow(I1); N,M = size(I); h = 0.125,0.375,0.375,0.12
43、5; g = 0.5,-0.5; delta = 1,0,0; J = 3; a(1:N,1:M,1,1:J+1) = 0; dx(1:N,1:M,1,1:J+1) = 0; dy(1:N,1:M,1,1:J+1) = 0; d(1:N,1:M,1,1:J+1) = 0; a(:,:,1,1) = conv2(h,h,I,same);dx(:,:,1,1) = conv2(delta,g,I,same); dy(:,:,1,1) = conv2(g,delta,I,same); x = dx(:,:,1,1); y = dy(:,:,1,1); d(:,:,1,1) = sqrt(x.2+y.2); I1 = imadjust(d(:,:,1,1),stretchlim(d(:,:,1,1),0 1);figure;imshow(I1); lh = length(h); lg = length(g); for j = 1:J+1 lhj = 2j*(lh-1)+1; lgj = 2j*(lg-1)+1; hj(1:lhj)=0; gj(1:lgj)=0; for n = 1:lh hj(2j*(n-1)+1)=h(n); end f
限制150内