年全国大学生数学建模竞赛—B题—碎纸片的拼接复原
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2013高教社杯全国大学生数学建模竞赛
承诺书
我们仔细阅读了《全国大学生数学建模竞赛章程》和《全国大学生数学建模竞赛参赛规则》(以下简称为“竞赛章程和参赛规则”,可从全国大学生数学建模竞赛网站下载)。
我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
我们知道,抄袭别人的成果是违反竞赛章程和参赛规则的,如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。
我们郑重承诺,严格遵守竞赛章程和参赛规则,以保证竞赛的公正、公平性。如有违反竞赛章程和参赛规则的行为,我们将受到严肃处理。
我们授权全国大学生数学建模竞赛组委会,可将我们的论文以任何形式进行公开展示(包括进行网上公示,在书籍、期刊和其他媒体进行正式或非正式发表等)。
我们参赛选择的题号是(从A/B/C/D中选择一项填写): B 我们的参赛报名号为(如果赛区设置报名号的话):
所属学校(请填写完整的全名):西华大学
参赛队员 (打印并签名) :1. 杨尚安
2. 刘洋
3. 叶军
指导教师或指导教师组负责人 (打印并签名):
(论文纸质版与电子版中的以上信息必须一致,只是电子版中无需签名。以上内容请仔细核对,提交后将不再允许做任何修改。如填写错误,论文可能被取消评奖资格。)
日期: 2013 年 09 月 15 日赛区评阅编号(由赛区组委会评阅前进行编号):
2013高教社杯全国大学生数学建模竞赛
编号专用页
赛区评阅编号(由赛区组委会评阅前进行编号):
全国评阅编号(由全国组委会评阅前进行编号):
碎纸片的拼接复原
摘要
本文通过分析题中相关要求及条件,建立数学模型解决了各种规则碎纸片的拼接复原问题。
针对问题一,首先将题中所给图片导入matlab软件,利用imread函数得到每张图片的文字灰度像素矩阵,再取出所有矩阵左、右列,建立像素绝对差拟配模型,得到拟配程度最高的两幅图片,进行拼接,出现不合理拼接情况则进行人工干预,最后重复上述过程,完成全部拼接并导出图像。
针对问题二,首先将全部碎片导入matlab软件,经过处理得到每张碎片中符号距离碎片上下端的像素位,再根据分类聚类思想,利用excel表格处理,将所有具有“相同”像素位的图片分为一组,得到11个分组,然后在每一个分组中建立左右连接点数目最匹配模型,再配合人工干预,将所有碎片拼接为一行图像,最后将这11行图像利用问题一中模型拼接为最终图像并打印结果。
针对问题三,首先建立一种基于K-Means局部最优性的高效聚类模型,然后根据模型利用matlab,将所给图片全部导入分类,分好类并人工调整补充后再利用matlab在每一组分类中利用问题二模型在人工干预情况下得出原始图像并打印结果。
关键词:像素绝对差拟配模型左右连接点数目最匹配模型人工干预
一、问题重述
破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有着重要的应用。传统上,拼接复原工作需由人工完成,准确率较高,但效率很低。特别是当碎片数量巨大,人工拼接很难在短时间内完成任务。随着计算机技术的发展,人们试图开发碎纸片的自动拼接技术,以提高拼接复原效率。请讨论以下问题:
1. 对于给定的来自同一页印刷文字文件的碎纸机破碎纸片(仅纵切),建立碎纸片拼接复原模型和算法,并针对附件1、附件2给出的中、英文各一页文件的碎片数据进行拼接复原。如果复原过程需要人工干预,请写出干预方式及干预的时间节点。复原结果以图片形式及表格形式表达(见【结果表达格式说明】)。
2. 对于碎纸机既纵切又横切的情形,请设计碎纸片拼接复原模型和算法,并针对附件3、附件4给出的中、英文各一页文件的碎片数据进行拼接复原。如果复原过程需要人工干预,请写出干预方式及干预的时间节点。复原结果表达要求同上。
3. 上述所给碎片数据均为单面打印文件,从现实情形出发,还可能有双面打印文件的碎纸片拼接复原问题需要解决。附件5给出的是一页英文印刷文字双面打印文件的碎片数据。请尝试设计相应的碎纸片拼接复原模型与算法,并就附件5的碎片数据给出拼接复原结果,结果表达要求同上。
二、模型假设
1、假设全部碎纸片边缘光滑
2、假设字符色调一致
3、假设字符间距相同,没有特殊情况
4、假设除字符外,页面没有其他地方具有任何色彩
5、假设英文字符书写标准,大小写字号均相同
三、符号说明
a表示灰色像素矩阵
i
n表示灰色像素矩阵的列数
m表示灰色像素矩阵的行数
i表示第几个碎片
i
a表示某个像素点
m n
b表示某灰度像素点为黑色还是白色
right表示灰色像素矩阵最右边列
)(i
(k
left表示灰色像素矩阵最左边列
)
w表示某个碎片灰色像素矩阵最左列与另一个碎片灰色像素矩阵最右列的差的绝对值的和
四、模型建立与求解
4.1问题一
4.1.1问题分析
整体来看,本问题要求利用数学模型,改原有手动拼接技术为自动或半自动拼接技术,完成题中所给的相应碎纸片的拼接复原工作。
具体操作,考虑所给碎纸片内容仅有汉字或英文,而没有颜色、大小、字形之分。因此,只能利用碎纸片中相应的文字特征进行操作,考虑碎纸片扫描进入在计算机后是以图片的形式存在,而图片又是以像素的情况组成。所以,首先可将图片导入matlab 中,以其像素为基点,得到每个图片的像素矩阵,每一像素矩阵即可表示该图片的特征。为了利用图片像素矩阵完成图片的拼接,考虑问题一只是将原图分为了19列,每一列具有1980像素,首先可根据左端全为空白,找出原图最左一列碎片,然后利用拼接好的图片最右列像素点去匹配未拼接图片的最左列像素点,使得拼接最为吻合的即为需要拼接的图片,然后拼接,再重复上述过程,直到拼接完成。具体操作流程如下:Array
图1 问题一解答流程图
4.1.2数据处理
将图片导入matlab中,然后编写程序(具体代码见附录1),可得每个碎纸片灰度
像素矩阵(碎片000局部像素点如下)。