基于形状的图像特征提取及检测算法仿真设计_第1页
基于形状的图像特征提取及检测算法仿真设计_第2页
基于形状的图像特征提取及检测算法仿真设计_第3页
基于形状的图像特征提取及检测算法仿真设计_第4页
基于形状的图像特征提取及检测算法仿真设计_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

SHANDONG毕业设计说明书基于形状的图像特征提取及检测算法仿真设计学 院: 电气与电子工程学院 专 业: 自动化 学生姓名: 王冰 学 号: 0812204538 指导教师: 吴兴华 2012 年 6 月- 2 -摘要摘要数字图像处理提高了图像的实用性,由于计算机处理能力不断增强,数字图像处理学科在飞速发展的同时也广泛地向其他学科快速渗透,使图像在信息获取以及信息利用等方面变得越来越重要。目前数字图像处理的应用越来越广泛,在国民经济中发挥越来越大的作用。图像是人类获取和交换信息的重要来源,因此图像处理的应用领域涉及到人类生活的方方面面。图像的形状特征有两类表示方法,一类是轮廓特征,另一类是区域特征。图像的轮廓特征主要针对物体的外边界,而图像的区域特征则关系到整个形状区域。形状不变矩法是一种典型的形状特征描述方法,这种方法利用目标所占区域的矩作为形状描述参数。使用MATLAB软件进行图像处理编程,实现基于形状的目标算法,区分圆形、矩形、三角形图像。关键词:数字图像处理 区域特征 形状不变矩 MATLAB软件- 38 -AbstractAbstract Digital image processing to improve the practicality of the image, and increased the capacity of computer processing, digital image processing disciplines in the rapid development of the widely available to other disciplines rapid penetration, so that the images become more and more aspects of access to information and information useimportant. The application of digital image processing is more and more widely, to play an increasing role in the national economy. The image is an important source of human access and exchange information, and image processing applications related to all aspects of human life. The shape of the image characteristics of two types of representation, a profile characteristic, and the other regional characteristics. The outline of the image characteristics for the outer boundary of the object, and the regional characteristics of the image related to the entire shape region. Shape invariant moment method is a typical shape characterization method, which target the area occupied by the moment as the shape description parameters. Using MATLAB software for image processing programming algorithm based on the shape of the target, and to distinguish between round, rectangular, triangular image.Keywords :Digital Image Processing Regional characteristics Moment Invariant MATLAB Software 目录目录摘要IAbstractII目录- 1 -第一章 引言- 3 -1.1图像与计算机图像处理- 3 -1.1.1计算机图像处理- 3 -1.1.2图像分类- 4 -1.2数字图像处理的概念- 5 -1.2.1基本运算形式- 5 -1.2.2数字图像处理基本内容- 5 -1.2.3数字图像处理方法- 6 -1.2.4图像特征提取- 7 -1.2.5MATLAB相关介绍- 7 -1.3区域描述- 8 -1.3.1不变矩- 8 -1.3.2不变矩方法研究- 10 -第二章 MATLAB图像处理- 11 -2.1MATLAB概述- 11 -2.1.1MATLAB的发展历史- 11 -2.1.2MATLAB的优势与特点- 11 -2.1.3MATLAB系统的构成- 12 -2.2图像处理工具箱简介- 13 -2.2.1MATLAB处理图像类型- 14 -2.2.2图像类型转换- 16 -2.3邻域和块处理- 18 -2.4基于区域的处理- 19 -2.4.1指定目标区域- 19 -2.4.2选择多边形- 19 -2.4.3其他选择方法- 19 -2.4.4对区域进行滤波- 20 -2.4.5填充区域- 20 -2.5显示图像- 20 -2.5.1用图像查看器显示图像- 20 -2.5.2图像文件的显示- 21 -2.5.3图像文件的保存- 22 -2.6分析图像- 22 -2.7MATLAB图像处理步骤框图- 23 -第三章 实验操作- 24 -3.1输入待处理的原始图像- 24 -3.2图像的灰度化- 24 -3.3对图像的不变矩参数用函数进行计算处理- 24 -3.4实现图像区分的函数- 27 -3.5对常见交通指示标志进行区分- 29 -3.5.1常见交通标志- 29 -3.5.2图像的形状特征提取及匹配算法的具体实现- 30 -第四章 关于图像识别的相关应用- 34 -结论- 35 -参考文献- 36 -致谢- 37 -第一章 引言第一章 引言1.1图像与计算机图像处理1.1.1计算机图像处理随着科学技术的发展,人们对信息处理和信息交流的要求越来越高。图像信息具有直观、形象、易懂和信息量大等特点,它是人们日常生活、生产中接触最多的信息种类之一。目前,数字图像处理技术已成为计算机科学、医学、生物学、工程学、信息科学等领域各学科之间学习和研究的对象。数字图像,即计算机图像技术,这包括利用计算机和其他电子设备进行和完成的一系列工作。例如图像的采集、获取、编码(压缩)、存储和传输,图像的合成、绘制和生成、图像的显示和输出,图像的变换、增强、恢复(复原)和重建、分割、目标的检测、表达和描述、特征的提取和测量,多幅图像或序列图像的校正、配准,3-D景物的重建复原,图像数据库的建立、索引和抽取,图像的分类、表示和识别,图像模型的建立和匹配,图像和场景的解释和理解,以及基于它们的判断决策和行为策划等。另外,图像技术还可以包括为完成上述功能所进行的硬件和软件设计等方面的技术。数字图像处理是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。相对于以往的图像处理方法,数字图像处理是一次新的“工业革命”,它彻底改变了以往人们处理图像时所采用的方法,成为了图像处理中的一个崭新的方向。数字图像处理是伴随着计算机的发展而发展的,最早出现于20世纪50年代,而数字图像处理作为一门学科大约形成于20世纪60年代初期。早期的图像处理的目的是改善图像的质量,挡死图像拍摄的硬件相对比较落后,获得的图像质量也比较差,科学家们发现了可以利用计算机处理的方法改善图像的显示效果,由此来弥补硬件的不足。在图像处理中,输入的是视觉效果差一些的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、图像复原、编码以及压缩等等。数字图像处理首次获得实践成功应用是在航天领域,美国喷气推进实验室对航天探测器徘徊者7号在1964年发回的几千张月球照片使用了图像处理技术,如用几何校正、灰度变换、去除噪声等的方法进行了处理,同时,考虑了太阳位置以及月球环境的影响,由计算机成功地绘制出月球表面的地图,获得了巨大的成功。在以后的宇航空间技术(例如对土星、火星等的星球的探测研究)中,数字图像处理技术都发挥出来巨大的作用。1.1.2图像分类实际存在的自然图像多种多样,内容千变万化,故分类也极其复杂,图像按性质来分,大致可以分为如下几种情况:(1) 灰度分类按灰度分类有二值图像(如图文传真、文字、图表、工程图纸等)和多灰度图像。多层次灰度图像按应用的不同,有各种不同的灰度层次。如,计算机打印机或传真中有灰度层次的图像,一般为16、25灰度级,工业电视、可视电话为64灰度级(6bit),气象数字图像为7灰度级,广播电视图像为256灰度级(8bit),医学图像一般为1024灰度级(10bit)。(2) 色彩分类按照色彩分类,可分为单色图像和彩色图像。单色图像指只具有某一谱段的图像,一般为黑白灰度图;彩色图像,包括真彩色、合成彩色、伪彩色、假彩色等,可用不同的彩色空间来描述,如RGB、YUV等。(3) 运动分类按运动分类,图像可以分为静态图像和动态图像。静态图像包括静止图像和凝固图像。每幅图像本身都是一幅静止图像。凝固图像是动态图像中的某一帧。动态图像的快慢以帧率量度,帧率反映了画面运动的连续性。可以看出,动态图像实际上是由一幅幅静态图像按时间排列组成的。(4) 按时空分布分类按时空分布分类,图像可分为二维图像和三维图像。二维图像即平面图像,其数学表示为f(x,y),f为光强,x,y为二维空间坐标。三维图像即立体图像,其数学表示为f(x,y,z),f为光强,x,y,z为三维空间坐标。1.2数字图像处理的概念1.2.1基本运算形式在扫描过程中,用计算机对各像素进行的处理有各种方式,在此称它为运算形式。领域运算是其中的一种运算形式。用这种方式在对图像各像素进行处理时,不仅输入该像素本身的灰度,还要输入以该像素为中心的某局部区域(即领域)中的一些像素的灰度进行运算。领域运算可用下图表示。将输入图像F作领域运算的q处理,得到输出图像G。为了表达方便,将处理的像素f(i,j)写作,该像素的处理结果写作。设像素,组成像素的领域;q处理为=(+)/9,此时对输入图像各像素所进行的处理就是领域运算。由于领域运算能将像素周围领域内的诸像素状况反映在处理结果中,因而便于实现多种处理内容。 Fq处理 G图1-1 将输入图像F作领域运算的q处理1.2.2数字图像处理基本内容(1) 图像输入图像处理的第一步,是获取处理对象的可见模拟图像,并将其转换为计算机能接受的数字图像,再输入计算机。如果对象物的信息是不可见的,则首先进行所谓“信息的可视化”或“可见光图像生成”等处理,这样的过程成为图像的输入。(2) 图像存储与检索为了保存、处理或者传递图像信息,需要将原图像经过处理的图像信息在计算机中按某种规律存储,必要时可以方便地找到它们,即进行图像的检索。这种对图像群体的保管工作室图像处理不可缺少的内容。(3) 图像增强图像增强是一种将输入图像变换成便于获取所需信息的状态的各种处理的总称,也可理解为一种改善图像品质的处理内容。例如噪声(即各种干扰信号)减弱、对比度改善、变形修正、模糊消除等都属于图像增强的内容。由于种种原因,图像的品质常常是不理想的,因此图像增强称为图像处理环节的重要内容。(4) 图像特征提取通过图像信息去测量、识别或理解其中的对象物,依赖于一些能表征对物象的图像物征,如线、边缘、区域、形状、颜色、纹理等等。通过各种处理方法,将包含图像信息红的必要特征显露出来,并加以量化的处理称之为图像特征提取。(5) 图像识别与理解图像识别可以简单地理解为利用提取的图像物特征对事物进行分类处理,如根据颜色特征将新鲜的桃子按成熟度进行分级,按形状特征对杏仁分类等等。所谓图像理解是利用图像信息实现模拟人的视觉系统理解客观事物。如对图像中的田间景物作出解释,称为田间自动作业机的向导。图像识别实际上可看做是一种简单的、仅仅涉及分类的图像理解,而图像理解则是包含更高层次的、达到某些智能化程度的处理。两者间的关系密切,有事业很难严格区分。图像识别和图像理解已成为在计算机图像处理的基础上发展起来的一门新兴科学。但从广义角度来看,它们仍然属于图像处理的范畴。(6) 图像输出用计算机再现输入的、输出的以及中间处理结果的图像内容即称为图像输出,是人们考察处理结果、获取处理结果所必需的。1.2.3数字图像处理方法数字图像处理方法大致可分为两大类,即空域法和变换域法。(1)空域法:空域法是吧图像看作平面中各个像素组成的集合,然后直接对这一、二维函数进行相应处理。空域处理法主要分为两大类。邻域处理法:其中包括梯度运算、拉普拉斯算子、平滑算子运算以及卷积运算。点处理法:其中包括了灰度处理、面积、周长、体积以及重心运算等等。(2)变换域法:变换域法首先对图像进行正交变换(如傅里叶变换等等),得到变换系数阵列后,再对变换后的图像在频域中进行各种再处理(往往是相对于空间域内更方便、更快捷),最后把处理结果逆变换到空间域,既而得到了处理后的目标图像。1.2.4图像特征提取原始特征的数量很大,或者说原始样本出于一个高维空间中,通过映射或变换的方法可以将高维空间中的特征描述用低维空间的特征来描述,这个过程就叫特征提取。1.2.5MATLAB相关介绍MATLAB是当今国际很流行的科学计算软件。信息技术、计算机技术发展到今天,科学计算在各个领域得到了广泛的应用。在许多方面诸如控制论、时间序列分析、系统仿真、图像信号处理等方面产生了大量的矩阵极其相应的计算问题。自己去编写大量的繁杂的计算程序,不仅会消耗大量的时间和精力,减缓工作进程,而且往往质量不高。美国MATHWORK软件公司推出的MATLAB软件就是为了给人们提供一个方便的数值计算平台而设计。MATLAB是一个交互式系统,他的基本运算单元是不需指定维数的矩阵,按照IEEE的数值计算标准进行计算。系统提供了大量的矩阵及其他运算函数,可以方便地进行一些很复杂的计算,而且运算效率极高。MATLAB命令和数学中的符号、公式非常接近,可读性强,容易掌握,还可以利用它所提供的编程语言进行编程完成特定的工作。除基本部分外,MATLAB还根据各专门领域中的特殊需要提供了许多可选的工具箱,如应用于自动控制领域的Control System工具箱和神经网络中的Neural Network工具箱等。图像处理工具箱提供一套全方位的参照标准算法和图形工具,用于进行图像处理、分析、可视化和算法开发。可用其对有噪图像或退化图像进行去噪或还愿、增强图像以获得更高清晰度、提取特征、分析形状和纹理以及对两个图像进行匹配。工具箱中大部分函数均以开放式MATLAB语言编写。这里对MATLAB图像处理工具进行探索与应用,实验证明该软件工具箱具有丰富的技术支持,应用简单、效果良好。1.3区域描述区域描述主要是借助区域的内部特征(即构成该区域的像素)来描述区域。如果对图像的注意力更集中在区域的反射率特征,如颜色特征和纹理特征等,那么一般就会采用区域描述方法。接下来介绍一些简单的区域描述子,如区域面积和区域质心等。区域面积:区域面积描述了区域的大小。计算区域面积的一种简单方法就是对属于区域的像素进行计数。区域质心:区域质心的坐标是根据所有区域的点计算出来的。 = (1-1) = (1-2)一般当区域的尺寸很小并且与各个区域的距离相对也很小的时候,可以用位于中心坐标的质心来近似描述。1.3.1不变矩图像的矩函数在模式识别、目标分类中得到了广泛的应用。Hu在1961年首先基于代数不变量引入矩不变量。通过对几何矩的非线性组合,导出了一组对于图像平移、旋转和尺度变化不变的矩,但是这种矩不能恢复图像。矩是一种非常重要的表示目标总体形状的特征量。二维图形的几个关键特征均直接与矩有关,如图像的大小、形心和旋转情况等。不变矩由于概念清晰,识别率稳定,对具有旋转和缩放变化的目标有良好的不变性和抗干扰性,能有效地反映图像的本质特征。不变矩是指物体图像进过平移、旋转以及比例变换仍保持不变的矩特征量,设物体的二维离散图像函数用f(x,y)表示,其(p+q)阶矩定义为: = (1-3)相应的(p+q)阶中心矩定义为: = (1-4)其中,=,=。对于二维图像,表示图像灰度在水平方向上的灰度重心;表示图像灰度在垂直方向上的灰度重心。中心矩是与图像的平移无关的。当图像发生变化时,也发生变化,而则具有平移不变性,但对旋转依然敏感。用零阶中心矩对其余各阶中心矩进行归一化,可以得到图像的归一化中心矩为: = (1-5)其中,r=,p+q=2,3,。直接用普通矩或中心矩进行特征表示,不能使特征同时具有平移、旋转和比例不变性。如果利用归一化中心矩,则特征不仅具有平移不变性,而且还具有比例不变性。Hu利用二阶和三阶中心矩构造了七个不变矩。它们在连续图像条件下可保持平移、缩放和旋转不变。具体定义如下:=+ (1-6)=+4 (1-7)=+ (1-8)= (1-9) (1-10) (1-11) (1-12)研究表明,只有基于二阶矩的不变矩对二维物体的描述才是真正的旋转、平移和尺度无关的。较高阶的矩对于成像过程中的误差、微小的变形等因素非常敏感,所以相应的不变矩基本上不能用于有效的物体识别。在Hu的不变矩组中,只有两个不变矩和是基于二阶矩的,其余都是基于三阶矩的。即使是基于二阶矩的和也只能用来识别外形相差特别大的物体,否则它们的不变矩会因为很相似而不能识别。1.3.2不变矩方法研究矩函数在图像分析中有着广泛的应用,如漠视识别、目标分类、目标识别与方位估计、图像编码与重构等。如果把图像看成是一块质量密度不均匀的薄板,其图像的灰度分布函数f(x,y)就是薄板的密度分布函数,则其各阶矩有着不同的含义,如零阶矩表示它的总质量;一阶矩表示它的质心;二阶矩又叫惯性矩,表示图像的大小和方向,事实上,如果仅考虑阶次为2的矩集,则原始图像完全等同于一个具有确定的大小、方向和离心率,以图像质心为中心且具有恒定辐射度的椭圆;由三阶以下矩构成的七个矩不变量具有平移、旋转和尺度不变性等等。当密度分布函数发生改变时,图像的实质并没有改变,仍然可以看成是一块薄板,只是密度分布有所改变。虽然此时各阶矩的值可能发生变化,但由于各阶矩计算出的不变矩仍具有平移、旋转和尺度不变性,通过这个思想,可对图像进行简化处理,保留最能反映目标特性的信息,再用简化后的图像计算不变矩特征,可减少计算量。第二章 MATLAB图像处理第二章 MATLAB图像处理2.1MATLAB概述2.1.1MATLAB的发展历史MATLAB语言的产生是与数学计算紧密联系在一起的。1980年,美国新墨西哥州大学计算机系Cleve Moler在给学生讲线性代数课的时候,发现学生在高级语言编程上花费了很多的时间,于是就开始编写供学生使用的Fortran子程序库接口程序,他将这个接口程序取名为MATLAB,意为矩阵实验室,这个程序获得了很大的成功,受到学生的广泛好评。20世纪80年代初期,Moler等许多数学家跟软件专家组建了MathWorks软件开发公司,继续从事MATLAB的研发,1984年推出了MATLAB的第一个商业版本,其核心是用C语言编写的。而后,它又添加了丰富图形图像处理、多媒体、符号运算以及跟其他流行软件的接口功能,使得MATLAB的功能越来越强大。MathWorks公司正式推出MATLAB商业版本后,在1992年推出了具有划时代意义的MATLAB4.0版本之后陆续推出了几个改进和提高的版本,2004年9月份正式推出MATLAB Release14,即MATLAB7.0,它的功能在原有的基础上又有了进一步的改进,2009年3月推出了R2009a,及MATLAB7.8,MATLAB仍然在不断进步着。MATLAB经过几十年的研究与不断完善,现已成为国际上最为流行的科学计算与工程计算软件工具之一,现在的MATLAB已经不仅仅是一个简单的最初时的“矩阵实验室”了,它已经发展成为一种具有着广泛应用前景、全新计算机高级编程语言。自20世纪90年代,美国和欧洲的各个大学都将MATLAB正是列入研究生和本科生的教学计划课程的基本教学工具,成为学生必须掌握的基本软件之一。在研究单位和工业领域,MATLAB也成为工程师必须掌握的一种工具,被认为是进行高效研究与开发的首选软件工具。2.1.2MATLAB的优势与特点MATLAB在学术界和工程界很受欢迎,其具有突出的优势和特点:1、 友好的工作平台和编程环境MATLAB由一系列工具组成,其中许多工具采用的是图形用户界面,包括MATLAB桌面和命令窗口、历史命令窗口、编辑器以及调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。这些图形化的工具为用户使用MATLAB的函数和文件提供了方便。2、 简单易用的编程语言MATLAB语言是一种高级的矩阵语言,他包含控制语句、函数、数据结构、输入以及输出、面向对象编程诸特点。用户可以在命令窗口中奖输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。3、 强大的科学计算机数据处理能力MATLAB是包含了大量计算算法的集合,它拥有600多个工程中要用到的数学运算函数,可以方便地实现用户所需的各种计算功能。这些函数集涵盖了从最简单的函数到诸如矩阵、特征向量、快速傅里叶变换等复杂函数。4、 出色地图形处理功能MATLAB自诞生之日起就是具有方便地数据可视化功能,能够将向量和矩阵用图形的形式表现出来,并且可以对图像进行标注和打印。高层次的作图包括二维和三维的可视化、图像处理、动画以及表达式作图,可用于科学计算以及工程制图。5、 应用广泛的模块集合工具箱MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,他们都是由特定领域的专家开发出来的,用户可以直接使用工具箱学习、应用以及评估不同的方法而不需要自己写代码。6、 实用的程序接口和发布平台MATLAB可以利用编译器和C数学库以及图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C。MATLAB还允许用户编写可以和MATLAB进行交互的C语言程序。2.1.3MATLAB系统的构成MATLAB系统由MATLAB开发环境、MATLAB数学函数库、MATLAB语言、MATLAB图形处理系统以及MATLAB应用程序接口五大部分构成。1、开发环境:这部分是一套方便用户使用MATLAB函数和文件的工具集,其中许多工具是交互式的图形化用户接口。它是一个集成化的工作空间,可以让用户输入以及输出数据,并提供了M文件的集成编译和调试环境。它包括MATLAB桌面、命令窗口、m文件编辑调试器、大码分析器,以及查看帮助、工作空间、文件以及其它工具的浏览器。2、数学函数库:它的数学函数库包括了大量的计算算法,从基本运算到复杂算法,如矩阵求逆、矩阵求特征值、贝塞尔函数、快速傅里叶变换等等。3、MATLAB语言:MATLAB语言是一个高级的基于矩阵/数组的语言,他有程序流控制、函数、数据结构、输入/输出以及面向对象编程等的特色。用户既可以用它来快速编写简单的程序,也可以用它来编写庞大复杂、重用性高的应用程序。4、图形处理系统:图形处理系统使得MATLAB能方便的图形化显示向量和矩阵,而且能对图像添加标注和打印。MATLAB提供两个层次的绘图操作,一种是对图形句柄进行的底层绘图操作,另一种是建立在底层绘图操作之上的高层绘图操作。5、应用程序接口:MATLAB应用程序接口是一个使MATLAB与C、Fortran等其他高级编程语言进行交互的函数库,该函数库的函数通过调用动态链接实现与MATLAB文件的数据交换,它的主要的功能包括在MATLAB中调用C和Fortran程序,以及在MATLAB与其他的应用程序之间建立客户/服务器关系。2.2图像处理工具箱简介随着数字化时代的到来,图像处理显得愈来愈重要。实际上图像处理已经渗透到电子、电信、计算机、气象、医学、地质等诸多领域。MATLAB的图像处理工具箱提供了较多的图像处理功能,另外,由于工具箱采用的数据类型与MATLAB的相兼容,在工具箱中也可以利用MATLAB强大的数值计算能力,从而为图像处理自定义算法的是想提供快速实现的可能性。利用图像处理工具箱,可以完成以下任务。图像合成:可以实现图像的代数运算和逻辑运算;空间变换:可以对图像进行旋转、裁剪、缩放等操作;邻域和块处理:可以进行快处理操作、滑动邻域操作、分离块操作和列处理;线性滤波和滤波器设计:可以进行线性滤波和设计FIR等滤波器;基于区域进行处理:可以指定区域并对区域进行滤波和填充;变换域处理:可以进行傅里叶变换、RADON变换、离散余弦变换;数学形态学运算:可以进行膨胀和腐蚀,以及基于膨胀和腐蚀的处理,可以进行数学形态学重建等操作;图像分析:可以进行灰度统计、边缘检测、边界跟踪、四叉树分解等操作;图像增强:可以进行灰度调整和去噪处理;图像配准:可以基于控制点配准图像;图像恢复:可以利用各种滤波器和算法恢复图像。2.2.1MATLAB处理图像类型图像处理工具箱支持索引图像、灰度图像、二值图像和RGB图像等四种基本的图像类型。索引图像:索引图像由数据矩阵X和映射矩阵map组成。数据矩阵可以是uint8、uint16或者double型。映射矩阵是一个double型的mX3数组,元素为0,1范围内的浮点值。Map矩阵的每一行指定某种颜色的红色、绿色、蓝色组分。索引图像将像素值与map矩阵的值直接进行映射。每个图像元素的颜色是通过将X的对应值作为索引编号,从map矩阵中得到的。值1指向map矩阵的第一行,值2指向矩阵的第二行,依此类推。映射矩阵通常与索引图像一起保存,并且在用imread函数载入图像时能够自动导入。但是,并不局限于使用默认的映射方式,可以使用自己选择的任何映射方式。灰度图像:灰度图像是一个数据矩阵I,它的值表示硬顶范围内的亮度值。MATLAB将一幅灰度图像保存为一个单一的矩阵,矩阵的每个元素对应于一个图像像素。矩阵可以是double、uint8、uint16型的。亮度矩阵中的元素表示不同的亮度或灰度值,其中亮度0常用来表示黑色,亮度255常来表示饱和亮度或白色。二值图像:在二值图像中,假设每个像素取两个离散值中的一个。这两个值对应于on和off。二值图像保存为logical数组,值为0和1。RGB图像:RGB图像有时被称为真色彩图像,在MATLAB中保存为mXnX3的数据数组,定义每个单独像素的红色、绿色以及蓝色组分。RGB图像不使用调色板。每个像素的颜色由像素位置上的红色、蓝色以及绿色亮度的组合确定。RGB图像是24位图像,其中红色、绿色以及蓝色组分均为8位。这将产生一千六百多万种颜色。采用了这些颜色后,在精度上就可以逼近现实场景中图像的真实颜色。所以,RGB图像又称为真彩色图像。RGB数组可以是double、unit8或unite16型的。在double类型的RGB数组中,每一个颜色组分的值取0和1之间的数。一个颜色组分为(0,0,0)的像素显示为黑色,颜色组分为(1,1,1)的像素显示为白色。每个像素的这3种颜色组分保存在数据数组的第三维上。例如,像素(10,5)的红色、绿色和蓝色组分分别保存为RGB(10,5,1),RGB(10,5,2)和PGB(10,5,3)。表2-1 不同图像的颜色数及特点图像类型简称显示的颜色数特 点1位单色单色21=2种色(黑、白)每个象素对应一个值,取值为0和18位灰度黑白28=256种色(黑到白)每个象素对应一个值,取值为0255,每值对应一灰度8位彩色256色28=256种彩色每个象素对应一个值,取值为0255,每值对应一颜色16位灰度216=65536种色(黑到白)每个象素对应一个值,取值为065535,每值对应一灰度24位彩色真彩色282828=16M种彩色每个象素对应三个值,分别代表R、G、B,取值为025548位彩色216216216=0.25G种色每个象素对应三个值,分别代表R、G、B,取值为065535表2-2 不同文件的灰度色彩文件类型说明1位单色8位灰度8位彩色16位灰度24位彩色48位彩色BMP微软视窗系统图像文件格式GIF可用于网页上的动画、透明TIFF可储存多幅图像PCXPaintbrush软件图像格式JPG连续色调静态图像数字压缩PSDPhotoshop软件图像格式2.2.2图像类型转换对于有些操作,需要将图像转换为不同的图像类型。例如,如果试图对一幅保存为索引格式的彩色图像进行滤波,应该将它转换为RGB格式。对RGB图像使用滤波器时,MATLAB将对图像中的亮度值进行滤波,知道合适为止。如果试图对索引图像滤波,MATLAB会简单地对索引图像矩阵中的索引值进行滤波,结果可能没有意义。注意,如果将图像从一种格式转换为另一种格式,产生的图像看起来可能是彩色图像,而不是灰度图像。表2-3 真彩图像的图像类别与数据格式双精度类:Double(每个元素占8个字节)整数类:Unit8(每个元素占1个字节)整数类(Unit16)(每个元素占2个字节)真彩图像数组大小:mn3(:,:,1)红色分量(:,:,2)绿色分量(:,:,3)蓝色分量元素取值:0,1(无调色板)数组大小:mn3(:,:,1)红色分量(:,:,2)绿色分量(:,:,3)蓝色分量元素取值:0,255(无调色板)数组大小:mn3(:,:,1)红色分量(:,:,2)绿色分量(:,:,3)蓝色分量元素取值:0,65535(无调色板)图2-1 真彩图像表2-4 索引图像的图像类别与数据格式索引图像图像数组的大小:mn图像元素的取值:1,p色度矩阵:p3色度元素值:0,1图像数组的大小:mn图像元素的取值:0,p-1色度矩阵:p3色度元素值:0,255图像数组的大小:mn图像元素的取值:0,p-1色度矩阵:p3色度元素值:0,65535图2-2 索引图像表2-5 灰度图像的图像类别与数据格式灰度图像图像数组大小:mn图像元素值:0,1色度矩阵:p3色度元素值:0,1图像数组大小:mn图像元素值:0,255色度矩阵:p3色度元素值:0,1图像数组大小:mn图像元素值:0,65535色度矩阵:p3色度元素值:0,1图2-3 灰度图像表2-6 二值图像的图像类别与数据格式二值图像图像数组大小:mn图像元素值:0或1图像数组大小:mn图像元素值:0或1图2-4 二值图像2.3邻域和块处理有些图像处理操作是逐块处理的,而不是一次处理整幅图像。图像处理工具箱提供几个函数来进行块操作,例如,进行图像膨胀的imdilate函数。另外,工具箱还提供进行图像块处理的更一般的函数。使用这些函数中的任何一个,需要提供与块大小有关的信息,并单独指定的一个函数来处理块。这个单独指定的函数将输入图像分成不同的块,为每个块调用指定的函数并将结果重新分配给输出图像。使用这些函数,可以完成不同的块处理操作,包括滑动邻域操作和分离块操作。进行滑动邻域操作时,对输入图像时逐像素进行处理的。即对于输入图像中的每个像素,进行某些操作来确定输出图像中对应像素的值。操作抑郁相邻像素块的值。进行分离块操作时,输入图像是逐块进行操作的。及图像分成几个矩形块,并且有些操作是单独对每个块进行的,以便确定输出图像的对应块中像素的值。另外,工具箱还提供进行咧处理操作的函数。这些操作与块操作没有实质性的区别。不仅如此,他们还通过将块重置到一个矩阵列来加速块操作。2.4基于区域的处理2.4.1指定目标区域目标区域指的是图像中要滤波或进行其他操作的部分。通过二值掩码来创建目标区域。二值掩码是一幅与要处理的图像大小相同的二值图像,其中,处于目标区域内的所有像素值为1,目标区域外的所有像素值为0。2.4.2选择多边形可以用roipoly函数指定一个多边形目标区域。如果调用不带参数的roipoly函数,则鼠标光标落在图像上方时变成十字形。用鼠标在图像上单机,可以指定多边形的顶点坐标矢量。选择完成以后,单击回车键,roipoly函数返回一个与输入图像大小相同的二值图像。该图像中,落在指定多边形内部的像素为1,落在指定多边形外部的像素为0。2.4.3其他选择方法Roipoly函数提供一个创建二值掩码的简单方法。但是,如果二值图像与滤波图像大小相同,可以使用任何二值图像作为掩码。例如,假设要对图像I进行滤波,而且只对那些值大于0.5的像素进行滤波,可以用下面的命令创建合适的掩码。BW=(I0.5)另外,也可以用poly2mask函数创建二值掩码。与roipoly函数不同,该函数不需要输入图像。可以用roicolor函数基于颜色或灰度范围来定义目标区域。2.4.4对区域进行滤波可以用roifilt2函数处理目标图像。调用roifilt2函数是,需要制定一幅灰度图像,一个二值掩码和一个滤波器。Roifilt2函数岁输入图像进行滤波并返回经过滤波的像素值组成的图像。这种操作叫做掩码滤波。2.4.5填充区域可以用roifill函数填充目标区域,填充从目标区域的边界开始。该函数可以用于图像编辑,包括删除冗余的细节或人为污点。Roifill函数使用基于拉普拉斯方程的差值方法进行填充操作。给定区域边界上的值时,该方法的平滑效果最佳。使用roifill时,用鼠标选择目标区域。选择以后,roifill函数返回一幅图像,图像中的选定区域已经被填充了。2.5显示图像MATLAB中包括两个图像显示函数:image和imagesc。这两个函数都创建句柄图形对象中的Image对象并且有设置不同属性的语法格式。Imagesc函数会自动对输入数据进行比例化。图像处理工具箱包括两个显示函数:imview和imshow。通常,使用这两个函数比使用image和imagesc函数效果更好,因为他们更容易使用并且经过优化处理更适合显示图像。2.5.1用图像查看器显示图像利用图像查看器可以实现图像显示。图像查看器在单独的窗口中显示图像并提供图像的大小信息、像素值的显示范围和鼠标光标出的像素值。图像查看器提供了以下三个工具:概览窗口:窗口将整幅图像像是在一个小的单独窗口中。在概览窗口中,显示在图像浏览器中的图像部分用一个称为细节矩形的红色矩形显示。移动该矩形,就可以改变图像查看器窗口中的显示内容。像素区域工具:该工具检查图像指定区域中的像素值。在图像上拖拉像素区域矩形,可以选择区域。像素区域工具在一个单独的窗口中将像素值显示在该区域内。这个工具使得在图像中指定的可视元素的操作更容易了。图像信息窗口:该工具窗口显示像素值等图像信息。在图像查看器中打开一幅图像主要包括:启动图像查看器;查看多幅图像;指定图像初始大小;关闭图像查看器。1、启动图像查看器调用Imview函数,指定要查看的图像,启用图像查看器。可以用imview函数显示已经导入到MATLAB工作空间的图像。moonfig=imread(moon.tif);Imview(moonfig);还可以指定包含图像的文件的名称,如:Imview(moon.tif);该文件必须位于当前目录或MATLAB路径中。这个语法格式对于扫描多幅图像比较有用,但是图像数据不会保存到MATLAB工作空间中。2.5.2图像文件的显示可以用imshow显示图像。例如,用imshow函数显示已经导入到matlab工作空间的图像。moon=imread(moon.tif);Imshow(moon);还可以简单地指定包含图像的文件的名称,并将它作为变量传递给imshow函数。注意,文件必须位于当前路径或MATLAB路径中。Imshow(moon.tif);该语法对于扫描所有图像比较有用。但是,要注意的是,使用该语法时,图像数据不是保存在MATLAB工作空间中的。如果想吧图像引入工作空间,必须使用getimage函数,它从当前image对象中提取图像。如下,moon=getimage;如果显示moon.tif图像的图形窗口当前是激活的,则将图像数据赋给变量moon。2.5.3图像文件的保存MATLAB中利用函数imwrite来实现图像文件的保存操作:imwrite(I,文件名,文件格式)保存无调色板的图像。其中,I是要保存的图像数据矩阵。imwrite(X,MAP,文件名,文件格式)保存有调色板的图像。其中,X代表索引图像的数据矩阵,MAP代表其颜色映射表。imwrite(,文件名)文件名中含格式。imwrite(,参数,值)指定保存参数。其中,参数和值用于控制HDF、JPEG、TIFF等图像文件的输出特性。文件格式:bmp 、jpg、 pcx、 tif举例如下,将tif图像保存为jpg图像:x,map=imread(canoe.tif);Imwrite(x,map,canoe.jpg,jpg,quality,75)2.6分析图像图像分析技术返回与图像结构有关的信息。MATLAB提供了边缘检测、边界跟踪、Hough变换以及二叉树分解等图像分析方法。2.7MATLAB图像处理步骤框图 对图像矩阵数据进行处理 读取图像到MATLAB工作空间 对图像矩阵进行格式转换 显示图像 保存图像图2-5 MATLAB图像处理步骤框图第三章 实验操作第三章 实验操作用形状不变矩的形状特征描述方法实现基于形状的目标检测算法:3.1输入待处理的原始图像clear ;close all; %Step1 获取图像,装入待处理彩色图像并显示原始图像image1 = imread(3.jpg); %imread函数读取图像文件3.2图像的灰度化彩色图像包含着大量的颜色信息,这样不但在存储上占空间很大,而且在处理上也会明显降低系统的执行速度,因此在对图像进行识别等处理中经常先将彩色图像转变为灰度图像,以加快图像处理的速度。由彩色转换为灰度的过程叫做灰度化处理。选择的标准是经过灰度变换后,像素的动态范围增加,图像的对比度扩

温馨提示

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

评论

0/150

提交评论