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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

碎纸片的拼接复原数学建模B题.docx

1、碎纸片的拼接复原数学建模B题2013高教社杯全国大学生数学建模竞赛承 诺 书我们仔细阅读了全国大学生数学建模竞赛章程和全国大学生数学建模竞赛参赛规则(以下简称为“竞赛章程和参赛规则”,可从全国大学生数学建模竞赛网站下载)。我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。我们知道,抄袭别人的成果是违反竞赛章程和参赛规则的,如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。我们郑重承诺,严格遵守竞赛章程和参赛规则,以保证竞赛的公正、公

2、平性。如有违反竞赛章程和参赛规则的行为,我们将受到严肃处理。我们授权全国大学生数学建模竞赛组委会,可将我们的论文以任何形式进行公开展示(包括进行网上公示,在书籍、期刊和其他媒体进行正式或非正式发表等)。我们参赛选择的题号是(从A/B/C/D中选择一项填写): B 我们的参赛报名号为(如果赛区设置报名号的话): 所属学校(请填写完整的全名): 长春工业大学 参赛队员 (打印并签名) :1. 指导教师或指导教师组负责人 (打印并签名): 郭明浩 日期: 2013 年 9 月 15 日2013高教社杯全国大学生数学建模竞赛编 号 专 用 页赛区评阅编号(由赛区组委会评阅前进行编号):赛区评阅记录(可

3、供赛区评阅时使用):评阅人评分备注全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):摘 要传统上,拼接复原工作需由人工完成,准确率较高,但效率很低。特别是当碎片数量巨大,人工拼接很难在短时间内完成任务。BMP图像越来越多地被各种应用程序所支持,这种文件格式就是每一个像素用8bit表示,显示出来的图像是黑白效果,最黑的像素的扶度值为“0”,最白的像素的灰度值为“255”,整个图像各个像素的灰度值随机地分布在“0”到“255”的区间中,越黑的像素,其灰度值越接近于“0”,越白(即越亮)的像素,其扶度值越接近于“255”。所以图像由一个矩阵描述出来,该矩阵的结构

4、由图像的高度、宽及每点bit数决定。图像的数字化拼接的实质就是根据每幅图片接口像素的相似性来对每个图片进行拼接。首先我们对多个碎片同时扫描或拍照,得到256级的灰度BMP图像,然后通过MATLAB的图像处理工具箱中的ImMatrix函数对BMP文件进行矩阵数字化,得到每幅图片的像素矩阵图,但是由于数码相机自身和拍照时光线阴暗程度的影响,所得到的数据本身或多或少会存在一定的误差,测得的数据往往会存在误差,所以需要进行数据预处理,而“高斯滤波数据预处理”往往可以使数据变得平滑、排除噪声数据和异常数据、压缩和归并冗余数据、遗失点补齐、数据分块保持原数据的形貌等,然后将处理完的数据运用c语言编程的算法

5、来进行图片的拼接,如果多个图片的断面处刚好处在空白的时候,其接口的像素矩阵会完全相同,这时会出现误配的情况,所以在这种情况下我们必须在拼接的过程中加入人工干预。这种半自动拼接方法综合利用了计算机高速计算能力以及人的文字图像识别和理解能力,拼接效率比纯人工高,拼接准确性也好于纯计算机拼接法。我们利用图像的图像矩阵数字化处理思想,根据已有的附件资料,将碎纸片的拼接问题转化成了像素矩阵相似的问题,并给出了矩阵相似度对比依据和算法,并且进行了实验,证明了图像的数字化拼接的合理性和可行性。关键词:图像的数字化拼接;矩阵的相似度;ImMatrix函数;人工干预;像素矩阵;B题 碎纸片的拼接复原一:问题重述

6、破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有着重要的应用。传统上,拼接复原工作需由人工完成,准确率较高,但效率很低。特别是当碎片数量巨大,人工拼接很难在短时间内完成任务。随着计算机技术的发展,人们试图开发碎纸片的自动拼接技术,以提高拼接复原效率。请讨论以下问题:1. 对于给定的来自同一页印刷文字文件的碎纸机破碎纸片(仅纵切),建立碎纸片拼接复原模型和算法,并针对附件1、附件2给出的中、英文各一页文件的碎片数据进行拼接复原。如果复原过程需要人工干预,请写出干预方式及干预的时间节点。复原结果以图片形式及表格形式表达(见【结果表达格式说明】)。2. 对于碎纸机既纵切又横切的情

7、形,请设计碎纸片拼接复原模型和算法,并针对附件3、附件4给出的中、英文各一页文件的碎片数据进行拼接复原。如果复原过程需要人工干预,请写出干预方式及干预的时间节点。复原结果表达要求同上。3. 上述所给碎片数据均为单面打印文件,从现实情形出发,还可能有双面打印文件的碎纸片拼接复原问题需要解决。附件5给出的是一页英文印刷文字双面打印文件的碎片数据。请尝试设计相应的碎纸片拼接复原模型与算法,并就附件5的碎片数据给出拼接复原结果,结果表达要求同上。二问题分析对于本题目类边缘相似的碎纸片的拼接,理想的计算机拼接过程应与人工拼接过程类似,即拼接时不但要考虑待拼接碎纸片边缘是否匹配,还要判断碎片内的字迹断线或

8、碎片内的文字内容是否匹配,然而由于理论和技术的限制,让计算机具备类似人那种识别碎片边缘的字迹断线、以及理解碎片内文字图像含义的智能几乎不太可能。现在利用MATLAB和相应的图像处理工具,完全可以获取碎片文字图像所在接口特征信息转化为图片上的像素矩阵数字特征,拼接碎片时如利用这些信息进行拼接,其拼接效率无疑比单纯利用边界几何特征方法要好些。由于大多数文字文字行方向和表格线方向平行,如果碎片内的文字碎片边缘断裂,那么与它相邻的碎纸片在边缘处的像素矩阵一定有高度的相似度,凭此特征可以很容易地从形状相似的多碎片中挑选出相邻碎片。因文字间的像素数字矩阵相似度的识别比字迹断线识别和文字图像的理解实现起来要

9、容易得多,利用碎片内文字像素数字矩阵特征拼接形状相似的碎纸片理论上是可行的。另一方面由于计算机数字分析图像能力的缺陷,让计算机对碎片进行完全意义上的自动化拼接也几乎不太可能,为保证拼接的准确性,需要在拼接过程中加入人工干扰过程。一般而言拼接碎片时先利用计算机搜索与目标碎片匹配的未拼接碎片,并根据匹配程度按顺序显示待选碎片,操作员再根据人脑进一步分析结果舍弃或拼接待选碎片。对于图像的数字化拼接的合理性可通过对题目所给附件的数据处理,并用MATLAB进行算法的编程,对附件来进行图片拼接训练,来验证其合理性。三模型假设(1)设图像的像素足够大;(2)碎纸片边缘整齐、平滑;(3)碎纸片的文字的方向是可

10、识别和确定的;(4)附件提供的图片边缘像素与实际碎纸片无差异;(5)碎纸片中的文字高度、大小、间距保持一致;(6)附件中的碎纸片都来源于同一张纸;四符号说明:图片数字化处理后得到的左边缘矩阵:图片数字化处理后得到的右边缘矩阵:图片数字化处理后得到的上边缘矩阵:图片数字化处理后得到的下边缘矩阵其中 五模型的建立与求解5.1 问题1的模型建立与求解5.1.1数据的获取通过对问题一的题设和对附件一和附件二的图片进行分析和编号后,可使用MATLAB调用ImMatrix函数或者使用图像工具箱里的Image Tool对各个BMP图片文件进行矩阵数字化,得到19组矩阵图。如图一就是附件一图片000进行数字化

11、处理后的结果。图一:图片000数字化处理结果图当对图一局部进行放大我们就会看到如图二的结果:图图二:图一局部放大结果图MATLAB调用的ImMatrix函数和图像工具箱里的Image Tool会将图片数字化,从图中可看出最黑的像素的扶度值为“0”,最白的像素的灰度值为“255”,整个图像各个像素的灰度值随机地分布在“0”到“255”的区间中,越黑的像素,其灰度值越接近于“0”,越白(即越亮)的像素,其扶度值越接近于“255”。所以附件一和二的图片都可以用矩阵的形式描述了出来。每个图片的矩阵第一列和最后一列相当于每个图片切口边缘处,所以矩阵的边缘处对碎纸片的拼接起着重要的作用,但是由于外界的各种

12、因素的干扰和测量仪器本身因素影响的存在,边缘的扶度值字样中会存在各种误差,对这些数据进行取样研究之前首先要对数据进行预处理。5.1.2数据的预处理噪音的处理:由采样点所建立的计算机模型把它叫做数字样件。对提取的数字样件进行滤波主要有两个目的:(1)去除毛刺和噪音。由于受各种因素的影响,物理的因素(小的碎片的丢失,磨损、边缘的腐蚀以及表面的不规则),仪器的因素(视觉、阴影、图像的量化),这样在数字样件中会存在各种误差(如数据、噪音数据等),如不消除,这些误差数据将会直接影响重建模型的质量,从而影响匹配,因此在模型重建之前,就要对数字进行滤波等处理。数据的简化和数据的光顺是数据预处理的两个重要组成

13、部分。数字化样件中包含各种不理想的数据。对错误的数据,可用交互处理的方法迸行去除;对于误差数据,大体可分为毛刺数据和噪音两种。对于毛刺数据,可以直接删除;将这点移到一个中值点;在允许的误差范围内,将其沿某一方向移动一段距离。(2)简化模型。滤波可以简化模型的复杂程度,减少工作量,提高匹配的运算速度。现有针对数据点的滤波方法有很多本文实现的有序数据的滤波与数据的组织形式无关,其基础是k,邻近的建立。滤波后的数据点的新点可用矢量表示为: (1)其中为所调整的距离向量,为调整的步长参数。待过滤波的数据点作切线,则-邻近点集中的数据点到此切线的有向距离为。通过对有向距离的滤波,可实现数据点的滤波。滤波

14、器的阶数据可取不大于的整数。平均滤波:平均滤波也叫均值滤波,是一种简单的的线性滤波。一次滤波后数据点的法矢取为点集的数据点法矢的平均值;相应的,式中的有向距离向量可取为: (2)在实际计算是采用取均值的方法进行化简。值得注意的是:当的取值很大时,均值滤波会使数据趋于平坦,丢失匹配信息,可以通过调整的取值,在细节保留与滤波效果之间达到平衡,能较好地消除噪声数据的影响,同时它的滤波阶数也为重新采样提供了统一的步长。二值化处理:设定一个全局的阈值T,用T将图像的数据分成两部分:大于T的像素群和小于T的像素群。将大于T的像素群的像素值设定为白色(像素为255),小于T的像素群的像素值设定为黑色(像素为

15、零)。5.1.3问题一的求解由于外界环境和测量仪器自身的误差的影响,仅仅取一列边缘的数字矩阵是不够的,数据经过去噪音和二值化处理后,我们取每幅图片相邻的两列边缘矩阵并相互进行对比,根据这两列的边缘矩阵数字的相似性进行匹配和相应的c语言算法(C+程序一)计算,发现附件一的图片004的右边矩阵边缘数字与图片005左边边缘、010右边边缘和002左边和附件二的015右边和003左边的矩阵相识度最大。如图三: 图三:附件一和附件二的三组图片的边缘数字矩阵的对比图 又因为像素矩阵数字化拼接方法与字体种类无关,所以根据矩阵矩阵边缘数列的相似性,我们可以将附件一和附件二中的图片进行拼接,运用c语言所编的算法

16、程序一(见附录1)实现比较矩阵是否相似,和实现图片拼接序号的输出。像素矩阵数字化碎纸片的拼接的具体操作流程(见图四)拼接附件。图四:像素矩阵数字化半自动拼接流程图复原后的图片序号顺序和图像为:附件一图片拼接顺序号:008014012015003010002016001004005009013018011007017000006运用MATLAB的数组拼接程序(MATLAB程序一)对图片进行拼接得到附件一原图如下:图五:附件一碎纸片复原图附件二图片拼接顺序号:003006002007015018011000005001009013010008012014017016004运用MATLAB的数组拼接

17、程序(MATLAB程序二)对图片进行拼接得到附件一原图如下:图六:附件二碎纸片复原图6.1 问题2的模型建立与求解6.1.1:问题二的求解通过对问题二和问题二中所给的附件来分析,同样可以运用求解问题一中的C+程序一来进行匹配,由于此问中的附件是对于纸片既纵切又横切的情形,对问题一的求解过程来说相对复杂,但是像素矩阵数字化拼接的主体思想和方法并不变。首先利用同样的数字化取样方法将既纵切又横切的图片进行像素数字化,然后用“高斯滤波数据预处理”将数据预处理,然后运用C+程序比较边缘矩阵是否相似并实现图片拼接序号的输出。对于问题二解决关键在于原图四周边缘的确定:(1)将所有图片的数字矩阵上片用MATL

18、AB截取上a行(a的确定是根据具体大小纸条的规格人工干预而定。)对比每个图片所截下来的a行矩阵,将a行矩阵相似的分为一类。(2)将剩下的图片按照步骤二中取下b行、分类。(3)剩下的图片取左c行、分类。(4)将剩下的图片取右d行、分类。(5)将所分出来得四类图片用程序一进行匹配,将原图边缘拼出,并将待定图片人为干预拼接。中心部分图片的确定:(1)从已经拼好的左边缘第二张开始,取其中的一部分的行列作为矩阵与其它剩余的图片中取相同矩阵(此矩阵全部为255)作比较,确定相同矩阵为一类。(2)将第一步中分出的一类按照第一题的过程解答。(3)以左边缘第三张开始,将剩余图片重复一、二步。(4)最后将无法识别

19、的图片人工干预进行拼接。(5)最后用程序一来实现图片拼接序号的输出。具体的拼接流程如图七:图七:像素矩阵数字化半自动拼接流程图复原后的图片序号顺序和图像为:附件三图片拼接顺序号:0490540651431860020571921781181900950110221290280911881410610190780670690991620961310790631161630720061770200520361681000760621420300410231471910501791200861950260010870180381480461610240350811891221031301930881

20、670250080091050740141280031590821991350120731602031691340390310511071151760940340841830900471210421241440771121499713616412705804312501318210919701618411018706610615002117315718120413914502906411220100509218004803707505504420601010409817217105900720813815812606817504517400013705305609315307016603219

21、60711560831322000170800332021980151331702050851521650270600891461021541140401512071551401851081170041011131941191237.1 问题3的模型建立与求解由于我们所用程序算法、计算量的庞大和所学知识的有限,在规定时间内无法复原附件四和五中的图片。六模型评价本文提出了基于碎片文字接口边缘处的像素数字特征的碎片半自动拼接方法,主要介绍了碎片文字边缘像素矩阵的获取方法以及碎片之间矩阵相似度的碎片半自动拼接算法,该算法不依赖于碎片几何特征实现简单,可靠性比较好。还对算法的计算工作量进行了分析,分析

22、表明,对大多数碎片总数小于200的实际碎纸片。拼接计算工作量在允许范围内,如果对算法作些改进,拼接计算量可大幅度减小。本文提出的碎纸片半自动拼揍方法适用于任意大小、任意边缘形状的文档碎纸片的拼接,根据提出拼接算法研制了拼接程序,并对一实际碎纸片进行了拼接试验,试验表明本文提出的半自动拼接算法可靠性比较好,是有效的拼接算法。但是在数据处理时,由于要对数据进行预处理,这样会使很多匹配特征丢失,使匹配的候选增加。所以在确定匹配时,还要设法减少滤波的阶数,以便在候选中确定真正的匹配。参考文献1 陶波;于志伟;郑筱祥 图像的自动拼接1997(04)2 周鹏;潭勇;徐守时 基于角点检测图像配准的一种新算法

23、期刊论文-中国科学技术大学学报2002(04)3.LuoZhizhong On polygon approximation of scrapped paper edge 20114.DeSmet P Semi-automatic Forensic reconstruction of ripped-up documents 20095.AC,ChanCF Pointdataprocessingand erroranalysisin reverseengineeringInternational Journal of AdvancedManufacturing Technology,1 998,1

24、4f11):8248346.T帕夫利迪斯美计算机图形显示和图像处理的算法科学出版社19877.Tamas Varady,Ralph Martin,Jordan Cox.Reverse engineering Of geometricmodelsan introduction.ComputerAided Design,1997,29(4):2532688.Huang MC,Tai CC.The Pre-processing of data poims for curve fitting in reverse engineering International Journal of Advance

25、d Manufacturing Technology.2000,16(9):635642附录C+程序一:#include#include#includeusing namespace std;int lleft20300; /每张左边int rright20300; /每张右边int main() FILE *fp; fp=fopen(file.in,r); for(int j=0;j1980;j+) for(int i=0;i19;i+) fscanf(fp,%d,&lleftij); /输入数据 for(int j=0;j1980;j+) for(int i=0;i19;i+) fscan

26、f(fp,%d,&rrightij); /依然输入数据 fclose(fp); int temp=1; int maxleft; int maxright; for(int i=0;i19;i+) for(int j=0;j1980;j+) if(lleftij!=255) temp=0; break; else temp=1; if(temp!=0) couti+1endl; /输出最左的一张的编号; maxleft=i+1; break; temp=0; for(int i=0;i19;i+) for(int j=0;j1980;j+) if(rrightij!=255) temp=0;

27、break; else temp=1; if(temp!=0) couti+1endl; /输出最右的一张的编号; maxright=i+1; break; int temp2=-1; int temp3=0; int num=maxleft-1; int num2; int ppast20=-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1; ppast0=maxleft-1; for(int k=1;k=18;k+) /第k左一张右侧与其余张左侧相匹配 for(int i=0;i19;i+) if(i=ppast0) co

28、ntinue; if(i=ppast1) continue; if(i=ppast2) continue; if(i=ppast3) continue; if(i=ppast4) continue; if(i=ppast5) continue; if(i=ppast6) continue; if(i=ppast7) continue; if(i=ppast8) continue; if(i=ppast9) continue; if(i=ppast10) continue; if(i=ppast11) continue; if(i=ppast12) continue; if(i=ppast13) continue; if(i=ppast14) continue; if(i=ppast15) continue; if(i=ppast16)

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

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