2013高教社杯全国大学生数学建模竞赛承诺书我们仔细阅读了《全国大学生数学建模竞赛章程》和《全国大学生数学建模竞赛参赛规则》(以下简称为“竞赛章程和参赛规则”,可从全国大学生数学建模竞赛网站下载)。我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。我们知道,抄袭别人的成果是违反竞赛章程和参赛规则的,如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。我们郑重承诺,严格遵守竞赛章程和参赛规则,以保证竞赛的公正、公平性。如有违反竞赛章程和参赛规则的行为,我们将受到严肃处理。我们授权全国大学生数学建模竞赛组委会,可将我们的论文以任何形式进行公开展示(包括进行网上公示,在书籍、期刊和其他媒体进行正式或非正式发表等)。我们参赛选择的题号是(从A/B/C/D中选择一项填写):B我们的参赛报名号为(如果赛区设置报名号的话):本10队所属学校(请填写完整的全名):参赛队员(打印并签名):1.2.3.指导教师或指导教师组负责人(打印并签名):(论文纸质版与电子版中的以上信息必须一致,只是电子版中无需签名。以上内容请仔细核对,提交后将不再允许做任何修改。如填写错误,论文可能被取消评奖资格。)日期:2013年9月16日赛区评阅编号(由赛区组委会评阅前进行编号):2013高教社杯全国大学生数学建模竞赛编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):赛区评阅记录(可供赛区评阅时使用):评阅人评分备注全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):1碎纸片的拼接复原摘要破碎文件的拼接在历史文献修复和军事情报获取等领域中都发挥着重要作用,由于撕裂、切碎、污染或自然衰老等原因,原始文件的信息可能会丢失。尽管用手或某些化学过程,可能将一些原始文件恢复,但是基于图像技术的文件恢复是一种非侵入性的和高效率的方法,所以它被普遍采用。传统上,拼接复原工作需由人工完成,准确率较高,但效率很低。特别是当碎片数量巨大,人工拼接很难在短时间内完成任务。随着计算机技术的发展,人们试图开发碎纸片的自动拼接技术,以提高拼接复原效率。本文中针对问题1,读入附件所给出的图片,用自定义阈值法实现图像的二值化,得出碎纸片的匹配矩阵,根据欧氏距离计算图片之间重叠部分的相似度,再利用matlab软件进行该算法相关计算,得到碎纸片的拼接顺序,复原破碎图片。针对问题2,读入附件所给出的图片,用自定义阈值法实现图像的二值化,得出碎纸片拼接的匹配矩阵,任取一碎片并判断:(1)若被判断为图像左(右)边缘的碎片,则从该碎片右(左)边缘开始进行拼接,计算与其他碎片之间重叠部分的相似度,再利用matlab软件进行矩阵的相关计算,得到碎纸片的拼接顺序,把块状复原拼接成条状。(2)若为图像中间部分的碎片,则分别从左右两个方向进行拼接。再按问题1的方法,计算这排列好的11行碎纸条重叠部分的相似度,即用matlab软件进行此算法的相关计算,得到碎纸片的拼接顺序,复原破碎图片,问题2的相似度的计算与问题1一样,用求欧式距离的方法。针对问题3,读入附件所给出的图片,用自定义阈值法实现图像的二值化,得出碎纸片拼接的匹配矩阵,任取一碎片再进行如同问题2中拼接,即求最小欧式距离的方法,发现满足此条件的候选被拼接的碎片不唯一,则我们再用相关系数法求得该系数最接近1的碎片是我们的最佳选择,最后用matlab软件进行这个算法实现的相关计算,得到碎纸片的拼接顺序,复原破碎图片。关键词:图像碎片拼接二值化法欧氏距离相似度人工干预相关系数21.问题重述破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有着重要的应用。传统上,拼接复原工作需由人工完成,准确率较高,但效率很低。特别是当碎片数量巨大,人工拼接很难在短时间内完成任务。随着计算机技术的发展,人们试图开发碎纸片的自动拼接技术,以提高拼接复原效率。1.1破碎纸片为同一页印刷文字文件的碎纸机仅纵切得到的,建立碎纸片拼接复原模型和算法,并针对附件1、附件2给出的中、英文各一页文件的碎片数据进行拼接复原。如果复原过程需要人工干预,则写出干预方式及干预的时间节点。复原结果以图片形式及表格形式表达。1.2破碎纸片为碎纸机既纵切又横切的得到,建立碎纸片拼接复原模型和算法,并针对附件3、附件4给出的中、英文各一页文件的碎片数据进行拼接复原。如果复原过程需要人工干预,则写出干预方式及干预的时间节点。复原结果表达要求同上。1.3从现实情形出发,破碎纸片为双面打印文件的碎纸片,建立碎纸片拼接复原模型。附件5给出的是一页英文印刷文字双面打印文件的碎片数据。并就附件5的碎片数据给出拼接复原结果,结果表达要求同上。2.问题分析此题针对破碎文件的拼接,在问题1中,对给定的来自同一页印刷文字的碎纸机破碎纸片(仅纵切),建立碎纸片,拼接复原模型和算法。问题2中,来自同一页印刷文字的碎纸机破碎纸片(纵横切),建立碎纸片拼接复原模型和算法。问题3中,从现实情形出发,针对双面打印文件的碎纸片拼接复原问题的解决。设计相应的碎纸片拼接复原模型与算法。问题1:针对此题,读入附件所给的灰度图,用自定义阈值法实现图像的二值化。对于每一个碎纸片的灰度矩阵进行二值化处理。计算匹配矩阵,得出碎纸片拼接的匹配矩阵,找一张碎片的右边分别于其他碎片的左边进行匹配,直到找到相匹配的碎片为止,再把找到的碎片左边与其他碎片的右边进行匹配,直到找到相匹配的碎片为止,依次循环下去,直到拼接完成。问题2:针对此题,读入附件所给的灰度图,用自定义阈值法实现图像的二值化。对于每一个碎纸片的灰度矩阵进行二值化处理。计算匹配矩阵,得出碎纸3片拼接的匹配矩阵,这时我们需要判断碎片是左边缘还是右边缘,还是上下边缘,中心边缘,从而进行拼接,先拼行再拼列,从左往右拼,最后复原破碎图片。问题3:读入附件所给出的图片,用自定义阈值法实现图像的二值化,得出碎纸片拼接的匹配矩阵,任取一碎片再进行如同问题2中拼接,即求最小欧式距离的方法,发现满足此条件的候选被拼接的碎片不唯一,则我们再用相关系数法求得该系数最接近1的碎片是我们的最佳选择,最后用matlab软件进行这个算法实现的相关计算,得到碎纸片的拼接顺序,复原破碎图片。3.模型假设3.1假设所研究碎纸片规则且形状大小完全相同。3.2假设所研究碎纸片为平滑的。3.3假设所研究碎纸片文字方向一致。4.变量说明i表示碎纸片灰度矩阵行数j表示碎纸片灰度矩阵列数P表示碎纸片灰度矩阵P表示二值化灰度矩阵D表示欧式距离jix,表示改点的灰度值jkm,表示灰度矩阵第j列的k维坐标1,km表示灰度矩阵第1列的k维坐标jim,表示灰度矩阵第j列的k维坐标aM表示被选碎纸片第j列的i个指标所组成的向量bM表示匹配碎纸片第1列的i个指标所组成的向量C(X,Y)表示相关系数,X,Y表示两个向量5.模型的建立与求解问题一:碎纸片灰度矩阵的行列:4i=1980j=72.碎纸片灰度矩阵类型:jijiiijijiiixxxxxxxxP,1,2,1,,11,12,11,1j2,1-j2,2,22,1j1,1-j1,1,21,1xxxxxxxx二值化处理后的灰度矩阵:jiijmmmmp,1,,11,1处理后的灰度矩阵第j列为:jijijjammmmM,,1,2,1jijijjammmmM,,1,2,1处理后的灰度矩阵第1列为:1,1,11,21,1iibmmmmM运用欧氏距离得到相似度:D=1980121,,iijimm5D值越小,表明这两个碎纸片相似度越高,从而可以进行拼接,依次类推可得结果。1、将附件1中所有图片进行预处理得到灰色矩阵,再将各个矩阵的第一列和最后一列拿出,构成新的72*2的列矩阵,对此进行初始编号。2、用其中一个列矩阵的第二列与其他18个列矩阵的第一列做欧氏距离,在这十八个距离中,取最小值作为与它相似度最高的矩阵;再将取得最小值的列距阵的第二列与其他17个列矩阵的第一列做欧氏距离,在这十八个距离中,取最小值作为与它相似度最高的矩阵;依次循环直到拼接完成。matlab编程如下:imname=dir('.\*.bmp');%读入文件夹下的全部图像im_num=length(imname);%文件夹中图像的个数ininum=0;fors=1:im_numImg=imread(imname(s).name,'bmp');ifnorm(double(Img(:,1))-255)0.0001ininum=s;endendindex=[1:ininum-1,ininum+1:im_num];Img1=imread(imname(ininum).name,'bmp');%读入第一幅图像[height1,width1]=size(Img1);%得到图像的尺寸xunxu=zeros(1,im_num);%存储最终序列号xunxu(1)=ininum;result=Img1;fora=2:im_numerror=zeros(1,length(index));fortt=1:length(index)Img2=imread(imname(index(tt)).name,'bmp');%读入第一幅图像[height2,width2]=size(Img2);%得到图像的尺寸error(tt)=norm(double(Img1(:,end)-Img2(:,1)),2);end[tm,tn]=min(error);temp=imread(imname(index(tn)).name,'bmp');result=[result,temp];Img1=imread(imname(index(tn)).name,'bmp');xunxu(a)=index(tn);index=[index(1:tn-1),index(tn+1:end)];end6%result=uint8(result);%xunxu附件1的输出结果如表18141215310216145913181171706得到拼接图1:附件2输出结果表2:3627151811051913108121417164得到拼接图2:7问题二:图像拼接技术主要有以下三个步骤:图像预处理、图像配准、图像融合与边界平滑。空白的碎片通常出现在边界或分离的多个列的文档。最左边的分解特点是左边附近没有纹理或右边界有纹理,反之亦然,是最右边的边界。很明显,这两种类型的碎片可以方便验证通过检查直方图的垂直预测(即沿分解方向)。因此,他们首先,他们作为始端和终端,再建立如问题一的模型进行拼接,即求最小欧式距离的方法,用matlab软件进行此算法的相关计算,得到碎纸片的拼接顺序,复原破碎图片。8121图是具有左边缘特征的图,2图具有右边缘特征的图具体算法步骤:1、将附件3中所有图片进行预处理得到灰色矩阵,再将各个矩阵的第一列和最后一列拿出,构成新的列矩阵,对此进行初始编号。2、任取一列矩阵并判断是左边缘图还是右边缘图,若为左边缘图则从该碎片第二列开始与其他的列矩阵的第一列做欧氏距离,在这209个距离中,取最小值作为与它相似度最高的矩阵;再将取得最小值的列距阵与其他的列矩阵的第一列做欧氏距离,一次循环到该行拼接完成,直到把行都拼接完,再用问题1的方法拼接完成;若为右边缘图则从该碎片第一列开始与其他的列矩阵的第二列做欧氏距离,在这209个距离中,取最小值作它相似度最高的矩阵,将取得最小值的列距阵的第一列与其他的列矩阵的第二列做欧氏距离,一次循环到该列拼接完成,直到把列都拼接完;再用问题1的方法拼接完成。matlab编程如下:functionjudgelinespaceam=cell(1,209);dd=z