1、2013届毕业论文题目科技图像矢量化相关问题研究专业班级机械设计制造及其自动化09级2班学号0903010221学生姓名指导教师指导教师职称副教授学院名称机电工程学院完成日期2013年05月30日科技图像矢量化相关问题研究STUDYOFVECTORIZATIONOFTECHNOLOGYIMAGE学生姓名指导教师武汉工程大学毕业论文I摘要本文主要研究的是科技图像的矢量化,矢量化技术在各个领域都有着越来越广泛的应用。随着计算机技术的发展,矢量化研究日益成熟,加上矢量图形自身的优越性,矢量化技术将会快速的发展。本文研究意在使用计算机代替人工查询图线数据。对于一幅含有曲线的图像,先把图像转化成灰度图像
2、,再二值化,得到二值图像。然后设计程序计算出图像与实际数据的比例尺。再删除图像中除了曲线以外的数据,只保留曲线。使用FIND函数找出曲线数据,通过比例尺把数据转换成实际数据,利用多项式拟合,得到拟合公式。使用计算机代替人工查询曲线数据,可以避免由于视线误差、测量误差导致的查询数据不准确,使查询效率和准确度大大提高。关键词矢量化、MATLAB图像处理、曲线拟合、图像数据提取武汉工程大学毕业论文IIABSTRACTTHISPAPERSTUDIESTHESCIENCEANDTECHNOLOGYIMAGEVECTORIZATION,VECTORTECHNOLOGIESHAVEAWIDERANGEOFA
3、PPLICATIONSINVARIOUSFIELDSWITHTHEDEVELOPMENTOFCOMPUTERTECHNOLOGY,VECTORRESEARCHHASBECOMEMORESOPHISTICATEDWITHTHESUPERIORITYOFVECTORGRAPHICS,VECTORTECHNOLOGYWILLBERAPIDDEVELOPMENTTHISSTUDYISINTENDEDTOUSEACOMPUTERINSTEADOFARTIFICIALQUERYGRAPHLINEDATAFORTHEIMAGECONTAININGCURVE,FIRSTCONVERTINGTHEIMAGEIN
4、TOAGRAYSCALEIMAGE,ANDTHENMAKINGITBINARIZEDTOOBTAINABINARYIMAGETHENDESIGNINGPROGRAMTOCALCULATETHEDIMENSIONSOFTHEIMAGEWITHTHEACTUALDATATHENDELETINGTHEDATAINTHEIMAGEEXCEPTTHECURVE,LEAVINGONLYTHECURVEUSETHEFINDFUNCTIONTOFINDTHECURVEDATA,ANDFINALLYMAKETHEDATACONVERTEDINTOTHEACTUALDATABYSCALEANDTHEUSEOFPO
5、LYNOMIALFITTING,GETFITTINGFORMULAUSINGACOMPUTERINSTEADOFARTIFICIALTOQUERIESCURVEDATACANAVOIDERRORSDUETOLINEOFSIGHTBECAUSETHEMEASUREMENTERRORWILLLEADTOINACCURATEDATAQUERYSOTHEQUERYEFFICIENCYANDACCURACYWILLBEGREATLYENHANCEDKEYWORDSVECTOR,MATLABIMAGEPROCESSING,CURVEFITTING,IMAGEDATAEXTRACTION武汉工程大学毕业论文
6、III目录摘要IABSTRACTII目录III第一章综述111课题研究的背景112课题研究的意义113国内外研究现状2131图像数据提取2132矢量化技术214本文研究的内容315可行性分析3151使用MATLAB进行图像矢量化的可行性3152使用MATLAB进行图像矢量化的精度分析416图像处理5161数字图像5162矢量图像6163数据提取与数据拟合617技术路线7第二章科技图像矢量化821总体方案822流程图823图像二值化924求坐标比例尺11241Y轴方向比例尺12242X轴方向比例尺1325删除坐标轴及坐标网格15251删除X轴网格线15252删除Y轴网格线16武汉工程大学毕业论文
7、IV26提取曲线数据1727曲线拟合20第三章结论2431结论2432展望24参考文献25致谢26武汉工程大学毕业论文1第一章综述11课题研究的背景计算机储存图像的形式有两种,一是光栅点阵方式,另一种是矢量形式1。矢量形式存储图像具有文件体积小,易于修改,放大缩小不会失真等优点。在科技迅速发展的今天,光栅点阵储存图像因其自身的局限性不能满足需要,例如在地图储存中,为了保证图像的清晰,图像文件会很大,这就给储存和传输带来了不便;在工程图纸方面,使用矢量方式存储可缩短输入图纸修改图纸的时间,大大提高效率;把各类表格图线以矢量图形式存储,可省去查表的步骤。另外,由于视线误差、测量误差会导致查询数据不
8、准确,而且,人工查询图表、效率低下。所以,使用计算机代替人工查询是必然趋势。计算机代替人工测量,查询数据的效率和准确程度将会大大提高。人们查询的数据有两种形式,一是直接的数据,查询数据直接对应结果,对于这种数据,可以直接使用多项式拟合可以将其矢量化。另一种是图线形式,原始数据被绘制成曲线图像保存。而这样保存的图像都是数字图像。所以数字图像是图像矢量化的源图像。本文即是研究如何将这类图像矢量化。矢量化需要数据来拟合,所以必须先将数字图像中的有用的数据提取出来。提取数据之后就可将其矢量化。以后查询数据时只需要在计算机中输入查询数值就可以得到查询结果。12课题研究的意义在工程图纸方面,由于CAD/C
9、AM技术的普及,制图设计效率大大提升,查询图表也在与时俱进。如果把图数据矢量化,那么今后在查询图表数据方面效率会大为提高。本文是科技图像矢量化相关问题研究,面对一幅曲线图像,本文研究的是如何将曲线的数据提取出来,利用所提取的数据拟合成公式,实现图像的矢量化。目的是省去机械设计流程中查表查图的步骤,提高设计制图的效率。查询曲线数值时,只需要输入图像的X坐标值,即可通过计算机计算出对应的Y值。使用书本查询曲线时,可能会出现查询错误的现象,查询时由于测量的误差,视线的干扰导致查询所得数值与正确值差距较大,而使用计算机查询可以完全避免这种情况,使所得数据更加精确。因此,课题研究可使得查询图线效率提高,
10、精确度提高。武汉工程大学毕业论文213国内外研究现状131图像数据提取目前,有许多种方法和软件可以把数据从图片中提取出来。储存数据的图像一般为数字图像,数字图像是由一个个的像素组成的,得到曲线所在的像素点位置就可以绘制图像。所以可以使用图片软件读取图像,然后手动操作记录下曲线所在的每个点的位置,这是最简单的方法,也是最费时,最繁琐的方法。而且这样取得的数据没有比例尺,比例尺还需要通过别的方式得到。使用ORIGINLAB公司出品的ORIGIN软件可以实现提取数据,ORIGIN软件本身本不具备提取数据的功能,开发者为了适应人们的需要开发了相应的插件。使用GETDATA软件也能提取图片中的数据。也有
11、许多软件可以将图片中的文字转换成文本数据,但使用过这种软件都知道,转换后的文字与原文有一定的差距,并不能直接使用,对于转换后的文档,就必须有一个校正的过程。本文所研究的是科技图像的矢量化,提取的是科技图像数据,本文基于MATLAB软件,编写程序把需要查询的图像转换成数据,并采用公式的形式储存。从而让计算机代替人工查询图像,简化查询的过程。132矢量化技术国内在90年代初期开始研究矢量化技术,并且取得了一定的成绩,也有一些机构开发出了矢量化软件。比较著名的有清华大学的THDA工MSANNO、华中科技大学的EDIS等。但综观这些软件识别后的结果,普遍存在着畸变、误识别严重,以及理解深度不够等情况。
12、国内外现有的矢量化软件的普遍缺点是抗噪声性差、矢量化的精度和速度都不高,识别层次较低,离实用化还有很大的距离。近些年来,矢量化技术依然是国际CAD和模式识别领域的研究热点,有许多权威的专业性国际机构定期举办有关文档识别的会议,并不定期地举行矢量化软件的测评比赛。这些都为矢量化技术的研究做出了大量的贡献2。国外对矢量化技术的研究开始于上个世纪70年代,国外一些大学和公司投入了相当多的人力、物力来研究矢量化技术,但是由于当时理论和实现条件的不成熟,样机产工作进展缓慢,图形识别的准确率很低,而且识别速度很慢。进入90年代以后,计算机处理能力得到飞速发展,计算机图形图像理论进一步完善,模式识别技术引起
13、广泛重视,特别是激光扫描技术的广泛应用,这些都为建立在计算机基础上的图像快速矢量化成为可能。美国的CADALYST杂志每年都会对国际上流行的光栅图形矢量化软件进行广泛的评武汉工程大学毕业论文3比,同时列出各种矢量化软件的各种特性以及优缺点。CADALYST杂志最新的评测,对目前国际上流行的光栅图形矢量化软件进行了比较,列举的软件包括德国SOFTELEC公司的VPSTUDIO、ABLE公司的R2V、RASTEREX公司的RXAUTOIMAGEPRO2000、RAVTEK公司的CRUCIBLE、GTX公司的GTXRASTERCADPLUS、日立公司的IMAGESERIES、IDEAL公司的I/VE
14、CTOR40。本次测试将功能分成三类图像净化、光栅编辑和矢量化。图像净化指能同时影响全图的功能;光栅编辑则只作用局部区域;当然最重要的是矢量化,它包括文字识别和识别类型3。这些软件分别应用于机械设计、建筑设计、地图以及电路设计等领域,通过评测可以看出,虽然各软件在光栅图形的处理能力、矢量化的效果方面各有所长,但是在自动化的程度、矢量化的准确度等各方面也都存在着各种不足之处。近年来,国内也有多个高校推出了一些商品化的R2V软件。与国外软件类似,各种R2V软件虽然能够替代很多的手工劳动,但是仍在软件的性能、自动化程度、准确率方面存在很多不足。因此,对于光栅图形矢量化技术的研究,也一直是计算机图形图
15、像处理、机械设计、人工智能领域研究的难点和热点。14本文研究的内容本文研究的是科技图像的矢量化,使用矢量化技术,把图像中的曲线数据拟合成多项式,以公式形式保存。本文研究包括两个部分一是理论分析使用MATLAB进行图像矢量化的可行性以及所得结果的精度是否符合要求;二是编写了一套程序对含有曲线的图像矢量化。本文结构为第一部分介绍所研究的内容和背景知识以及分析MATLAB进行图像矢量化的可行性和精度,第二部分编写程序对图像矢量化,第三部分对本文进行总结。15可行性分析151使用MATLAB进行图像矢量化的可行性虽然MATLAB最初的设计是以数学计算为主,但它提供的可视化技术,尤其是对计算结果的可视化
16、处理是其一大特色,MATLAB的图形工具从简单的点、线、面的处理发展到多维图形的表现,同时MATLAB还提供了对图像处理功能,使用户可以利用提供的内武汉工程大学毕业论文4部函数对外部图形进行操作,如图形格式的转换、图形属性的实地调整、图形定制输出等,实现对图形深层次的控制,这也是MATLAB语言在图形处理方面强大功能的体现。图形矢量化即是将原有的图像格式的图形(如BMP格式的位图),将其转变成由坐标和相应的点、线面、的定义。这样不仅可以大量的节约磁盘空间,方便调用,且提高了图形的修改转换等操作功能,使图形可重复利用。在MATLAB环境下调用外部图形的函数为IMREAD,通过该函数可以把其它格式
17、的图形转换为MATLAB可识别的格式类型对应的存储格式可变成一个点位矩阵,利用MATLAB的矩阵处理功能,结合其提供的有关线型处理的内部函数,即可实现对位图的数字化,因而,利用MATLAB进行图形矢量化是完全有可能的4。152使用MATLAB进行图像矢量化的精度分析数据一般以两种形式记录,一种是表格,另一种是曲线。不管是表格数据还是曲线数据,数据都是通过实验测量所得的,而实验测量时,数据是离散的,所以数据的记录不可能是连续的,表格记录即是把数据直接记录或者筛选后记录下来。而曲线则是把离散的点用一条光滑的曲线连接起来。这样,实际上,曲线上的数据并非实际所有的准确数据,但是曲线的变化趋势是准确的,
18、因此可以认为曲线数据是正确的。另外,在查询表格中,往往会遇到所需要查询的数值在表格中不存在的问题。这个时候通常采用插值法,利用函数FX在某区间中若干点的函数值,作出适当的特定函数,在这些点上取已知值,在区间的其他点上用这特定函数的值作为函数FX的近似值。在精度要求不高的情况下,直接使用两个相邻的值的中值作为函数FX的值代替即可。所以,在查询数据时,并不一定要求准确,而是要求所查询的数值在可以接受的误差以内。查询曲线时,通常是使用直尺等工具测量曲线,得到的也是近似值。而且由于视线误差、工具的误差,查询结果也不是图线上的值。本文所采用的拟合曲线的方法,对图片预处理后,删除曲线的坐标轴的网格线时会删
19、除一部分曲线上的数据。由于删除的数据相对曲线本身来说可以忽略不记,因此对曲线的总体变化趋势没有影响。而且,曲线矢量化后,依靠计算机来查询数据,可以避免由于人工查询引起的各种误差,查询所得的数据值必然是曲线上的准确值。查询精度比人工查询图线要高。武汉工程大学毕业论文516图像处理161数字图像用计算机进行图像处理和前提是图像必须以数字格式存储。我们把以数字格式存储的图像称为数字图像。数字图像由二维元素组成,每一元素具有一个特定的位置X,Y和幅值FX,Y,这些元素就称为像素。像素组成的二维排列可以用矩阵表示。对于单色(灰度)图像而言,每个像素和亮度用一个数值来表示,通常数值范围为0,255,0表示
20、黑、255表示白,其他值表示处于黑白之间的灰度。彩色图像可以用红、绿、蓝组成的二维矩阵来表示。R代表红色,G代表绿色,B代表蓝色,三种色彩叠加形成了其他的色彩。通常二维矩阵的每个数值也是在0到255之间,0表示在该像素中没有相应的颜色,255则代表相应的基色在该像素中取得最大值5。数字图像处理的特点1再现性好。数字图像处理与模拟图像处理的根本不同在于,它不会因图像的存储、传输或复制等一系列变换操作而导致图像质量的退化。只要图像在数字化时准确地表现了原稿,则数字图像处理过程始终能保持图像的真实再现。2处理精度高。按目前的技术,几乎可将一幅模拟图像数字化为任意大小的二维数组,这主要取决于图像数字化
21、设备的能力。现代扫描仪可以把每个像素的灰度等级量化为16位甚至更高,这意味着图像的数字化精度可以满足任一应用需求。从原理上讲不论图像的精度有多高,处理总是能实现的,只要在处理时改变程序中的数组参数就可以了。3适用面宽。图像可以来自多种信息源。从图像反映的客观实体尺度看,可以小到电子显微镜图像,大到航空照片、遥感图像甚至天文望远镜图像。这些来自不同信息源的图像只要被变换为数字编码形式后,均是用二维数组表示的灰度图像组合而成,因而均可用计算机来处理。4灵活性高。由于图像的光学处理从原理上讲只能进行线性运算,极大地限制了光学图像处理能实现的目标;而数字图像处理不仅能完成线性运算,且能实现非线性处理,
22、即凡是可以用数学公式或逻辑关系来表达的一切运算均可用数字图像处理实现。5信息压缩的潜力大。数字图像中各个像素是不独立的,其相关性大。在图像画面上,经常有很多像素有相同或接近的灰度。就电视画面而言,同一行中相邻两个像素或相邻两行间的像素,其相关系数可达09以上,而相邻两帧之间的相关性比帧内相关性一般说还要大些。因此,图像处理中信息压缩的潜力很大6。武汉工程大学毕业论文6但是,数字图像的数据量庞大。处理需要计算机有足够的内外存空间,而且处理精度越高,所需要储存空间越大。庞大的数据量,对图像的存储、传输和处理都带来了困难7。162矢量图像矢量图使用直线和曲线来描述图形,这些图形的元素是一些点、线、矩
23、形、多边形、圆和弧线等等,它们都是通过数学公式计算获得的。矢量图也称为面向对象的图像或绘图图像,繁体版本上称之为向量图,是计算机图形学中用点、直线或者多边形等基于数学方程的几何图元表示图像8。矢量图优点1文件小,图像中保存的是线条和图块的信息,所以矢量图形文件与分辨率和图像大小无关,只与图像的复杂程度有关,图像文件所占的存储空间较小。2图像可以无级缩放,对图形进行缩放,旋转或变形操作时,图形不会产生锯齿效果。3可采取高分辨率印刷,矢量图形文件可以在任何输出设备打印机上以打印或印刷的最高分辨率进行打印输出。矢量图缺点最大的缺点是难以表现色彩层次丰富的逼真图像效果。相对于数字图像,矢量图像有明显的
24、优势。早在上个世纪70年代,国外就一些公司、大学就花费了大量的人力、物力、财力来研究,但是由于当时计算机理论技术的不成熟,计算机处理速度的限制,扫描技术的制约,矢量化技术研究的进程缓慢。如今,矢量化技术已经有了很好的发展条件,计算机处理速度急剧上升,扫描技术不断完善。矢量化技术将会快速发展。163数据提取与数据拟合本文主要研究的是曲线图像的数据提取和曲线图像的拟合,并不需要表现色彩的效果。查询的曲线一般都是黑白的,对于彩色的图像,还必须先将其转变灰度图像。因为所需的数据是曲线数值信息,与图像的表现效果没有关系。一般情况,数据绘制成曲线后以数字图像保存起来,但是如果保存成矢量图会有很大的好处,本
25、文研究的目的是使图像曲线能以公式的形式存在,解决的是查询图像效率低下,过程繁琐,精度不高的问题。因此,针对这类科技图像,本文利用MATLAB编写了以下程序,意在使查询自动化。武汉工程大学毕业论文717技术路线本文图像矢量化的思路读入图像图像灰度化图像二值化计算两坐标轴的比例尺删除两坐标轴的网格线对曲线取值使用多项式对提取的数值进行拟合显示拟合图像查看拟合图像的符合程度若符合要求则结束,不符合要求则改变拟合阶次再进行拟合直到符合要求武汉工程大学毕业论文8第二章科技图像矢量化21总体方案第一步矢量化图像必须先把RGB图像转化成灰度图像。第二步选择合适的阀值把灰度图像二值化。第三步求出坐标轴的比例尺
26、。第四步删除坐标轴及坐标网格。第五步提取曲线数据。第六步曲线拟合。第七步查看曲线拟合程度,若不符合要求,改变拟合方式重新拟合,直至符合要求。22流程图图21流程图读入图像并把图像二值化计算坐标轴比例尺删除坐标轴方向网格线提取曲线数据并利用比例尺修改数据利用函数进行多项式拟合并预测Y轴坐标值NY改变阶次分别使用原数据、预测数据绘制图像,对比图像查看拟合程度达到符合要求输出多项式系数,得到矢量化公式武汉工程大学毕业论文923图像二值化本文研究时所使用的图像如下图22扫描原图像图像是普通数字图像。人眼视网膜中存在着对不同光谱(红、绿、蓝)敏感的三种锥状细胞,由这三种锥状细胞,人类产生自然界所有彩色的
27、感知觉。科学实验与分析表明,自然界里常见的各种色光都可以由红、绿、蓝三种色光、按不同比例相配二成,同样,绝大多数色光也可以分解成红、绿、蓝三种色光。这便是色度学中的最基本原理三基色原理。三基色的选择不是唯一的,也可以选择其他三种颜色为三基色。但是三种基色必须是相互独立的,即任何一种颜色都不能由其他两种颜色合成9。在MATLAB中,每张图片点分别为红、绿、蓝三个矩阵,即RGB图像。每种颜色都有256个亮度水平极,矩阵中的值就为0到255。因为曲线拟合所需要是的二值图像。所以要二值化。先把图像读入图MATLAB软件中,图像在MATLAB中以矩阵形式存在,再把图像转化成灰度图,然后二值化。程序如下A
28、IMREADCUSERSLIANGDESKTOPMATLAB2010B623JPGFIGURE1IMSHOWABRGB2GRAYAFIGURE2IMSHOWB武汉工程大学毕业论文10MNSIZEBMAMAXMAXBMIMINMINBLIMENMAMI/2CBLIMEN50FIGURE3IMSHOWC图像经过二值化处理后,在MATLAB中以0、1矩阵形式储存,为之后的工作做准备,这个过程是对图像的预处理。编辑程序时首先选用矩阵数值中的最大值和最小值取取中值作为阀值,运行后,发现显示图像结果不理想,于是把阀值减小,达到需要的效果。当阀值太大时,许多不必要的数据被保留下来,非曲线数据保留过多会对拟合
29、产生影响;当阀值减小时,虽然可能会误删掉曲线上的一些数据,但曲线数据整体变化趋势不受影响,因而对后期数据拟合没有负面影响。所以阀值选择应当小些。运行程序后得到以下图像图23原图象武汉工程大学毕业论文11图24灰度图像图25二值化图像24求坐标比例尺MATLAB以矩阵数据读取图片,对于灰度图像,每个像素点就是一个数据。当转化为二值图像后,数据就是0和1,0表示黑色,1表示白色。MATLAB无法自动识别图像自身的比例尺,只能识别出一个个的像素,一个像素作为一个单位,所以必须求出每个像素点所代表的具体长度,把像素点折算成真实的比例尺。武汉工程大学毕业论文12241Y轴方向比例尺在Y轴方向上合理选取一
30、条直线,本文选择的是X620的直线。直线穿过所有X轴方向的坐标网格,与每条X轴方向的坐标网格线有一个交点,利用程序记录下每个交点的Y值。因为每一条网格线不只是一个像素点,不能直接取值,采用以下方法解决1从下至上对X620直线扫描,记录下所以与X轴方向坐标网格线的交点的数据U1。2由于坐标网格线非常细,而且网格线之间的间隔很大,所以按照每个间隔把坐标网格线分成若干组,每组的数据是相连的。我们记录每组数据中最小的一个V1。3把记录的数据加起来,除以间隔数。求得间隔间的像素个数。4对求得的数据圆整。程序如下程序1记录交点数据U1I1K1J620FORI1MIFCI,J0U1KIKK1ENDEND程序
31、2计算Y轴比例尺J1XK2V11U11FORI1XIFU1I1V1J25JJ1V1JU1I1ENDENDSUM10武汉工程大学毕业论文13FORI1J2SUM1SUM1V1I1V1IENDBIYSUM1/J2BILIYROUNDBIY运行以上程序求得Y轴比例尺BILIY33BILIY33表示两坐标网格线内有33个像素点,即在MATLAB中对应有33个数据,从图22中可以看到纵坐标两网格间的值是5N。所以纵坐标比例尺为5/33(N)每像素点。关于直线的选取,这里本文选择的是X620图像中不仅有坐标网格,还存在曲线,因此,记录交点数据U1时程序会把与曲线的交点也记录在内,这种交点是不应该记录的,但
32、是交点的存在不可避免。因此,选择直线时尽量选择那些直线与曲线交点和直线与坐标网格交点相近的直线,以减少不必要的误差。另外,可以通过改变记录数据V1的判断来减小误差。V1的判断标准是U1(1)即是V1(1),此后若U1I1V1J25,即U1(I)减去循环内上一步所得的V(J)差值大于25就记录V的值。把数值设置得大些就可以避免穿过两坐标网格线的曲线被记录。但是数值不能大于两坐标网格线距离,否则会有网格线不能被记录。242X轴方向比例尺利用同样的方式,在X轴方向上合理选取一条直线,本文选择的是Y307的直线。直线穿过所有Y轴方向的坐标网格,与每条Y轴方向的坐标网格线有一个交点,利用程序记录下每个交
33、点的X值。步骤如下1从左至右对Y307直线扫描,记录下所以与Y轴方向坐标网格线的交点的数据U2。2由于曲线非常细,而曲线之间的间隔很大,所以按照每个间隔把曲线分成若干组,每组的数据是相连的。我们记录每组数据中最小的一个V2。3把记录的数据加起来,除以间隔数。求得间隔间的像素个数。4对求得的数据圆整。程序如下程序1记录交点数据U2武汉工程大学毕业论文14J1K1I307FORJ1NIFCI,J0U2KJKK1ENDEND程序2计算X轴比例尺J1XK2V21U21FORI1XIFU2I1V2J30JJ1V2JU2I1ENDENDSUM20FORI1J2SUM2SUM2V2I1V2IENDBIXSU
34、M2/J2BILIXROUNDBIX运行以上程序求得X轴比例尺BILIX50BILIX50表示两坐标网格线内有50个像素点,即在MATLAB中对应有55个数据,从原图可以看到纵坐标有两网格间的值是1MM。所以纵坐标比例尺为1/50MM每像素点。直线的选取方式和Y轴时一样。武汉工程大学毕业论文1525删除坐标轴及坐标网格取值的时候必须是纯粹的曲线,否则其他数据会对拟合造成干扰。因为图像上有坐标网格线,必须先将其删除。删除的方式有很多种1对图像矩阵全盘扫描,把曲线以外的部分全部置为1,即白色。这种方法实现比较困难,困难之处在于要区分曲线和网格线;另外,因为要对图像矩阵全盘扫描,所以花费的时间比较长
35、,对于数据量大的图像来说,扫描时间所占的比例就不能忽视了。2对特定的区域直接置1。之前已经通过程序求得了比例尺,求得了网格线之间的像素点个数,利用这个数据,可以把网格线所在的行和列全部置1,因为网格线不仅仅是一个像素点,所以把V1、V2扩大,即把V1、V2附近的行和列全部删除。这样,完全可以省去区分曲线和坐标网格线的程序,而且,仅对特定的行和列扫描置1,相对而言,计算量小得多,并可以省去很多时间。当然直接删除特定的行和列必然会对原有曲线造成影响,曲线会因为这个操作变得分段,但这对于曲线变化趋势没有影响,对曲线的拟合来说影响不大。基于上述原因,我们选择第二种方案。251删除X轴网格线程序如下FO
36、RI117FORXV1I3V1I2FORJ1NCX,J1ENDENDENDIMSHOWC运行程序得到图像武汉工程大学毕业论文16图26删除X轴网格线图像252删除Y轴网格线程序如下FORJ115FORXV2J2V2J3FORI1MCI,X1ENDENDENDIMSHOWC运行程序得到图像武汉工程大学毕业论文17图27删除X、Y轴网格线图像可以看到,删除了X轴和Y轴网格线后,图像只剩下曲线,曲线变得间断,但曲线的变化趋势没有受到影响,曲线的拟合结果不会受到影响。26提取曲线数据删除坐标网格线,为数据的提取做好了准备。使用FIND函数提取图像矩阵剩余的数据。FIND函数可以查找出图像矩阵中的非零元
37、素。因为FIND函数查找的是非零元素,所以必须先将图像取反。由于曲线在每行每列上不是单个像素组成的,而我们只需要在每行每列上保留一个数据。解决方法有几种1先把曲线细化,再取值。2取得曲线上某一条轨迹来代替曲线,例如曲线的上表面、下表面、中心线。若选用方案一,先把曲线细化再取值,试验发现细化过程比较困难,不容易实现。若选用方案二,使用曲线上的一条轨迹来代替曲线本身,若使用中心线,结果比较精确,但过程复杂,且不容易找出中心线,而且,当曲线在行和列方向上像素点数量为偶数时,不存在中心线,若选择使用上表面或者下表面,则会造成拟合曲线不精确,拟合的结果为曲线上一条轨迹,选用上表面时拟合结果偏大,选择下表
38、面时,拟合结果偏小。由于拟合曲线的对曲线的精确度要求不高,考虑到细化的困难程度,本文选用方案二,武汉工程大学毕业论文18并选择使用曲线的上表面代替曲线。MATLAB中FIND函数查找元素的时候是先按列查找,再每列由上至下顺序查找。因此查找出的元素列的值与图像上原有的坐标系不同。原图像坐标系Y轴正方向自下而上,MATLAB中坐标系Y轴正方向自上而下。所以FIND函数求出来的列坐标需要换算。换算方法是用图像在列方向上的总长度减去求得的坐标值。程序如下DCX,YFINDDI1TSIZEXFORK12TIFXK11XK10X1IXK11Y1K11YK11II1ENDENDY1FINDY10X2MX1运
39、行程序后得到X轴坐标Y1Y轴坐标X1数值取反后图像武汉工程大学毕业论文19图28数值取反图像FIND函数用于找到非零元素的索引和值语法1INDFINDX2INDFINDX,K3INDFINDX,K,FIRST4INDFINDX,K,LAST5ROW,COLFINDX,6ROW,COL,VFINDX,说明1INDFINDX找出矩阵X中的所有非零元素,并将这些元素的线性索引值(LINEARINDICES按列)返回到向量IND中。如果X是一个行向量,则IND是一个行向量;否则,IND是一个列向量。如果X不含非零元素或是一个空矩阵,则IND是一个空矩阵。2INDFINDX,K或3INDFINDX,K,
40、FIRST返回第一个非零元素K的索引值。K必须是一个正数,但是它可以是任何数字数值类型。武汉工程大学毕业论文204INDFINDX,K,LAST返回最后一个非零元素K的索引值。5ROW,COLFINDX,返回矩阵X中非零元素的行和列的索引值。6ROW,COL,VFINDX,返回X中非零元素的一个列或行向量V,同时返回行和列的索引值。如果X是一个逻辑表示,则V是一个逻辑矩阵。输出向量V包含通过评估X表示得到的逻辑矩阵的非零元素。27曲线拟合曲线拟合步骤1按照比例尺转换数据,MATLAB读取的数据值是按照图像像素读取的,需要先转换原图像比例才能拟合成要求的曲线。2使用PLOYFIT把提取的数据还原
41、成曲线,查看还原情况。3使用PLOYVAL函数预测曲线坐标Y方向的值。4使用PLOT函数把预测值绘制成曲线5使用PLOT函数把原数据绘制的图像和预测值绘制的图像做对比,查看拟合曲线的符合程度。拟合曲线所使用的是POLYFIT函数,即多项式拟合函数。PPOLYFIT(X,Y,N)其中X为源数据点对应的横坐标,可为行向量、矩阵,Y为源数据点对应的纵坐标,可为行向量、矩阵,N为你要拟合的阶数,一阶直线拟合,二阶抛物线拟合,并非阶次越高越好,看拟合情况而定。理论上,N1个数据点可以唯一地确定N阶多项式。实际上,如果多项式的阶数过高,虽然数据点上看到效果好,但数据点之间会出现数据振荡的问题,而且计算时间
42、长;但如果阶数选择得过小,则拟合效果不好。因此应合理选择阶数。POLYFIT函数PPOLYFITX,Y,N在最小二乘意义上,将数据YI拟合为N阶多项式这P(X(I),并返回多项式。结果P是长度为N1的行向量,N阶多项式的形式为武汉工程大学毕业论文211121NNNNPXPXPXPXPP,SPOLYFITX,Y,N返回多项式系数P和结构S。S用于POLYVAL函数,可进行行误差估计或预测。如果数据Y的误差服从方差为常数的独立正态分布,则函数POLYVAL产生的误差估计至少包含50预测。POLYVAL函数功能多项式预测。YPOLYVALP,X,Y,DELTAPOLYVALP,X,S说明YPOLYV
43、ALP,X返回给定系数P的多项式在X处的预测值。Y,DELTAPOLYVALP,X,S用于POLYVAL的可选输出S给出误差估计,YDELTA。如果POLYVAL的输入数据Y的误差服从方差为常数的独立正态分布,则函数POLYVAL产生的误差估计YDELTA至少包含预测值的50。如果P是向量,其向量其元素为按幂给出的多项式系数,则POLYVALP,X为X处多项式的预测值。如果X为举证或向量,则给出X的每个元素处的预测值10。曲线拟合程序Y1Y1/BILIXX25X2/BILIYPPOLYFITY1,X2,10P,SPOLYFITY1,X2,10FIGURE1PLOTY1,X2GRIDONX300
44、1N/BILIXY3POLYVALP,X3FIGURE2PLOTX3,Y3GRIDON武汉工程大学毕业论文22FIGURE3PLOTX3,Y3,Y1,X2GRIDON曲线拟合采用的是10阶多项式拟合。运行程序得到原数据还原图像29、拟合曲线图像210、拟合前后对比图像211图29原数据还原曲线图210拟合曲线图像武汉工程大学毕业论文23图211拟合前后对比图像通过程序可以知道多项式系数P的值P00000000000000600100008950459411684037726863534366428896最后得到矢量化公式1121876543200006001008950459411684037
45、726863534366428896NNNNYXPXPXPXPXXXXXXXX武汉工程大学毕业论文24第三章结论31结论本文介阐述了MATLAB图像处理的问题。介绍了一种把图像曲线矢量化的方法。使用MATLAB软件对曲线图像进行处理,对曲线进行扫描,求出曲线比例尺,提取出曲线数据,把数据按照比例尺转化成正确数据,再利用函数进行多项式拟合。最终将曲线矢量化,得到矢量化公式。成功编写了一套程序提取数据和拟合曲线,通过对比拟合前后的曲线,证实了拟合的曲线符合要求,同时也证实了使用计算机代替人工查询图表的可能性。32展望使用计算机查询图像更加精确,并且可以避免由于操作原因带了的不必要的误差,可以大大提
46、高查询的效率。本文主要是对MATLAB的图像矢量化的简单了解,所采用的研究方法尚有不足之处,在求坐标比例尺时,需要合理的选择一条直线,因而在通用性方面有所欠缺。未来的工作是把程序写得更加简洁,通用性更好。另外,本文并没有考虑扫描时坐标倾斜放置的情况,下一步的工作是解决这个问题。武汉工程大学毕业论文25参考文献1史桂娴,张平栅格图像矢量化方法及其研究进展J电脑知识与技术200833147814792彭荣杰图像矢量化方法研究与应用硕士学位论文,华中科技大学,20063张明君基于位图的自动矢量化技术研究硕士学位论文,西安电子科技大学,20044仵峰用MATLAB进行图形矢量化J中国农村水利水电200
47、7(8)325胡晓军,徐飞MATLAB应用图像处理M,第二版,陕西西安电子科技大学出版社,2011,136刘中合,王瑞雪,王锋德,马长青,刘贤喜数字图像处理技术现状与展望J计算机时代200977DRMANANDMTECH,YNARASIMHAREMOVALOFSALTANDPEPPERNOISEFROMHIGHLYCORRUPTEDIMAGESUSINGMEANDEVIATIONSTATISTICALPARAMETERJINTERNATIONALJOURNALONCOMPUTERSCIENCEANDENGINEERING201321131198徐志兴浅析图形图像位图矢量图JIT论坛2009(5
48、)999余成波数字图像处理及MATLAB实现M,重庆重庆大学出版社,2003,27627910陈桂明,戚红雨,潘伟MATLAB数理统计(6,X)M,北京科学出版社,2002,157158武汉工程大学毕业论文26致谢在完成毕业设计的过程中,我得到老师、同学们热心的支持和帮助,在此,我深深的感谢我的老师和同学们。毕业设计能够顺利完成,能够达到预期的结果,离不开老师的悉心指导。毕业设计过程中,老师定期询问我们的进度,为我们提供各种资料,还不时介绍各种网站、论坛让我们更好的学习。老师严谨的工作态度,积极进取的工作精神,热情耐心的指导都使我受益匪浅。这对我今后的学习、工作都有很大的帮助。张雷同学在设计过程中也帮助了我很多,在当设计遇到瓶颈时,张雷同学和我一起想办法解决,提出了一些很好的建议。我对他表示感谢。其次,我在此感谢我的父母、兄弟姐妹,因为有了他们在物质上、精神上的支持与鼓励,我才能专心的完成设计。同时我也要感谢武汉工程大学,在设计过程中,学校图书馆为我们提供了各类书籍,方便我们查询资料。最后,我再一次由衷的感谢帮助过我的老师同学朋友们。