基于MATLAB软件的图像处理技术.docx

上传人:b****6 文档编号:7248038 上传时间:2023-05-11 格式:DOCX 页数:17 大小:233.13KB
下载 相关 举报
基于MATLAB软件的图像处理技术.docx_第1页
第1页 / 共17页
基于MATLAB软件的图像处理技术.docx_第2页
第2页 / 共17页
基于MATLAB软件的图像处理技术.docx_第3页
第3页 / 共17页
基于MATLAB软件的图像处理技术.docx_第4页
第4页 / 共17页
基于MATLAB软件的图像处理技术.docx_第5页
第5页 / 共17页
基于MATLAB软件的图像处理技术.docx_第6页
第6页 / 共17页
基于MATLAB软件的图像处理技术.docx_第7页
第7页 / 共17页
基于MATLAB软件的图像处理技术.docx_第8页
第8页 / 共17页
基于MATLAB软件的图像处理技术.docx_第9页
第9页 / 共17页
基于MATLAB软件的图像处理技术.docx_第10页
第10页 / 共17页
基于MATLAB软件的图像处理技术.docx_第11页
第11页 / 共17页
基于MATLAB软件的图像处理技术.docx_第12页
第12页 / 共17页
基于MATLAB软件的图像处理技术.docx_第13页
第13页 / 共17页
基于MATLAB软件的图像处理技术.docx_第14页
第14页 / 共17页
基于MATLAB软件的图像处理技术.docx_第15页
第15页 / 共17页
基于MATLAB软件的图像处理技术.docx_第16页
第16页 / 共17页
基于MATLAB软件的图像处理技术.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于MATLAB软件的图像处理技术.docx

《基于MATLAB软件的图像处理技术.docx》由会员分享,可在线阅读,更多相关《基于MATLAB软件的图像处理技术.docx(17页珍藏版)》请在冰点文库上搜索。

基于MATLAB软件的图像处理技术.docx

基于MATLAB软件的图像处理技术

基于MATLAB软件的图像处理技术

摘要

摘要:

在图像工程中,图像处理、图像分析、图像理解是其研究的三个重要层次。

图像处理是图像u前发展的主体技术,它强调的是图形之间的转换。

图像的灰度处理是图像处理的最基础理论之一,本文基于MATLAB软件进行编程,探讨了通过读取灰度图像,并对灰度图像进行处理等过程,完成图像灰度处理的整个过程及其实现的方法。

关键词:

图像处理;形态学处理;开运算

Abstract

Abstract:

Intheimageryproject,theimageryprocessing,theimageryanalysisandtheimageryunderstoodarethreeimportantlevelsinitsresearch・Withthedevelopmentoftheimage,theimageryprocessinghasbecomethemaintechnology,itemphasizesthetransformstionbetweenthegraphs・Theimagerygradationprocessingisoneofmostbasictheoriesoftheimageryprocessing,theprogramminginthisarticlebasesontheMATLAB・Theprocessofthegradationimagereadingandtheprocessingtothegradationimage,alsotheentireprocess,thecompletingoftheimagegradationprocessinganditsrealizationmethodaredeeplydiscussedinthisarticle・

Keywords:

Image;Gradationimage;Imageryprocessing;Gradationprocessing

摘要I

AbstractII

第1章绪论1

1.1课题背景1

1.2立题的目的和意义2

1.3设计题目可行性及存在的困难和解决方法2

1.4主要技术指标3

第2章数学形态学基础4

2.1数学形态学4

2.2形态学基础运算4

2.3形态学算法4

2.4本章小结5

第3章边缘提取技术6

3.1CANNY边缘检测6

3.2Prewitt算子8

3.3SOBEL算子9

3.4ROBERT算子9

3.5LAPLACIAN算子10

3.6边缘检测结果比较10

3.7本章小结10

第四章实验结果及分析11

4.1实验环境11

4.1形态学开运算13

4.2灰度人0»路径识别15

4.3实验结果分析19

4.4本章小结20

结论21

致谢错误!

未定义书签。

参考文献22

附录1CANNY算子运行程序24

附录2Prewitt算子运行程序25

1.1课题背景

随着图像处理技术的不断发展和多学科信息的融合,数学形态学中的一些方法和手段开始应用到数字图形处理中,并取得了良好的效果。

特别是在图形检测中,数学形态学的应用变得日益广泛。

在实际问题中,应用数学形态学处理的范围也越来越广泛。

在汽车路面AGV检测时,如果是在雨天或者雾天,识别的效果远远不好,应用数学形态学中的方法可以有效的解决这个问题;在图像文字识别方面,对于一些自己模糊的文字,应用数学形态学的方法进行处理,同样会受益匪浅。

1•研究现状

很多国家,特别是发达国家投入更多的人力、物力到这项研究,取得了不少重要的研究成果。

其中代表性的成果是70年代末MIT的Marr提出的视觉计算理论,这个理论成为计算机视觉领域其后十多年的主导思想。

2.发展趋势

事实上,数学形态学已经构成一种新的图像处理方法和理论,成为计算机理数字图像处理的一个重要研究领域,并且已经应用在多门学科的数字图像分析和处理的过程中。

这门学科在计算机文字识别,计算机显微图像分析(如定量金相分析,颗粒分析),医学图像处理(例如细胞检测、心脏的运动过程研究、脊椎骨癌图像自动数量描述),图像编码压缩,工业检测(如食品检验和印刷电路自动检测),材料科学,机器人视觉,汽车运动情况监测等方面都取得了非常成功的应用。

另外,数学形态学在指纹检测、经济地理、合成音乐和断层X光照像等领域也有良好的应用前景。

形态学方法已成为图像应用领域工程技术人员的必备工具。

目前,有关数学形态学的技术和应用正在不断地研究和发展。

1.2立题的目的和意义

数学形态学是山一组形态学的代数运算子组成的,它的基本运算有4个:

膨胀(或扩张)、腐蚀(或侵蚀)、开启和闭合,它们在二值图像和灰度图像中各有特点。

基于这些基本运算还可推导和组合成各种数学形态学实用算法,用它们可以进行图像形状和结构的分析及处理,包括图像分割、特征抽取、边界检测、图像滤波、图像增强和恢复等。

数学形态学的基本思想及方法适用于与图像处理有关的各个方面,如基于击中/击不中变换的目标识别,基于流域概念的图像分割,基于腐蚀和开运算的骨架抽取及图像编码压缩,基于测地距离的图像重建,基于形态学滤波器的颗粒分析等。

随着其他相关学科的发展,乂为形态学注入了新的内容。

数学形态学可以与分形、神经网络、遗传、进化、变异等算法等结合,形成新的理论和应用领域。

数学形态学理论的发展充分体现了“与时俱进”的思想,用空前繁荣描述它应用范围和深度是非常合适的。

所以,对数学形态学理论及其应用的研究具有重要的现实意义和使用价值

1.3设计题目可行性及存在的困难和解决方法

可行性:

本课题主要就是以MATLAB软件为工具,实现灰度图像的形态学处理方面的研究。

通过阅读大量文献,了解了数学形态学在图像处理方面的应用研究;另一个方面,通过大学的学习中掌握的信号与系统的相关知识,可以更好的对图像信号进行处理;通过程序设计•方法的学习,就把各种算法用MATLAB语言编程实现,从而实验利用MATLAB编程工具实现灰度图像的形态学处理方面的研究。

存在的困难:

本人通过阅读大量的国内外文献,研究数学形态学在图像处理中的应用,虽然在理论方法研究上已取得不小的进展,但它本身是一个比较新的、知识交义的研究领域,因此在毕业课题研究过程中会存在一些问题。

解决的方法:

对于这个问题,通过四年大学课程的学习,已经初步掌握

信号处理方面的基础知识,在这段时间里,自学下数学形态学的相关知识,

并应用到本次毕业设计的研究中,相信一定会学有所用!

1.4主要技术指标

基于MATLAB的灰度图像形态学处理技术指标:

1、清晰度

2、边缘提取技术

3、处理速度

1.彩色二值化2•能处理含有噪声的图像3.通过膨胀、腐蚀、开运算与闭运提取出图像中的有用信息。

第2章数学形态学基础

2.1数学形态学

数学形态学是由一组形态学的代数运算子组成的,它的基本运算有4个:

膨胀(或扩张)、腐蚀(或侵蚀)、开启和闭合,它们在二值图像和灰度图像中各有特点。

基于这些基本运算还可推导和组合成各种数学形态学实用算法,用它们可以进行图像形状和结构的分析及处理,包括图像分割、特征抽取、边界检测、图像滤波、图像增强和恢复等。

2.2形态学基础运算

形态学图像处理表现为一种邻域运算形式;一种特殊定义的邻域称之为“结构元素”(StructureElement),在每个像素位置上它与二值图像对应的区域进行特定的逻辑运算,逻辑运算的结果为输出图像的相应像素。

形态学运算的效果取决于结构元素的大小、内容以及逻辑运算的性质。

2.3形态学算法

膨胀:

A用B来膨胀写作,定义为:

先对B(结构元素)做关于原点的映象,再将其映象平移x,结果是平移后与A交集不为空的x集合。

相对于B的原点对B进行翻转,而后逐步移动B以便B能滑过集合(图像)A

腐蚀:

A用B来腐蚀写作,定义为:

B移动后完全包含在A中时,B的原点位置的集合

作用:

原点在结构元素(B)中,收缩图像

结构元素不包含原点时,可以用作填充内部空洞.

不同结构单元对腐蚀和膨胀的影响:

开操作:

使图像的轮廓变得光滑,断开狭窄的间断和消除细的突出物.含义:

先用B对A腐蚀,然后用B对结果膨胀.

闭操作:

同样使图像的轮廓变得光滑,但与开操作相反,它能消除狭窄的间断和长细的鸿沟,消除小的孔洞,并填补轮廓线中的裂痕.

含义:

先用B对A膨胀,然后用B对结果腐蚀.

2.4本章小结

第3章边缘提取技术

所谓边缘是指其周圉像素灰度急剧变化的那些象素的集合,它是图像最基本的特征。

边缘存在于□标、背景和区域之间,所以,它是图像分割所依赖的最重要的依据。

由于边缘是位置的标志,对灰度的变化不敬感,,因此,边缘也是图像匹配的重要的特征。

边缘检测和区域划分是图像分割的两种不同的方法,二者具有相互补充的特点。

在边缘检测中,是提取图像中不连续部分的特征,根据闭合的边缘确定区域。

而在区域划分中,是把图像分割成特征相同的区域,区域之间的边界就是边缘。

山于边缘检测方法不需要将图像逐个像素地分割,因此更适合大图像的分割。

边缘大致可以分为两种,一种是阶跃状边缘,边缘两边像素的灰度值明显不同;另一种为屋顶状边缘,边缘处于灰度值山小到大再到小的变化转折点处。

3.1CANNY边缘检测

Canny边缘检测基本原理:

(1)图象边缘检测必须满足两个条件:

一能有效地抑制噪声;二必须尽量精确确定边缘的位置。

(2)根据对信噪比与定位乘积进行测度,得到最优化逼近算子。

这就是Canny边缘检测算子。

(3)类似与Marr(LoG)边缘检测方法,也属于先平滑后求导数的方法。

stepl:

用高斯滤波器平滑图象;

step2:

用一阶偏导的有限差分来计算梯度的幅值和方向;

step3:

对梯度幅值进行非极大值抑制;

step4:

用双阈值算法检测和连接边缘.

Stepl:

高斯平滑函数

Rd,刃二J

step2:

—阶差分卷积橈板:

幻(加卫)=/>,刃广耳(XJ)P

<«(^«)=/X加,刃广7/,(加,刃)“

炉(加,n)=^?

L'(ra,M)+^\(m,n)石

step3:

非极大值抑制

仅仅得到全局的梯度并不足以确定边缘,因此为确定边缘,必须保留局部梯度最大的点,而抑制非极大值。

(non-maximasuppression,NMS)解决方法:

利用梯度的方向。

3

LEJ

M

图2非极大值抑制四个扇区的标号为0到3,对应3*3邻域的四种可能组合。

在每一点上,邻域的中心象素M与沿着梯度线的两个象素相比。

如果M的梯度值不比沿梯度线的两个相邻象素梯度值大,则令M=0。

创.呻j卜咖血卩丿弟』i

step4:

阈值化

减少假边缘段数量的典型方法是对N[i,j]使用一个阈值。

将低于阈值的所有值赋零值。

但问题是如何选取阈值?

解决方法:

双阈值算法。

双阈值算法对非极大值抑制图象作用两个阈值T1和t2,且2t1=t2,从而可以得到两个阈值边缘图象N1[i,j]和N2[i,j]。

山于N2[i,j]使用高阈值得到,因而含有很少的假边缘,但有间断(不闭合)。

双阈值法要在N2[i,j]中把边缘连接成轮廓,当到达轮廓的端点时,该算法就在N1[i,j]的8邻点位置寻找可以连接到轮廓上的边缘,这样,算法不断地在N1[i,j]中收集边缘,直到将N2[i,j]连接起来为止。

3.2Prewitt算子

Prewitt算子是一种一阶微分算子的边缘检测,利用像素点上下、左右邻点的灰度差,在边缘处达到极值检测边缘,去掉部分伪边缘,对噪声具有平滑作用。

其原理是在图像空间利用两个方向模板与图像进行邻域卷积来完成的,这两个方向模板一个检测水平边缘,一个检测垂直边缘。

对数字图像f(x,y),Prewitt算子的定义如下:

G(i)=|[f(i-l,j-l)+f(i-l,j)+f(i-1,j+l)]-[f(i+l,j-l)+f(i+l,j)+f(i+l,j+1)]I

G(j)=l[f(i-l,j+l)+f(i,j+l)+f(i+1,j+l)]-[f(i-l,j-l)+f(i,j-l)+f(i+1,j+1)]I则P(i,j)=max[G(i),G(j)]或P(i,j)=G(i)+G(j)

经典Prewitt算子认为:

凡灰度新值大于或等于阈值的像素点都是边缘点。

即选择适当的阈值T,若P(i,j)$T,则(i,j)为边缘点,P(i,j)为边缘图像。

这种判定是欠合理的,会造成边缘点的误判,因为许多噪声点的灰度值也很大,而且对于幅值较小的边缘点,其边缘反而丢失了。

Prewitt边缘算子是一种边缘样板算子。

样板算子山理想的边缘子图像构成,依次用边缘样板去检测图像,与被检测区域最为相似的样板给出最大值,用这个最大值作为算子的输出。

3.3SOBEL算子

索贝尔算子(Sobeloperator)是图像处理中的算子之一,主要用作边缘检测。

在技术上,它是一离散性差分算子,用来运算图像亮度函数的梯度之近似值。

在图像的任何一点使用此算子,将会产生对应的梯度矢量或是其法矢量.

在边沿检测中,常用的一种模板是Sobel算子oSobel算子有两个,一个是检测水平边沿的;另一个是检测垂直平边沿的。

与和相比,Sobel算子对于象素的位置的影响做了加权,因此效果更好。

Sobel算子另一种形式是各向同性Sobel(IsotropicSobel)算子,也有两个,一个是检测水平边沿的,另一个是检测垂直平边沿的。

各向同性Sobel算子和普通Sobel算子相比,它的位置加权系数更为准确,在检测不同方向的边沿时梯度的幅度一致。

山于建筑物图像的特殊性,我们可以发现,处理该类型图像轮廓时,并不需要对梯度方向进行运算,所以程序并没有给出各向同性Sobel算子的处理方法。

Sobel算子是滤波算子的形式来提取边缘。

X,Y方向各用一个模板,两个模板组合起来构成1个梯度算子。

X方向模板对垂直边缘影响最大,Y方向模板对水平边缘影响最大。

由于Sobel算子是滤波算子的形式,用于提取边缘,可以利用快速卷积函数,简单有效,因此应用广泛。

美中不足的是,Sobel算子并没有将图像的主体与背景严格地区分开来,换言之就是Sobel算子没有基于图像灰度进行处理,由于Sobel算子没有严格地模拟人的视觉生理特征,所以提取的图像轮廓有时并不能令人满意。

在观测一幅图像的时候,我们往往首先注意的是图像与背景不同的部分,正是这个部分将主体突出显示,基于该理论,我们给出了下面阈值化轮廓提取算法,该算法已在数学上证明当像素点满足正态分布时所求解是最优的。

3.4ROBERT算子

Roberts边缘检测算子是一种利用局部差分算子寻找边缘的算子,Robert算子图像处理后结果边缘不是很平滑。

经分析,由于Robert

算子通常会在图像边缘附近的区域内产生较宽的响应,故采用上述算子检测的边缘图像常需做细化处理,边缘定位的精度不是很高。

3.5LAPLACIAN算子

Laplacian算子是n维欧儿里德空间中的一个二阶微分算子,定义为梯度的散度。

在图像边缘检测中,为了运算方便,函数的拉普拉斯高斯算子也是借助模板来实现的。

其模板有一个基本要求:

模板中心的系数为正,其余相邻系数为负,所有系数的和应该为零。

3.6边缘检测结果比较

Roberts算子检测方法对具有陡悄的低噪声的图像处理效果较好,但是利用roberts算子提取边缘的结果是边缘比较粗,因此边缘的定位不是很准确。

Sobel算子检测方法对灰度渐变和噪声较多的图像处理效果较好,sobel算子对边缘定位不是很准确,图像的边缘不止一个像素。

Prewitt算子检测方法对灰度渐变和噪声较多的图像处理效果较好。

但边缘较宽,而且间断点多。

Laplacian算子法对噪声比较敬感,所以很少用该算子检测边缘,而是用来判断边缘像素视为与图像的明区还是暗区。

Canny方法不容易受噪声干扰,能够检测到真正的弱边缘。

优点在于,使用两种不同的阈值分别检测强边缘和弱边缘,并且当弱边缘和强边缘相连时,才将弱边缘包含在输出图像中。

3.7本章小结

本章主要介绍了形态学一些相关知识,和主要的儿种边缘提取技术。

第四章实验结果及分析

4.1实验环境

MATLAB是MatrixLaboratory的缩写,是山美国MathWorks公司推出的计算机软件,经过多年的逐步发展与不断完善,现已成为国际公认的最优秀的科学计算与数学应用软件之一,是近儿年来在国内外广泛流行的一种可视化科学计算软件。

它集数值分析,矩阵运算,信号处理和图形显示于一体,构成了一个方便的,界面友好的用户环境,而且还具有可扩展性特征。

MathWorks公司针对不同领域的应用,推出了信号处理,控制系统,神经网络,图像处理,小波分析,鲁棒控制,非线性系统控制设计,系统辨识,优化设计,统计分析,财政金融,样条,通信等30多个具有专门功能的工具箱,这些工具箱是由该领域内的学术水平较高的专家编写的,无需用户自己编写所用的专业基础程序,可直接对工具箱进行运用。

同时,工具箱内的函数源程序也是开放性的,多为M文件,用户可以査看这些文件的代码并进行更改,MALAB支持用户对其函数进行二次开发,用户的应用程序也可以作为新的函数添加到相应的工具箱中。

MATLAB中的数字图像是以矩阵形式表示的,这意味着MATLAB强大的矩阵运算能力用于图像处理非常有利,矩阵运算的语法对MATLAB中的数字图像同样适用。

本文对MATLAB图像处理工具箱进行探索及应用,实验证明该软件功能强大,语言简洁易学,人机界面友好,工具箱具有丰富的技术支持并集成了该领域专家的智慧,应用简单而效果良好。

MATLAB的工作环境简单明了,易于操作,论文中使用的MATLAB软件为7.0版本。

MATLAB7.0针对编程环境、代码效率、数据可视化、数学计算、文件I/O操作等方面都有进行不断升级、增加了新功能。

为此、相对于以前的版本,也具有一些新的特性。

就起开发环境方面来说:

(1)重新设计的桌面环境,针对多文档界面提供了简便的管理和访问方法,允许用户自定义桌面外貌,创建常用命令的快捷方式。

(2)增强数组编辑器(ArrayEditor)和工作空间浏览器(WorkspaceBrowser)功能,用于数据的显示、编辑和处理。

(3)在当前U录浏览器(CurrentDirectoryBrowser)工具中,增加了代码效率分析、覆盖度的分析等功能。

(4)增加了M-Lint编码分析,能辅助用户完成程序性能分析,提高程序执行效率。

(5)对M文件编辑器(M-Editor)进行了功能增强,可以支持多种格式的源代码文件可视化编辑,如C/C++、HTML.Java等。

MATLAB图像处理的基本过程讨论工具箱所实现的常用功能。

(1)常用图像操作:

图像的读耳与显示操作:

用imread()读取图像,imwrite()输出图像,把图像显示于屏幕有imshow(),image。

等函数。

imcrop()对图像进行剪裁,图像的插值缩放可用imresize()函数实现,旋转用imrotate()实现。

(2)图像增强功能:

图像增强是数字图像处理过程中常用的一种方法,目的是采用一系列技术去改善图像的视觉效果或将图像转换成一种更适合于人眼观察和机器自动分析的形式。

常用的图像增强方法有以下儿种:

灰度直方图均衡化。

均匀量化的自然图像的灰度直方图通常在低灰度区间上频率较大,似的图像中较暗区域中细节看不清楚,采用直方图修整可使原图灰度集中的区域拉开或使灰度分布均匀,从而增大反差,使图像的细节清晰,达到增强目的。

直方图均衡化可用histeq()函数实现。

灰度变换法。

照片或电子方法得到的图像,常表现出低对比度即整个图像较亮或较暗,为此需要对图像中的每一像素的灰度级进行标度变换,扩大图像灰度范圉,以达到改善图像质量的LI的。

这一灰度调整过程可用imadjustO函数实现

平滑与锐化滤波。

平滑技术用于平滑图像中的噪声基本釆用在空间域上的

求平均值或中值。

或在频域上釆取低通滤波,因在灰度连续变化的图像中,我们通常认为与相邻像素灰度相差很大的突变点为噪声点,灰度突变代表了一种高频分量,低通滤波则可以削弱图像的高频成分,平滑了图像信号,但也可能使图像LI标区域的边界变得模糊。

而锐化技术采用的是频域上的高通滤波方法,通过增强高频成分而减少图像中的模糊,特别是模糊的边缘部分得到了增强,但同时也放大了图像的噪声。

在MATLAB中,各种滤波方法都是在空间域中通过不同的军纪模板即滤波算子实现,可用fspecial()函数创建预定义的滤波算子,然后用filter2()或conv2()函数在实现卷积运算的基础上进行滤波。

(3)边缘检测和图像分割功能

边缘检测是一种重要的区域处理方法,边缘是所要提取LI标和背景的分界线,提取出边缘才能将目标和背景区分开来。

如果一个像素落在边界上,那么它的邻域将成为一个灰度级变化的带。

对这种变化最有用的两个特征就是灰度的变化率和方向。

边缘检测算子可以检查每个像素的邻域并对灰度变化率进行量化,也包括对方向的确定,其中大多数是基于方向倒数掩模求卷积的方法。

MATLAB工具箱提供的edge()函数可针对sobel算子、prewitt算子、Roberts算子、log算子和canny算子实现边缘检测的功能。

基于灰度的图像分割方法也可以用简单的MATLAB代码实现。

(4)图像变换功能

图像变换技术是图像处理的重要工具,常运用于图像圧缩、滤波、编码和后续的特征抽取或信息分析过程。

MATLAB工具箱提供了常用的变换函数,如fft2()与ifft2()函数分别实现二维快速傅立叶变换与其逆变换,dct2()与idct2()函数实现二维离散余弦变换与其逆变换,Radon()与iradon()函数实现Radon变换与逆Radon变换。

除以上基本图像处理功能,MATLAB还提供了如二值图像的膨胀运算dilate()函数、腐蚀运算erode()函数等基本数学形态学与二值图像的操作函数。

4.1形态学开运算

电路板识别:

形态学处理后结果

程序:

I二imread('circbw.tifJ;

imshow(I);

SE二strel('rectangle',[4030]);%结构定义

J二imopen(I,SE);%开启运算

figure,imshow(J);

4.2灰度AGV路径识别

再work文件夹中加入了一副图片:

RoadGl.jpg

 

 

对其进行形态学运算程序如下:

J=imread(,RoadG1.jpg');

[x,y]=size(J);

I二double(J);zO=max(max(I));zl=min(min(I));

T二(z0+zl)/2;

TT二0;

SO二0;nO二0;

SI二0;nl二0;

allow=0.5;

d=abs(T-TT);

coun

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2