ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:392.11KB ,
资源ID:9064559      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9064559.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(复杂曲线数据提取.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

复杂曲线数据提取.docx

1、复杂曲线数据提取复杂曲线数据提取0 背景在一些情况下,需要对已经变成图像的数据再次进行研究,这就需要把图像再次还原成数据。这次项目就是要把图像上的复杂曲线再次还原为数据,但是复杂曲线提取数据并不容易,难点有:曲线数量多,曲线重合区域大,曲线颜色相同仅仅是线型不同,图片不清晰,分辨率低。对于复杂曲线数据提取问题,杭州电子科技大学计算机学院的严义给出了一种从打印图形中提取曲线数据的方法,可在占用较少内存的情况下从点阵图形中提取曲线数据,并采用区域插值的算法去除曲线中的间断点,但是提取出的数据也只是包含一条曲线。付昆昆、郑百林对于文献中图的曲线数据的提取,提出一种通过采集像素点来识别曲线坐标的方法,

2、但是此方法提到的复杂曲线是一条复杂的折线,不是由多条曲线一部分重合构成的。还有南京航空航天大学能源与动力学院的谭延峥李舜酩提出了一种针对两条曲线的识别提取算法和一种针对多条彩色曲线的识别提取算法,通过分别识别、提取、存储各曲线的坐标数据,对各曲线进行插值,仿真实现了复杂曲线图像的数据提取,但是没有办法提取多条黑色曲线数据。为解决复杂的曲线数据的提取问题,本文提出一种使用计算机和人工相结合的方法来提取曲线数据。那是因为单独使用数字图像处理技术提取曲线难以成功,因为曲线太过复杂,计算机难以识别;而使用人工提取曲线的方法费时费力,提取效果不佳。为了解决上述问题,应采取两者结合的方式,即先使用数字图像

3、处理技术对图像进行预处理,人工取一些坐标点,再使用插值的方法得到曲线数据。1实现原理为解决复杂的曲线数据的提取问题,本文提出一种 使用计算机和人工相结合的方法来提取曲线。那是因为单独使用数字图像处理技术提取曲线难以成功,因为曲线太过复杂,计算机难以识别;而使用人工提取曲线的方法费时费力,提取效果不佳。为了解决上述问题,应采取两者结合的方式,即先使用数字图像处理技术对图像进行预处理,人工取一些坐标点。为了减低误差,使用插值法对采集到的数据点进行插值进而得到曲线数据。1.1图像预处理为方便人工取点与降低干扰,首先需要对低质量图像进行预处理。因为给出的图像是真彩色图,需要把它进行图像的灰度化后再转换

4、为二值图,后用高斯滤波器等方法去除噪声的干扰。1.2插值法插值是在离散数据的基础上补插连续函数,使得这条连续曲线通过全部给定的离散数据点。在提取复杂曲线数据过程中,图像上的待提取曲线是被插值函数,人工在图像上取到的曲线点是插值节点,通过插值新生成的曲线就是插值函数。通过插值节点生成插值函数有许多方法,因为提取曲线数据是一维插值,主要有四种方法,即为:临近点插值(nearest)插值点函数值估计为与插值点最近的数据点函数值。线性插值(linear)根据相邻数据点的线性函数估计落在该区域内插值数据点的函数值。三次样条插值(spline)在相邻数据点间建立三次多项式函数,根据多项式函数确定插值数据点

5、的函数值。立方插值(cubic)通过分段立方Hermite插值方法计算插值结果,利用插值节点上的函数值与导数值来构造插值多项式。为选取最合适的插值方法,设定一个正弦函数,再在正弦曲线x的值从0到6每间隔1取一个点,共取7个点作为采样点。图1原正弦曲线如图1所示,正弦函数的图像,蓝色圆圈表示采集到的点,这些点将作为插值节点使用。图2临近插值生成的插值函数图2是使用临近插值的方法所生成的插值函数,与图1进行对比可以看出误差非常大,并且曲线一点也不光滑,提取数据的效果很差。图3线性插值生成的插值函数图3是使用线性插值的方法所生成的插值函数,可以明显的看到,数据点之间用直线连接,结果是一幅折线图,插值

6、函数的误差较大。图4样条插值生成的插值函数图4样条插值生成的插值函数,样条插值的插值函数圆滑,且非常接近被插值函数,效果很好。图5立方插值生成的插值函数图5是使用立方插值的方法所生成的插值函数,虽然曲线圆滑,但还是有一定误差,关键的是立方插值必须要求插值节点间隔相等。基于对四种方法的对比,可以清楚地看到,样条插值的误差最小,立方插值的误差次之,但是在人工取点时难以做到选取的插值节点间隔相等,所以使用样条插值作为插值的方法。2 具体步骤2.1图像预处理首先,查看图像的储存形式,如下例,图片为真彩色图,所以为了方便的取点,要对图像进行灰度化,二值化,去噪声等一系列处理,使曲线更加清晰。图6待提取数

7、据的曲线2.2确定坐标轴如果直接进行取点的话,取得的是点坐标在图像中的像素坐标,并不是对应的x与y坐标的位置,所以在人工取点之前需要先把坐标轴确定下来。确定坐标轴的方法是人工取坐标轴三个点的像素坐标与具体值,分别是:左下角x与y坐标轴最小值处的像素坐标值与具体值,右上角x与y坐标轴最大值处的像素坐标值与具体值,并将两个点坐标储存在数组。如图6图像大小为680800个像素,其中左下角坐标点的具体值为(0,0),像素坐标值为(41,783);右上角坐标值为(10,5),像素坐标值为(636,52)。注:在像素坐标轴中,原点位于整个图像的左上角,与传统坐标轴有较大的不同,在转化时要注意。这样,后面通

8、过人工采集到曲线上像素坐标通过上面四个坐标轴坐标对比便可以获得曲线上点的具体坐标。2.3人工取点为了将复杂曲线分离,采取人工鼠标在图像中的一条曲线上取一些坐标点。为了取点准确,可先对图像进行放大后使用鼠标取点,这里取到的坐标是像素坐标(像素坐标存放在数组,中),将取得的点像素坐标依据上一步坐标轴的像素坐标进行转换,得到曲线上点的真实坐标。再将真实坐标存放在数组,中。其中像素坐标与真实坐标的转换公式如下:如,在上面得例子中,。,。如图6中,人工取点后,再通过公式将像素坐标与实际坐标进行转换后,提取出的坐标如下表所示。表1 在第一条曲线上所取点2.4样条插值对获得的坐标数据进行样条插值,即在插值节

9、点的基础上生成插值函数,生成的插值函数可以看作图像上原曲线的数据。在MATLAB中,使用样条插值只需要使用interp1()函数进行插值,因为已经论证过将使用样条插值,要将interp1()函数的方式字段设置为spline。表1第一条曲线插值结果至这一步,对于复杂曲线数据中的其中一条曲线的数据已经提取完毕,接着重复上面的步骤以提取图像中的其他曲线数据,直至所有的曲线数据都被提取出来。2.5提取结果根据图像中曲线的条数,重复上面的步骤。如图6中有6条曲线,提取6条曲线后,将6条曲线绘制于坐标轴中,如下所示:图7 根据插值结果绘制新曲线3误差分析上述方法只是对图像中的数据进行了提取,并不能说明此方

10、法的准确性,为了说明方法的准确性,要对提取出的结果进行误差分析。如上例2中的图像,可以将其分为两部分:一是在图像右侧线条已经明显分开的部分;二是图像中线条缠绕的一起难以分辨的部分。我们可以分别对两部分进行误差分析,如果两部分的误差都很小,则可以说明此方法是准确的。3.1对分开部分的误差为了验证图像中线条已经分开部分的误差,可以根据对原曲线与提取曲线对比来得到误差的大小。因为上图中的曲线数据是未知的,为了验证误差可以设三条曲线分别是:y1=x2; y2=2*x2;y3=ex。并绘制成图像如下所示:图8 三条曲线图像根据上面的具体步骤对曲线数据进行提取,首先对曲线人工采点结果如下所示:表2 三条曲

11、线人工采点结果通过采集到的数据点进行插值,结果如下所示:表3 三条曲线插值结果可以根据三次样条插值的结果绘制出的曲线图像,红色的点是人工所取的点,如下所示。图9 曲线绘制结果因为曲线数据可以根据曲线公式得到的,现在可以根据采集到的插值节点通过样条插值所得到的数据,与通过误差公式可以求得的与原始数据进行对比来获得误差的大小。误差的计算公式为:在上公式中,指在曲线中第i个点,通过公式求得的真实的y坐标。是通过样条插值得到的y坐标值。指在曲线中第i个点,通过公式求得的真实的y坐标。是通过样条插值得到的y坐标值。是曲线上点的总个数。求得实例1的误差分别为:曲线y1的误差为1.78%;曲线y2的误差为0

12、.63%;曲线y3的误差为0.17%。曲线y1误差较大的原因是可能是取点不准确。3.2缠绕部分的误差对于线条缠绕在一起的部分的误差,采取的方法是找出缠绕部分的上界限与下界限,再看插值函数的值是否在上下界限之内,如果插值结果在界限之内,则可说明误差较小。如图6中,选取x坐标为2-3之间的位置进行误差分析,具体位置如下所示:图10 对缠绕部分截取位置在上图中选取红色方框位置作为缠在一起的误差分析。对此部分进行膨胀可以得到如下图,并提取下图黑色部分的上下界,并将上下界转换为实际坐标,得到上下界两条曲线数据。图11 截取部分进行放大膨胀后图像表4 截取部分上界与下界表5 第一条与第六条曲线数据因为第一条曲线是位置最高的曲线,第六条曲线是位置最低的曲线,如果这两条曲线在上下界内,则说明误差较小。而根据表5可以看出,插值得到的曲线数据皆在上下界之间,提取得到的曲线数据误差不大。4结论对于类似上例的复杂曲线数据的提取,可以按照如下步骤进行处理。(1)对不清晰,干扰大的图像先进行图像预处理,可以通过阈值化、滤波、二值化等方法初步去除噪声等干扰。(2)确定图像中坐标轴位置与坐标刻度,使图像中的像素坐标转换为真实坐标。(3)在曲线上进行人工取点,对于取到的坐标点进行样条插值,生成一条曲线,新生成的曲线就是提取出的原曲线数据。(4)通过本方法得到的曲线与原始曲线相比,数据非常吻合,误差也相对较小。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1