论文关键词: 图像分割 边缘检测 模糊理论 遗传算法 matlab
论文摘要:分割的目的是将图像划分为不同区域。图像分割算法一般是基于亮度值的两个基本特性之一:不连续性和相似性。第一类性质的已用途径是基于亮度的不连续变化分割图像,比如图像的边缘。第二类的主要应用途径是依据事先制订的准则将图像分割为相似的区域。门限处理、区域生长、区域分离和聚合都是这类方法的实例。遗传算法具有简单、鲁棒性好和本质并行的突出优点。其在应用领域取得的巨大成功,引起了广大学者的关注。在图像分割领域,遗传算法常用来帮助确定分割阈值。
本文介绍讨论了几种目前广泛应用的图像边缘检测、图像阈值分割的各种算法,并给出了对比分析;对遗传算法的基本概念和研究进展进行了综述;给出了标准遗传算法的原理、过程、实验结果及分析. 实验结果表明,本文提出的遗传分割算法优于传统分割算法。
第一章 绪论 1.1 图像分割综述
图像分割就是指把图像分成各具特性的区域并提取出感兴趣目标的技术和过程。这里所说的特性可以是灰度、颜色、纹理等,而目标可以对应单个区域,也可以对应多个区域。图像分割是数字图像处理中的一项关键技术,它使得其后的图像分析,识别等高级处理阶段所要处理的数据量大大减少,同时又保留有关图像结构特征的信息。而且,在数字图像处理工程中,一方面,图像分割是目标表达的基础,对特征测量有重要的影响;另一方面,图像分割是自动目标识别的关键步骤,图像分割及其基于分割的目标表达、特征提取和参数测量等将原始图像转化为更抽象更紧凑的形式,分割中出现的误差会传播至高层次处理阶段,因此分割的精确程度是至关重要的。只有通过细致精细的图像分割,才能使得更高层的图像分析和理解成为可能。因此,图像分割是由图像处理进到图像分析的关键步骤,在图像工程中占据重要的位置。
1.2 图像分割的研究意义与发展现状
作为计算机视觉和图像处理中的难点和热点之一,图像分割的研究受到了研究工作者的高度重视,对图像分割进行了深入、广泛的研究。作为一种重要的图像技术,图像分割在不同领域中有时也用其它名称:如目标轮廓(object delineation)技术,阈值化(thresholding)技术,图像区分或求差(image discrimination)技术,目标检测(target detection)技术,目标识别(target recognition)技术,目标跟踪(target tracking)技术等,但这些技术本身或其核心实际上也就是图像分割技术。图像分割作为图像处理、分析的一项基本内容,其应用非常广泛,几乎出现在有关图像处理的所有领域,并涉及各种类型的图像。在工业自动化、在线产品检验、生产程控、文件图像处理、遥感图像、保安监视、以及军事、体育、农业等行业和工程中,图像分割都有着广泛的应用。例如:在遥感图像中,合成孔径雷达图像中目标的分割、遥感云图中不同云系和背景分布的分割等;在医学应用中,脑部 mr 图像分割成灰质(gm)、白质(wm)、脑脊髓(csf)等脑组织和其它脑组织区域(nb)等;在交通图像分析中,把车辆目标从背景中分割出来等;在面向对象的图像压缩和基于内容的图像检索中将图像分割成不同的对象区域等。在各种图像应用中,只要需对图像目标进行提取,测量等都离不开图像分割。
自 20 世纪 70 年代至今,已提出上千种各种类型的分割算法。如:门限法、匹配法、区域生长法、分裂-合并法、水线法、马尔可夫随机场模型法、多尺度法、小波分析法、数学形态学等。随着新理论、新技术的发展,一些新的图像分割方法也随之出现,但这些分割算法都是针对某一类型图像、某一具体的应用问题而提出的,并没有一种适合所有图像的通用分割算法。通用方法和策略仍面临着巨大的困难。另外,还没有制定出选择适用分割算法的标准,这给图像分割技术的应用带来许多实际问题。
1.3 本论文所作的工作
据此,在本论文中只对常用的、并在实践中行之有效的边缘检测方法和阈值分割方法进行深入的了解,并对阈值分割方法中的灰度直方图双峰法和基于遗传算法的最大类间方差法进行详细的讨论,同时用matlab对上述两种方法进行验证并给出结果。
1.4 本论文的论述内容
本文对图像分割的整个过程中的一些常用的,经实践检验行之有效的算法进行了讨论和 改进。全文共七章。第一章为绪论,主要介绍了现阶段图像分割技术的发展现状和研究意义。其他六章分别在以下几个方面介绍了本文所做的工作:
1.对本文所采用的试验测试工具matlab 进行简介。
2.简介数字图像的基础问题。概述了数字图像的基本概念和特点,简介了各种图像格式的特点和应用,为全文的讨论作一铺垫。
3.详细讨论了图像分割中的基于阈值的图像分割方法,给出了直方双峰法的算法和验证结果,并简要介绍了普通最大类间方差法的算法过程。
4.对遗传算法理论进行简介。详细讨论了遗传算法的定义和标准遗传算法的流程和要素。为应用此方法对最大阈值进行迭代寻优打下基础。
6.应用遗传算法改进了最大类间方差法。给出了整个遗传操作的使用函数与具体进程,并对实例图片进行处理,得到处理结果并得到迭代最优阈值m。
本文研究了图像分割的相关理论和常用技术,并对遗传算法进行了介绍,对遗传算法应用于图像分割进行了验证.
第二章 matlab简介 2.1 matlab的概况和产生背景 2.1.1 matlab的概况
matlab是矩阵实验室(matrix laboratory)之意。除具备卓越的数值计算能力外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。matlab的基本数据单位是矩阵,它的指令表达式与数学,工程中常用的形式十分相似,故用matlab来解算问题要比用c,fortran等语言完相同的事情简捷得多.
当前流行的matlab包括拥有数百个内部函数的主包和三十几种工具包(toolbox).工具包又可以分为功能性工具包和学科工具包.功能工具包用来扩充matlab的符号计算,可视化建模仿真,文字处理及实时控制等功能.学科工具包是专业性比较强的工具包,控制工具包,信号处理工具包,通信工具包等都属于此类.开放性使matlab广受用户欢迎.除内部函数外,所有matlab主包文件和各种工具包都是可读可修改的文件,用户通过对源程序的修改或加入自己编写程序构造新的专用工具包.
2.1.2 matlab产生的历史背景
在70年代中期,cleve moler博士和其同事在美国国家科学基金的资助下开发了调用eispack和linpack的fortran子程序库.eispack是特征值求解的foetran程序库,linpack是解线性方程的程序库.在当时,这两个程序库代表矩阵运算的最高水平.到70年代后期,身为美国new mexico大学计算机系系主任的cleve moler,在给学生讲授线性代数课程时,想教学生使用eispack和linpack程序库,但他发现学生用fortran编写接口程序很费时间,于是他开始自己动手,利用业余时间为学生编写eispack和linpack的接口程序.cleve moler给这个接口程序取名为matlab,该名为矩阵(matrix)和实验室(labotatory)两个英文单词的前三个字母的组合.在以后的数年里,matlab在多所大学里作为教学辅助软件使用,并作为面向大众的免费软件广为流传。1983年春天,cleve moler到standford大学讲学,matlab深深地吸引了工程师john little敏锐地觉察到matlab在工程领域的广阔前景.同年,他和cleve moler,steve bangert一起,用c语言开发了第二代专业版.这一代的matlab语言同时具备了数值计算和数据图示化的功能.1984年,cleve moler和john little成立了math works公司,正式把matlab推向市场,并继续进行matlab的研究和开发.
在当今30多个数学类科技应用软件中,就软件数学处理的原始内核而言,可分为两大类.一类是数值计算型软件,如matlab,xmath,gauss等,这类软件长于数值计算,对处理大批数据效率高;另一类是数学分析型软件,mathematica,maple等,这类软件以符号计算见长,能给出解析解和任意精确解,其缺点是处理大量数据时效率较低.mathworks公司顺应多功能需求之潮流,在其卓越数值计算和图示能力的基础上,又率先在专业水平上开拓了其符号计算,文字处理,可视化建模和实时控制能力,开发了适合多学科,多部门要求的新一代科技应用软件matlab.经过多年的国际竞争,matlab以经占据了数值软件市场的主导地位.
在matlab进入市场前,国际上的许多软件包都是直接以fortranc语言等编程语言开发的。这种软件的缺点是使用面窄,接口简陋,程序结构不开放以及没有标准的基库,很难适应各学科的最新发展,因而很难推广。matlab的出现,为各国科学家开发学科软件提供了新的基础。在matlab问世不久的80年代中期,原先控制领域里的一些软件包纷纷被淘汰或在matlab上重建。
时至今日,经过mathworks公司的不断完善,matlab已经发展成为适合多学科,多种工作平台的功能强大大大型软件。在国外,matlab已经经受了多年考验。在欧美等高校,matlab已经成为线性代数,自动控制理论,数理统计,数字信号处理,时间序列分析,动态系统仿真等高级课程的基本教学工具;成为攻读学位的大学生,硕士生,博士生必须掌握的基本技能。在设计研究单位和工业部门,matlab被广泛用于科学研究和解决各种具体问题。在国内,特别是工程界,matlab一定会盛行起来。可以说,无论你从事工程方面的哪个学科,都能在matlab里找到合适的功能。
2.2 matlab的语言特点
一种语言之所以能如此迅速地普及,显示出如此旺盛的生命力,是由于它有着不同于其他语言的特点,正如同fortran和c等高级语言使人们摆脱了需要直接对计算机硬件资源进行操作一样,被称作为第四代计算机语言的matlab,利用其丰富的函数资源,使编程人员从繁琐的程序代码中解放出来。matlab最突出的特点就是简洁。matlab用更直观的,符合人们思维习惯的代码,代替了c和 fortran语言的冗长代码。matlab给用户带来的是最直观,最简洁的程序开发环境。以下简单介绍一下matlab的主要特点。
1. 语言简洁紧凑,使用方便灵活,库函数极其丰富。matlab程序书写形式自由,利用起丰富的库函数避开繁杂的子程序编程任务,压缩了一切不必要的编程工作。由于库函数都由本领域的专家编写,用户不必担心函数的可靠性。可以说,用matlab进行科技开发是站在专家的肩膀上。 更为难能可贵的是,matlab甚至具有一定的智能水平,所以用户根本不用怀疑matlab的准确性。
2. 运算符丰富。由于matlab是用c语言编写的,matlab提供了和c语言几乎一样多的运算符,灵活使用matlab的运算符将使程序变得极为简短。
3. matlab既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性。
4. 程序限制不严格,程序设计自由度大。例如,在matlab里,用户无需对矩阵预定义就可使用。
5. 程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。
6. matlab的图形功能强大。在fortran和c语言里,绘图都很不容易,但在matlab里,数据的可视化非常简单。matlab还具有较强的编辑图形界面的能力。
7. matlab的缺点是,它和其他高级程序相比,程序的执行速度较慢。由于matlab的程序不用编译等预处理,也不生成可执行文件,程序为解释执行,所以速度较慢。
8. 功能强大的工具箱是matlab的另一特色。matlab包含两个部分:核心部分和各种可选的工具箱。核心部分中有数百个核心内部函数。其工具箱又分为两类:功能性工具箱和学科性工具箱。功能性工具箱主要用来扩充其符号计算功能,图示建模仿真功能,文字处理功能以及与硬件实时交互功能。功能性工具箱用于多种学科。而学科性工具箱是专业性比较强的,如control,toolbox,signl proceessing toolbox,commumnication toolbox等。这些工具箱都是由该领域内学术水平很高的专家编写的,所以用户无需编写自己学科范围内的基础程序,而直接进行高,精,尖的研究。
9. 源程序的开放性。开放性也许是matlab最受人们欢迎的特点。除内部函数以外,所有matlab的核心文件和工具箱文件都是可读可改的源文件,用户可通过对源文件的修改以及加入自己的文件构成新的工具箱。
2.3 matlab 遗传算法工具箱简介
鉴于matlab强大的扩展功能和影响力,各个领域的专家相继突出了许多基于matlab的专用工具箱。本文所采用的遗传算法工具箱,就是由英国谢菲尔德(sheffield)大学设计推出的。相对于其他版本的遗传算法工具箱,如:美国北卡莱罗纳州立大学推出的遗传算法优化工具箱gaot(genetic algorithm optimization toolbox),以及mathworks公司最新发布的一个专门设计的matlab遗传算法和直接搜索工具箱(genetic algorithm and direct search toolbox),本工具箱的出现最早,影响较大且功能较为完备。文中所采用的所有遗传操作函数大部分出自本工具箱。
第三章 数字图像基础简介
图像处理的首要一步,就是要了解图像的基本性质与特点。只有充分了解和掌握了所要处理得图像的特点和性质,才能在接下来的处理中根据图像的特点获取所需的信息,并对其进行相应的处理。
本章将介绍数字图像的基础知识,以及图像在计算机处理中的信息表达形式,并对几种常用的图像文件格式bmp, jpeg以及png等做简要的介绍。
3.1 图像的基本概念及其特点
要对图像进行处理,必须清楚图像的概念。一般来说,二维或三维景物呈现在人眼中的样子就是图像。图像具有以下三个方面的特点:
①图像带有大量的信息,一幅图像顶得上千言万语;
②图像种类繁多,包括照片、绘图视频图像等;
③人类从外界获得的大部分信息来自视觉系统。
人们看到的任何自然界的图像都是连续的模拟图像。其形状和形态表现由图像各位置的颜色来决定。可以用f(x, y)表示一幅模拟图像,其中x, y表示空间坐标点的位置,f表示图像在点(x, y)的某种性质的数值,如亮度、颜色等,f、x、y可以是任意的实数。而把连续空间的图像在坐标空间(x, y)和性质空间f都离散化,以便于计算机进行加工处理的离散化的图像则称为数字图像。数字图像用i (r, c)来表示,其中:r=row为行,c = col为列,表示空间离散点的坐标,i表示离散化的图像f。i, r, c都是整数。实际中仍习惯用f (x, y)表示数字图像。图像存储画面的形式为栅格结构:即将图像划分为均匀分布的栅格(像素),显式的记录每一像素的亮度和颜色;而将像素的坐标值规则地隐含起来,其位置排列规则,通常为矩形排列。
3.2 图像的格式
组成数字图像的基本单位称为像素(pixel),把像素按不同的方式进行组织和存储,就得到不同的图像格式;把图像数据存为文件就得到图像文件。图像文件按其格式的不同一般具有不同的扩展名。常用的图像文件格式有位图文件、jpeg文件、gif文件、png文件等。每一种格式都有它的特点和用途,在选择输出的图像文件格式时,应考虑图像的应用目的以及图像文件格式对图像数据类型的要求。下面我们介绍几种常用的图像文件格式及其特点。
3.2.1 bmp图像格式
这是一种dos和windows兼容计算机系统的标准图像格式。bmp格式支持索引色、灰度等色彩模式。图像存储为bmp格式时,每一个像素所占的位数可以是1位、4位、8位或32位,相对应的颜色数也从黑白一直到真彩色。对于使用windows格式的4位和8位图像,可以指定采用rle压缩。bmp图像文件含文件头、调色板数据和图像数据三个层次。其中文件头由定义文件标识、大小即图像数据偏移量的bitmapf工leheader以及指定bmp图像自身的若干参数的bitmapinfoheader两部分组成。这种格式在pc机上应用非常普遍。
3.2.2 jpeg图像格式
jpeg是由联合照片专家组(jiontphotographic experts group)开发的一种图像文件格式。它采用有损压缩方式去除冗余的图像和彩色数据,在获取极高的压缩率的同时也能展现十分丰富生动的图像。也就是说,可以用较少的磁盘空间得到较好的图像质。另外,jpeg还是一种比较灵活的格式,当将图像保存为jpeg格式时,允许用户用不同的压缩比例对文件进行压缩,就是可以指定图像的品质和压缩级别。
3.2.3 tiff图像格式
tiff文件主要由三部份组成,包括文件头、标识信息区和图像数据区。t工ff文件的图像数据区以行扫描的方式存取图像,存储图像前先将图像分割成若干部分,压缩后再存储。存储时,单色图像一个字节存储8个点,16色图像一个字节2个点,而256色图像就是一个字节存储一个点。tiff图像格式是一种应用非常广泛的位图图像格式,几乎被所有绘画、图像编辑和页面排版应用程序所支持。tiff格式常常用于在应用程序之间和计算机平台之间交换文件。
3.2.4 gif图像格式
cif是graphics interchange format(图形交换格式)的缩写,是由computerserve公司推出的一种图像格式。该种图像格式的特点是压缩比高,可以极大地节省存储空间。最初的gif只是简单的用来存储单幅静止图像,后来可以同时存储若干幅静止图像从而形成连续的动画;同时,gif格式支持透明背景,可以较好地与网页背景融合在一起。因此,gif常常用于保存作为网页数据进行传输的图像文件,成为网络和bbs上使用频率较高的一种图像文件格式。但是gif最多只能处理256种色彩,不能用于存储真彩色的图像文件。
3.2.5 png图像格式
这种格式称为可移植网络图像文件格式(portable network graphics),由thomas boutell, tom lan。等人提出并设计。其特点是:①支持48位真彩色图像、16位灰度图像和颜色索引数据图像;②主要面向网络图像传输和图像编辑,其提供的二维交叉存储机制使用户在图像网络传输过程中能更快的观察到接近真实的近似图像;③对用户完全透明且无专利限制,用户可以从internet上随时下载与png文件格式配套的图像数据压缩算法源程序代码:④ 具有比gif高5-20%的压缩效率;⑤ 具有可扩展性。
作为目前最不失真的图像格式, png格式图像吸取了gif和jpeg二者的优点。它可以把文件压缩到极限以利于网络传输,但由于采用无损压缩方式来减少文件大小,png格式能保留所有与图像品质有关的信息。同时,png支持图像背景透明,显示速度快。
本文的所有图像的处理都是对由jpg格式图像通过图像格式转化得来的bmp格式的索引色图像进行的,其具体转换程序参见附录[一]。
第四章 图像分割 4.1 图像分割算法的定义与分类
在图像的研究和应用中,人们往往只对一幅图像中的某些部分感兴趣,这些感兴趣的部分一般对应图像中特定的、具有特殊性质的区域(可以对应单个区域,也可以对应多个区域),称之为目标或前景;而其它部分称为图像的背景。为了辨识和分析目标,需要把目标从一幅图像中孤立出来,这就是图像分割要研究的问题。所谓图像分割,从广义上来讲,是根据图像的某些特征或特征集合(包括灰度、颜色、纹理等)的相似性准则对图像象素进行分组聚类,把图像平面划分成若干个具有某些一致性的不重叠区域。这使得同一区域中的象素特征是类似的,即具有一致性;而不同区域间象素的特征存在突变,即具有非一致性。从集合的角度出发,图像分割定义如下:
设整个图像空间为一集合r 。根据选定的一致性准则p ,r 被划分为互不重叠的非空子集(或子区域):{r1, r2,l, rn},这些子集必须满足下述条件:
(1) r =
(2) 对于所有的i和j ,当i ≠ j, =空集
(3) p(ri) = true ,对所有的i
(4) 所有i ≠ j;ri ,rj相邻,p(ri u rj) = false
(5) 对i =1,2,l,n, ri是连通区域
其中:p(ri)为作用于ri 中所有象素的形似性逻辑谓词,i, j =1,2,l,…n。上述条件
(1)指出分割后的全部子区域的总和应包含图像中的所有元素,或者说分割应将图像中每个象素都分进一个子区域中。
(2)指出各个子区域相互不重叠。
(3)指出分割后得到的属于同一区域中的元素应该具有某种相同特性。
(4)指出对于分割后得到的属于相邻两个区域中的元素具有某种不同的特性。(5)要求同一个子区域内的元素应当是连通的。
其中分割准则p 适用于所有象素,由它来确定各区域元素的相同特性。上述数学条件说明了图像分割算法的一些特点,凡不符合以上特点的图像处理算法则不能称为图像分割算法。
目前,在己提出的多种类型的分割算法中,大致可以分为基于边缘检测的方法和基于区域的方法。而在实际应用中,这些方法主要又可划分为三种类型: 边缘检测型、阈值型和区域跟踪型。本文的讨论正是基于阈值型图像分割方法展开的。
4.2 基于阈值的分割 4.2.1方法定义与特点
基于阈值的分割方法是一种应用十分广泛的图像分割技术。所谓阈值分割方法的实质是利用图像的灰度直方图信息得到用于分割的阈值。它是用一个或几个阈值将图像的灰度级分为几个部分,认为属于同一个部分的象素是同一个物体。它不仅可以极大的压缩数据量,而且也大大简化了图像信息的分析和处理步骤。因此,在很多情况下,是进行图像分析、特征提取与模式识别之前必要的图像预处理过程。它特别适用于目标和背景占据不同灰度级范围的图像。阈值分割方法的最大特点是计算简单,运算效率高,在重视运算效率的应用场合,它得到了广泛的应用。
4.2.2阈值的分割的描述
设(x,y)是二维数字图像的平面坐标,图像灰度级的取值范围是g= {0, 1, 2,…l-1 }(习惯上0代表最暗的像素点,l-1代表最亮的像素点),位于坐标点(x, y)上的像素点的灰度级表示为f (x, y)。设t∈g为分割阈值,b= {b0, b 1}代表一个二值灰度级,并且b0, b1∈b。于是图像函数f 1(x,y)在阈值t上的分割结果可以表示为:
阈值分割法实际就是按某个准则函数求最优阈值t的过程。域值一般可写成如下的形式:
t=t[x,y, f (x,y),p (x,y)]
其中f (x, y)是在像素点(x, y)处的灰度值,p(x,y)是该点邻域的某种局部性质。4.3.3阈值分割方法的分类
通过上文的讨论,结合所给公式,可以将阈值分割方法分为以下3类:
1) 全局阈值:t=t[p(x,y)〕,即仅根据f(x,y)来选取阈值,阈值仅与各个图像像素的本身性质有关。
2) 局部阈值:t=t[f(x,y),p(x,y)],阈值与图像像素的本身性质和局部区域性质相关。
3) 动态阈值:t=t[x,y,f(x,y),p(x,y)],阈值与像素坐标,图像像素的本身性质和局部区域性质相关。
全局阈值对整幅图像仅设置一个分割阈值,通常在图像不太复杂、灰度分布较集中的情况下采用;局部阈值则将图像划分为若干个子图像,并对每个子图像设定局部阈值;动态阈值是根据空间信息和灰度信息确定。局部阈值分割法虽然能改善分割效果,但存在几个缺点:
1) 每幅子图像的尺寸不能太小,否则统计出的结果无意义。
2) 每幅图像的分割是任意的,如果有一幅子图像正好落在目标区域或背景区域,而根据统计结果对其进行分割,也许会产生更差的结果。
3) 局部阈值法对每一幅子图像都要进行统计,速度慢,难以适应实时性的要求。
全局阈值分割方法在图像处理中应用比较多,它在整幅图像内采用固定的阈值分割图像。考虑到全局阈值分割方法应用的广泛性,本文所着重讨论的就是全局阈值分割方法中的直方图双峰法和基于遗传算法的最大类间方差法。在本节中,将重点讨论灰度直方图双峰法,最大类间方差法以及基于遗传算法的最大类间方差法留待下章做继续深入地讨论。
中国论文网(www.lunwen.net.cn)免费学术期刊论文发表,目录,论文查重入口,本科毕业论文怎么写,职称论文范文,论文摘要,论文文献资料,毕业论文格式,论文检测降重服务。