碎纸片的拼接复原问题

  • 格式:doc
  • 大小:1.07 MB
  • 文档页数:22

2013高教社杯全国大学生数学建模竞赛编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):碎纸片的拼接复原问题摘要破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有着重要的应用。

本文针对已给图像先进行了图片灰度二值化处理得到碎纸片的像素矩阵,提取碎纸片的边缘像素矩阵,对边缘矩阵进行相似度分析,相似度的度量采用向量距离平方和最小化,在相似度度量中设置阈值、对相近相似度的候选纸片进行人工干预、对数据量较大的附件,采用文本特征,如页边距、行距进行筛选,降低计算量,提高计算精度。

使用Matlab软件编程实现了上述算法,在对附件的拼接中通过少量的人工干预,可实现纸片的完整拼接,效果较好。

关键词:相似度;文字特征;碎纸片拼接;Matlab;1 问题重述1.1 问题的描述设计一个碎纸片的自动拼接模型,以提高碎纸片的拼接复原效率。

1.2 问题的要求(1)对于给定的来自同一页印刷文字文件的碎纸机破碎纸片(仅纵切),建立碎纸片拼接复原模型和算法,并针对附件1、附件2给出的中、英文各一页文件的碎片数据进行拼接复原。

如果复原过程需要人工干预,请写出干预方式及干预的时间节点。

复原结果以图片形式及表格形式表达。

(2)对于碎纸机既纵切又横切的情形,请设计碎纸片拼接复原模型和算法,并针对附件3、附件4给出的中、英文各一页文件的碎片数据进行拼接复原。

如果复原过程需要人工干预,请写出干预方式及干预的时间节点。

复原结果表达要求同上。

(3)从现实情形出发,还可能有双面打印文件的碎纸片拼接复原问题需要解决。

附件5给出的是一页英文印刷文字双面打印文件的碎片数据。

请尝试设计相应的碎纸片拼接复原模型与算法,并就附件5的碎片数据给出拼接复原结果,结果表达要求同上。

1.3 问题的分析对破碎文件这类边缘相似的碎纸片的拼接,理想的计算机拼接过程应与人工拼接过程类似,即拼接时不但要考虑待拼接碎纸片边缘是否匹配,还要判断碎纸片内的字迹断线或碎片内的文字内容是否匹配,然而由于理论和技术的限制,让计算机具备类似人那种识别破碎边缘地字迹断线、以及理解碎片内文字图像含义的智能几乎不太可能。

但是分析了基于几何特征的碎纸片自动拼接方法的缺点,研究了碎纸片内文字行特征以及行特征获取方法。

利用这些信息进行拼接,其拼接效率无疑比单纯利用边界几何特征方法要好些。

另一方面由于计算机数字分析图像能力的缺陷,让计算机对碎片进行完全意义上的自动化拼接也几乎不大可能,这就需要我们在拼接过程加入人工干扰过程,对一些碎片进一步分析结果舍弃或拼接待选。

2 模型假设和符号系统2.1 模型假设(1)假设问题中所给的碎片图像边缘没有破损; (2)假设附件中每张碎片的形状和大小都一致;(3)假设附件中的每张碎片中的字体都清楚且没有重叠部分; 2.2 符号系统i A :表示附件1中图像进行二值化处理得到的第i 个数据矩阵; i B :表示附件2中图像进行二值化处理得到的第i 个数据矩阵; i C :表示附件3中图像进行二值化处理得到的第i 个数据矩阵; i d :表示附件3中第i 次运行得到的数据矩阵;ij d :表示附件3中第i 次运行第j 次人工干预得到的数据矩阵;E:表示附件5中图片009.bmp 的运行结果; K :表示附件1复原后的碎纸片排列序号; Q :表示附件2复原后的碎纸片排列序号。

3 模型的建立及求解3.1 模型一的建立 3.1.1 模型一的概要将附件1~2中碎纸片进行图片灰度二值化处理得到碎纸片的像素矩阵,提取碎纸片的边缘像素矩阵,对各矩阵数据进行人工遍历搜索,提取出文件左右两边的碎纸片。

对边缘矩阵进行相似度分析,相似度的度量采用向量距离平方和最小化。

利用Matlab 编程对各附件的碎纸片图像进行自动拼接。

3.1.2 模型一的分析(1)对于附件1步骤1:将附件1中碎纸片图像利用Matlab 软件进行二值化处理(源程序代码见附录1代码1),得到数据矩阵191~A A ;步骤2:对数据矩阵191~A A 的数据进行人工遍历搜索可看出矩阵9A 的前几列数据全为255,矩阵7A 的后几列数据全为255(在像素矩阵中255代表白色,0代表黑色),所以附件1中i9(008.bmp)为复原后的第一张图片,i7(006.bmp)为复原后的最后一张图片;步骤3:将i9(008.bmp)和i7(006.bmp)提取出来,用第一张图片右边缘像素值与剩余碎纸片的左边缘像素值依次进行差的平方,求相似度,得到最优解。

编写程序(源程序代码见附录1代码2),利用Matlab 软件实行碎纸片的自动拼接得到复原后碎纸片排列序号K 。

(2)对于附件2步骤1:将附件2中碎纸片图像利用Matlab 软件进行二值化处理(源程序代码见附录代码1),得到数据矩阵191~B B ;步骤2:对数据矩阵的数据191~B B 进行人工遍历搜索可看出矩阵4B 的前几列数据全为255,矩阵5B 的后几列数据全为255(在像素矩阵中255代表白色,0代表黑色),所以附件1中Name4(003.bmp)为复原后的第一张图片,Name5(004.bmp)为复原后的最后一张图片;步骤3:将Name4(003.bmp)和Name5(004.bmp)提取出来,在附件一的基础上根据碎片的文字特征即页边距进行分析,编写程序(源程序代码见附录1代码3),利用Matlab 软件实行碎纸片的自动拼接得到复原后碎纸片排列序号Q 。

3.1.3 模型一的求解附件1的求解(1)运行自动拼接源程序代码,得到K =[13 11 14 4 9 3 15 2 5 6 8 12 17 10 7 16 1](2)第一张图为I9,最后一张图为I7,在数组K 中1~6则为图i1~i6,7为图I8,8~16则为图I10~I18,在Matlab 中运行tu=[i9 i15 i13 i16 i4 i11 i3 i17 i2 i5 i6 i10 i14 i19 i12 i8 i18 i1 i7]; imshow(tu)即可得到拼接复原图见附录图1,根据运行结果得到复员后碎纸片的排列序号见表1。

附件2的求解(1)运行自动拼接源程序代码,得到 Q =[5 3 6 14 17 10 1 4 2 8 12 9 7 11 13 16 15](2)第一张图为Name 4,最后一张图为B5,在数组Q 中1~3则为图B1~B3,4~16则为图B6~B18,在Matlab 中运行tu=[Name4 Name7 Name3 Name8 Name16 Name19 Name12 Name1 Name6 Name2 Name10 Name14 Name11 Name9 Name13 Name15 Name18 Name17 Name5];imshow(tu)即可得到拼接复原图见附录2图2,根据运行结果得到复员后碎纸片的排列序号见表2。

3.2 模型二的建立 3.2.1 模型二的概要对于附件3~4中图片需要进行横纵切割,它的碎片复原拼接需要先把一部分图片利用Matlab 编程拼接成像附件1中那种类似的图片,然后利用文字特征中的左边距再在模型一的基础上设置相似度度量阈值,对相近相似度的候选纸片进行人工干预,从而进行碎纸片的拼接复原。

3.2.2 模型二的分析附件3的分析步骤1:同模型一一样,对所有图片进行二值化处理得到得到数据矩阵1C ~209C ; 步骤2:对数据矩阵1C ~209C 进行人工遍历搜索,由文字边缘像素矩阵两图片的相似度和页边距的特征,可得到复原后的第一列的小图片;步骤3:对得到的第一列的所有图片编写程序在Matlab 软件中拼接成12个类似附件1的长条图片;步骤4:对步骤3得到的图片利用模型一的模式进行碎纸片的拼接复原。

附件4的求解过程同附件3 3.2.3 模型二的求解附件3的求解自动拼接源程序代码见附录代码4 (1)第一次运行将代码4中的n取15运行的结果为:d=[126 130 136 144 169 129 4 160 83 200]1第一次人工干预点:136运行结果为:d=[129 4 160 83 200 136 13 74 161]11第二次人工干预点:204运行结果为:d=[40 32 52 108 116]12第三次人工干预点:177,可得到附录2图3。

(2)第二次运行将代码4中的n取8运行的结果为:d=[126 130 136 139 144 169]2第一次人工干预点:139,可得到附录2图4。

(3)第三次运行将代码4中的n取62运行的结果为:d=[126 130 136 144 169 20 79]3第一次人工干预点:68可得运行结果:d=[126 136 144 147 169 20 79 68 70 100 163 97 132 80]31第二次人工干预:64,可得附录2图5。

(4)第四次运行将代码4中的n取126运行的结果为:d=[126 130 136 144 169 14]4人工干预:183,可得附录2图6。

(5)第五次运行将代码4中的n取50运行的结果为:d=[126 130 136 144 169 55 66]5第一次人工干预点:144运行结果:d=[126 130 136 144 169 55 66 144 187 3 58 193 179 119 191 96] 51第二次人工干预点:12,可得附录2图7。

(6)第六次运行将代码4中的n取50运行的结果为:d=[126 130 136 144 169 55 66 95 35 85 12 23 130 29 92 189 142]6人工干预点56,可得附录2图8。

(7)对于剩余小图片因为部分相似度很高,需多次进行人工干预。

进行人工干预的得到附录2图9~图13。

把附录2图3~图13运用模型一的模式进行调试得到附件3碎纸片的拼接复原图(见附录2图14),根据运行结果得到复原后碎纸片的排列序号见表3。

接复原总图见附录2图15,复原后碎纸片的排列序号见表4。

15 9 13900112906313815305303812312175085051618709720303102 0 04110811613607303620713501507604319904517307916117914320 8 02100704906111903314216806216905419213311818916219711207 0 084060140681741371950080471721560960230991220918510913 2 181095069167163166188111144206003130340131102502717817 1 0420662050115707414508313405501805603501600918315204408 1 0771282013105212514193087089048072012177124001021153.3 模型三的建立3.3.1 模型三的概要附件5中碎纸片的拼接复原要求双面拼接,且碎纸片的图片是横纵切割的。