基于MATLAB的图像处理技术(共4页)_第1页
基于MATLAB的图像处理技术(共4页)_第2页
基于MATLAB的图像处理技术(共4页)_第3页
基于MATLAB的图像处理技术(共4页)_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上基于MATLAB的图像处理技术摘 要:一般情况下,拍摄到的图像由于光照不足等原因,可能有较多的噪声,且边界特征不清晰。因此,我们需要对这些图像进行增强或分割处理。介于此,本文介绍了基本的图像处理技术,并用实验验证了各种方法的优缺点,对进一步学习和寻找更好图像处理方法具有实用意义。 关键词:MATLAB; 图像处理; 边缘检测;1 引言MATLAB是由美国的Mathworks公司推出的用于数值计算和图像处理的系统环境,具有很强的数值计算和图像处理能力。MATLAB是以矩阵为单位进行处理的,它的指令表达式与数学、工程中常用形式十分相似,故用MATLAB来解决问题要比C、C

2、+等语言简捷得多。MATLAB在学术界和工程界广受欢迎,其主要优势和特点有如下几方面:(1) 友好的工作平台和编程环境;(2) 简单易用的编程语言; (3) 强大的图形处理功能;(4) 功能强大的工具箱,包括功能性工具箱和科学性工具箱。(5)良好的交互性和开放性。2 MATLAB在图像处理中的应用 2.1图像增强图像增强是一类基本的图像处理技术,主要目的是改善图像的视觉效果,提高图像成分的清晰度,使得图像更有利于计算机的处理。图像增强技术分为点运算增强、空域增强、频域增强三类。点运算增强包括调整灰度、直方图增强、图像间的代数运算增强等;空域增强包括平滑和锐化两种;频域增强包括低通滤波、高通滤波

3、、同态滤波等。下面介绍几种常用的方法。(1) 直方图均衡化。该方法的基本思想是把原始图像的像素值均匀地分布在图像的各个区间上,使视觉效果得到改善。直方图均衡化可用函数histeq()来实现。如下图1.1,该图像直方图比较集中,边缘比较模糊,使用MATLAB编程,将图像进行直方图均衡化处理,结果如图2.1.2所示。原始图像及均衡化后图像的直方图如图2.1.3所示。 图2.1.1 原始图像 图2.1.2 直方图均衡化后的图像 图2.1.3 原始图像及其均衡化后的直方图(2)对比度调整。有些图像对比度很低,灰度级集中在一个比较窄的范围内,MATLAB提供了函数imadjust()来调整图像灰度值到指

4、定范围。将图2.1.1的灰度范围130/255 190/255映像到0 0.9,结果如图2.1.4所示。图2.1.4 对比度调整后的图像(3) 平滑与锐化滤波。空域增强可用平滑和滤波来实现。平滑的目的有两类:一类是在提取较大的目标前去除小的细节或者是将目标内的小间断连接起来;另一类是消除一些离散性和随机性的噪声。而锐化是跟平滑相反的一类处理,目的是突出图像的边缘信息,加强图像的轮廓特征,以便于人眼和机器识别。图2.1.5揭示了空域增强的不同方法对钢珠打肥皂图像的不同处理结果。图2.1.5(b)是用低通滤波处理的结果,与原始图像对比,噪声减少,但边界特征也被减弱。图2.1.5(d)是高通滤波处理

5、的结果,得到的边缘信息比较准确,但信息很少,且随着截止频率增大得到的信息会越少。中值滤波的结果(图2.1.5(c)比较清楚地显示了图像的边缘特征。由此得出结论:中值滤波跟高通滤波在图像处理中有较强的锐化能力,尽管在处理过程中也会减弱的图像边界特征;不同的空域增强方法在不同的图像、不同的处理过程中会有不同的效果,实际应用中应该根据经验来选用。(a)原始图像 (b)低通滤波 (c)中值滤波 (d)高通滤波 图2.1.5 不同的滤波实验结果对比2.2边缘检测图像的边缘就是指图像灰度发生空间突变的像素的集合。灰度的突变一般常用导数来描述和检测。边缘检测的基本思想是先利用边缘增强算子,突出图像中的局部边

6、缘,然后定义像素的“边缘强度”,通过设置阈值的方法提取边缘点集。但是由于噪声和图像模糊,检测到的边界可能会有间断的情况发生。所以边缘检测包含两项内容:用边缘算子提取边缘点集;在边缘点集中去除某些边缘点,填充一些边缘点,将得到的边缘点集连接为线。图2.2.1 边缘检测的基本步骤2.2.1 简单的边缘检测算子常见的边缘检测算子有Roberts算子、Sobel算子、Prewitt算子、LOG算子和Canny算子等。下面具体介绍各个算子及其特点:(1) Roberts算子 该算子是图像处理的最基本的边缘检测算子,它把任意一对相互垂直方向上的差分看成是梯度的近似求解,采用对角线方向相邻两像素之差,即某一

7、像素点(i,j)的Roberts算子值为:Gi,j=fi,j-fi+1,j+1+fi+1,j-fi,j+1100-10-110用卷积模板 把上式表示为+ Roberts算子提取边缘的结果:边缘较粗,边缘定位不是很准确,容易丢失一部分边缘,同时没有经过图像平滑计算,因此不能抑制噪声。(2) Sobel算子和Prewitt算子 Sobel算子是典型的基于一阶导数的边缘检测算子,由于该算子中引入了类似局部平均的运算,因此对噪声具有平滑作用,能很好的消除噪声的影响。Sobel算子包含两组3x3的矩阵,分别为横向及纵向模板,将之与图像作平面,即可分别得出横向及纵向的亮度差分近似值。实际使用中,常用如下两

8、个模板来检测图像边缘。121000-1-2-1-101-202-101 图2.2.2 Sobel算子 单独使用Sobel算子做边缘检测,边缘定位精度不高,有时还可能对非边缘像素的响应大于某些边缘处的响应或者响应差别不是很大,造成漏检或误检,但是它对噪声具有较好的鲁棒性。Prewitt算子和Sobel算子提取边缘的结果差不多。在提取边缘的同时它对噪声具有平滑作用,能够抑制一定的噪声。由于Prewitt边缘检测算子是通过八个方向模板对图像进行卷积运算,因此运算量比较大。(3)LOG算子 LOG算子是个二阶算子,将在边缘处产生一个陡峭的零交叉。LOG算子在对图像进行差分运算之前,先对图像使用高斯低通

9、滤波器进行平滑处理,以减少噪声,因此缓解了一般差分对噪声响应很敏感的问题。然后使用Laplacian算子找出图像中的陡峭边缘,可以得到较好的边缘定位精度,但也会造成边缘被漏检的情况。另外,它对噪声过于敏感,使它的使用大为受限。 -1-1-1-18-1-1-1-10-10-14-10-10图2.2.3 Laplacian算子(4) Canny算子 Canny算子是根据对信噪比与定位乘积进行测度,得到最优化逼近的一阶算子。其实质是用一个准高斯函数做平滑运算,然后以带方向的一阶微分算子定位导数最大值。Canny 方法使用两个阈值来分别检测强边缘和弱边缘,且当弱边缘与强边缘相连时,弱边缘才会包含在输出

10、中。 Canny算子提取的边缘最为完整,而且边缘的连续性很好,定位比较精确。但在实际工作应用中编程较为复杂且运算较慢。2.2.2 边缘检测应用在MATLAB中,使用edge()函数检测边缘。edge()函数在检测边缘时可以指定一个灰度阈值,只有满足这个阈值条件的点才视为边界点。综合上述几种算子,编写相应代码,对图2.1.1进行边缘检测,结果如图2.2.4。(a)原始图像 (b)sobel算子 (c) Roberts算子 (d) prewitt算子 (e) LOG算子 (f) canny算子图2.2.4 各种算子检测结果显然,由图2.2.4看,Roberts算子、Sobel算子、Prewitt算子的处理结果连续性不好,LOG算子的处理结果不精确,而Canny算子的处理结果更多更精确地保留了图像的边缘特征,具有较好的连续性。3 结论 图像中目标的边缘和轮廓是图像的重要特征的综合,图像处理是一些模糊图像能被有效利用的前提条件。本文只是应用了MATLAB图像处理工具箱的部分功能,除以上介绍的一些基本的图像处理功能外

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论