碎纸片拼接
- 格式:docx
- 大小:2.42 MB
- 文档页数:21
121数学学习与研究2014.11碎纸片拼接复原的数学模型◎杨武李博(江苏南京农业大学工学院210000)【摘要】本文对碎片的拼接复原问题,建立了碎纸片拼接模型,编写matlab 程序,利用人机交互指令实现碎片的快速拼接.对2013年“高教社杯”全国大学生数学建模竞赛的B 题中所给11x 19个碎片文件进行拼接.【关键词】碎片拼接模型;matlab ;灰度值矩阵;Kmeans 聚类;人机交互一、研究背景及意义近年来,大量政府机关、企事业单位采用碎纸机对废弃文件或失效的机密文件进行破碎,这种破碎方法产生的碎片多为规则的.这使得在进行破碎文件的复原拼接时,只能根据文字内容进行匹配,为此,本文考虑应用当前的计算机识别技术开发碎纸片的自动拼接技术,对所有碎片搜索和筛选,寻找能够在某种指标上匹配的碎片进行拼接.提高拼接复原效率,从而大大降低人工工作量和难度.对碎片自动拼接问题的研究,不仅具有广阔的应用前景,而且具有很强的理论意义.二、图像碎片预处理首先,利用matlab 图像处理功能对碎纸片进行图像预处理.即将碎纸片数字化,转化为图片文件的数据.即一个二维数组构成的灰度值矩阵,这个矩阵存储着一张碎纸片各个像素点的颜色值,其中255表示白色,0表示黑色,图片中颜色均处在黑白、或黑白之间,图片数字化后的数字范围在0 255之间.三、碎纸片拼接模型的假设1.假设碎片原文件都存在上、下、左、右的页边距,且边距大于行间距和列间距;2.假设相邻碎片间纸张信息的损失可以忽略不计;3.假设碎纸机是沿平行或垂直于文字的方向对纸张进行切割的.四、碎纸拼接模型的建立1.挑出每行最左边的图片:根据图片的边缘留有空白部分的特性,挑选出图片最左边存在空白部分的图片作为左边界的候选图片.方法实现:计算图片左边距留白宽度:即可用灰度值矩阵中左端竖列上全为255(即左侧完全空白)的连续列数度量,由matlab 检测出每张图片的留白宽度.留白宽度排序:对上面得到的留白宽度进行排列,取排在前面的11张图片作为拼接过程的起始碎片.2.图片按行分类:根据Kmeans 聚类算法,对碎片进行按行分类.分类实现:①先根据底端一行是否为纯空白将209幅图分为下端有纯空白行和下端有被截文字两类.②对于空白行一类,下端空白行数相同或相近的纸条属于原文件同一行;③对于下端有被截文字的一类,下端被截文字高度相同或相近的纸条属于原文件同一行.④分析确定好的最左端图片的特征,依此为11个聚类中心,利用matlab 程序分类.3.对同行碎片进行拼接①拼配原则———突变数将所有的碎片进行处理后得到灰度值矩阵,分别记作M i (i =1,…,n )(n 为图片的数量)通过对每一张碎片的数据进行了分析,不难发现在每一张碎片上,同一行相邻两个点的像素值从0变为255或者从255变到0的比例仅有0.016%左右.将相邻两个像素值由0变到255或者由255变到0定义为一次突变.定义两张碎片的突变数如下:设Ri 为某张碎片M i 的最右侧一列像素值,L j 为另一张碎片M j 的最左侧一列像素值(Ri 和L j 均为180行的列向量),碎片M i 和M j 的突变数:T ij =∑180k =1flag (k )ij ,flag (k )ij =1R(k )i -L (k )j =2550R(k )i -L (k )j <{255,其中R(k )i 表示向量Ri 的第k 个分量,L (k )j 表示向量L j 的第k 个分量.②匹配过程以上面确定的最左边的碎片为起点,计算该碎片所在行的可能的碎片与其的突变数T.理论上T 值越小,两个图片的匹配的可能性最大,将T 进行由小到大的排序,在matlab 程序中让起始碎片优先与T 值最小的匹配,若匹配不成功再依次考虑T 值较大的,直至匹配成功.4.人工干预①人工干预时机:本文对209个已有碎片,分析发现若其余碎片与其的突变数仅有一个为0,则突变数为零的那个碎片一定与该碎片相匹配,一旦出现突变数均不为0,则需进行人工干预.②人工干预方法:为减少人工干预次数,做如下工作:1)计算碎片M i 灰度值矩阵最右一列Ri 与位于M i 行的其余碎片灰度值矩阵最左一列L j 的偏差平方和S 作为人工干预的指标:S =∑180i =1(Ri-L i )2.2)对偏差平方和S 由大到小进行排序,将碎片的序号放入集合US 中,S 大的最有可能与碎片M i 相匹配③在matlab 程序中让碎片M i 依次与集合US 中的图片进行匹配,每次对两个图进行匹配时,令命令窗口弹出这两个图匹配在一起的图片,进行人工观察.通过对拼接处文字字形和语义的分析,人工检查该匹配是否合理.5.纵向拼接①观察11条已拼好的横切纸条,根据所有纸条的上边缘特征确定位于原文件顶端的横切纸条,并以该纸条为起始纸条.②根据起始纸条的下边缘灰度值特征,利用上述步奏拼出整张文件.五、模型的评价与改进1.模型的优点:模型采用突变数和偏差平方和作为评价函数评定碎片间邻边的相关度,高效而且实用.能大大减少人工干预的次数.2.模型的局限性:由于研究的是碎纸机产生的碎片.该模型只考虑了对多个相同的形状规则的碎片进行拼接,且当碎片的数量增加且单个碎片的文字覆盖率越小时,更易产生灰度分布情况相似的碎片,需要进行人工干预的次数会相应增多.六、结论本文对碎纸片的匹配原则和人工干预进行了探讨和研究,建立了一个可靠高效的数学模型,利用图片数字化后数值之间的分布规律和相关度引入突变值和偏差平方和作为评价指标,利用matlab 软件实现快速拼接.并为了提高拼接准确性,巧妙地使用人机交互指令进行人工的检测干预.【参考文献】[1]何鹏飞,等.基于蚁群优化算法的碎纸拼接.计算机工程与科学,2011,33(7).[2]邓薇.MATLAB 函数速查手册.北京:人民邮电出版社,2010.[3]宋晓闯.基于灰度和几何特征的图像匹配算法研究.万方数据库,2013-09-13.。
碎纸片拼接复原的数学方法拼图游戏,一种看似简单却富含深度的游戏,给人们带来了无穷的乐趣。
然而,大家是否想过,这样的游戏其实与数学有着密切的?让我们一起探索碎纸片拼接复原背后的数学方法。
碎纸片拼接复原,其实就是一个计算几何问题。
在数学领域,欧几里得几何和非欧几里得几何是两个基本而又重要的分支。
欧几里得几何主要研究的是在平面上两点之间的最短距离,这是我们日常生活中常见的几何学。
而非欧几里得几何则研究的是曲面上的几何学,这种几何学并不符合我们日常生活中的直觉。
碎纸片拼接复原的问题就是一种非欧几里得几何问题。
在计算机科学中,图论是研究图形和网络的基本理论。
其中,图形遍历算法可以用来解决碎纸片拼接复原问题。
这种算法的基本思想是:从一点出发,尽可能多地遍历整个图形,并在遍历的过程中对图形进行重建。
对于碎纸片拼接复原问题,我们可以将每一张碎纸片看作是图中的一个节点,当两张碎纸片拼接在一起时,它们就形成了一个边。
通过这种方式,我们可以将所有的碎纸片连接起来,形成一个完整的图形。
在计算机科学中,碎纸片拼接复原问题被广泛应用于图像处理、数据恢复等领域。
例如,在数字图像处理中,如果一张图片被切割成若干块,我们可以通过类似的方法来恢复原始的图片。
在数据恢复领域,当一个文件被删除或格式化时,我们也可以通过类似的方法来恢复文件。
碎纸片拼接复原的问题不仅是一个有趣的拼图游戏,更是一个涉及计算几何、图论等多个领域的数学问题。
通过运用这些数学方法,我们可以有效地解决这个问题,从而更好地理解和应用这些数学理论。
在我们的日常生活中,我们经常会遇到一些破碎的物品,例如碎镜子、破碎的瓷器,或是碎纸片等。
这些物品的复原过程都需要一种科学的方法来帮助他们重新拼接起来。
这种科学方法就是碎纸片拼接复原技术。
碎纸片拼接复原技术是一种基于数学模型的方法,它通过比较碎纸片边缘的形状、纹理、颜色等特征,来找到碎纸片之间的相似性和关联性,从而将它们拼接起来。
纸张撕碎重新复原的方法
将纸张撕成小块后,可以试用以下方法重新复原:
1. 拼图法:根据纸张上的图案或文字的特征,将撕碎的纸张小块一一拼接在一起。
可以使用胶水或透明胶带将小块粘接在一起,直到整张纸张还原为完整的状态。
2. 粘贴法:将所有纸张小块按照纸张上的线条方向,粘贴在一张背景纸上。
根据纸张上的文字或图案特征,可以推测纸张的排列顺序。
3. 数字法:对每个纸张小块进行编号,然后根据编号重新排列纸张小块。
4. 计算机辅助法:使用扫描仪或相机将撕碎的纸张进行扫描或拍照,然后使用图像处理软件将图像还原,最后打印出完整的纸张。
请注意,纸张撕碎再复原的难度取决于撕碎的程度和纸张的特性。
有些纸张可能不易复原或需要特殊的技术手段,如复印纸、碎纸机处理后的纸张等。
碎纸片拼接
拼接碎纸片可以有多种方法,具体取决于碎纸片的形状和大小,以及你想要拼接的图案或图像。
以下是一种常见的方法:
1. 准备工具和材料:碎纸片、胶水或双面胶、剪刀、底板(可以是纸板或硬纸板)。
2. 将底板放在平整的表面上,确保它固定不会移动。
3. 选取一片碎纸片作为起始点,将其涂上适量的胶水或双面胶,然后将其粘贴到底板上。
4. 继续选择并粘贴碎纸片,将它们与已粘贴的碎纸片对齐,以形成你想要的图案或图像。
可以使用剪刀来修剪碎纸片
的形状,以便更好地拼接。
5. 当所有碎纸片都被粘贴到底板上后,检查一遍,确保它
们都牢固地粘贴在一起。
6. 如果需要,可以在碎纸片的表面涂上一层透明的胶水或
艺术胶水,以增加拼接的稳固性和保护。
当然,如果你有更具体的要求或想要使用不同的技术,还
可以尝试其他的方法,如使用胶带、编织或缝合等。
数学建模碎纸片拼接复原题目《数学建模碎纸片拼接复原:一场奇妙的探索之旅》我呀,最近在学校里遇到了一个超级有趣又超级难的事儿,那就是关于数学建模里的碎纸片拼接复原题目。
这可不是一般的题目,就像是一个超级复杂的拼图游戏,但又比普通拼图难上好多好多倍呢!咱们先来说说这个碎纸片是怎么回事吧。
想象一下,有好多好多的碎纸片,就像被大风吹散了的树叶一样,到处都是。
每一片碎纸片都像是一个小秘密,它上面只有一部分的文字或者图案。
这些碎纸片有的边缘是平滑的,有的却是弯弯曲曲的,就像不同形状的小云朵在纸上飘着。
我和我的小伙伴们刚开始看到这个题目的时候,都瞪大了眼睛,嘴巴张得能塞下一个大鸡蛋。
“这可怎么拼啊?”我的小伙伴小明忍不住叫了出来。
我也在心里直犯嘀咕,这简直就像是要把散落在地上的星星重新组合成原来的星座一样困难。
不过,我们可没有被这个难题吓倒。
我们就像一群勇敢的小探险家,准备去解开这个谜题。
我们首先想到的是从碎纸片的边缘入手。
就好比我们在搭积木的时候,先找那些有特殊形状的积木块一样。
那些边缘有独特形状的碎纸片,可能就是我们找到拼接复原方法的关键。
我拿起一片碎纸片,上面有一点点像是字母“e”的半边。
我就大声地对小伙伴们说:“你们看,这个会不会和另一片能组成一个完整的‘e’呢?”大家都围了过来,眼睛里闪烁着兴奋的光芒。
小红说:“那我们快找找看呀!”于是我们就开始在那一堆碎纸片里翻找起来。
这感觉就像是在寻宝,每一片碎纸片都可能是宝藏的一部分。
可是,找了半天,我们发现事情并没有那么简单。
有好多碎纸片的边缘看起来好像能拼接在一起,但实际上它们的内容却对不上。
这就像你以为你找到了两块合适的拼图,结果发现上面的图案根本不是一回事儿。
我有点沮丧地说:“这也太难了吧,感觉就像在黑暗里摸东西,怎么也找不到正确的方向。
”这时候,聪明的小刚说话了:“我们不能只看边缘呀,还得看看纸片上的文字或者图案的内容呢。
比如说,如果一片碎纸片上有一个单词的开头部分,那我们就得找有这个单词结尾部分的碎纸片。
碎纸复原简介碎纸复原是一种通过将被撕碎的纸张片段重新拼接起来的技术,以恢复原始纸张的内容。
这种技术在犯罪调查、情报收集和文件重建等领域有着很重要的作用。
随着技术的不断发展,碎纸复原的方式和工具也在不断改进,为碎纸复原的效率和准确性提供了更好的保障。
历史碎纸复原的历史可以追溯到十九世纪末。
最早期的碎纸复原是通过手工将纸张碎片逐个拼接起来,这种方法耗时耗力,效果也不太理想。
随着科技的进步,人们开始尝试使用化学方法进行碎纸复原。
在二战期间,间谍机构和情报部门开始开展碎纸复原的工作,并且相应的科研机构也加大了对于这方面的研究力度。
到了20世纪中后期,计算机图像处理技术的兴起使得碎纸复原取得了长足的进步。
碎纸复原的技术方法传统方法传统的碎纸复原方法主要是基于手工拼接和化学试剂辅助处理的方式。
手工拼接需要对纸张碎片进行分类、匹配和拼接,这需要较高的人力和耐心。
而化学试剂辅助处理则是通过柔软和粘附性较强的化学物质,使得碎片能够更容易地连接起来。
这些方法只能处理尺寸较大的碎纸,对于小碎片或者碎纸数量很多的情况效果较差。
计算机辅助方法随着计算机图像处理技术的发展,碎纸复原在20世纪中后期开始快速发展。
计算机辅助方法通过将碎纸片段进行数字化处理,利用计算机的图像处理能力进行拼接和恢复原始图像。
这种方法主要包括图像匹配算法、特征提取算法和图像重建算法等。
图像匹配算法通过比对不同碎纸片段之间的特征,找到匹配的碎片进行拼接;特征提取算法则是提取碎纸片段的特征,构建特征数据库以供匹配算法使用;而图像重建算法则是对拼接后的碎片进行修复和还原。
碎纸复原的应用领域碎纸复原在犯罪调查、情报收集、文件重建等领域具有重要的应用价值。
犯罪调查碎纸复原在犯罪调查中能够帮助警方或侦查人员还原被破坏或删除的证据。
例如,在一起谋杀案中,嫌疑人可能会试图将重要的证据纸张撕碎以销毁,但通过碎纸复原技术,警方可以恢复碎纸片段上的文字、图像或指纹等关键证据,从而推进案件的侦破。
碎纸片拼接复原是一个有趣的图像处理问题,通常需要使用计算机视觉或图像处理技术。
下面是一个简单的 MATLAB 程序示例,用于演示碎纸片拼接复原的基本思路。
请注意,这只是一个简单的示例,实际应用中可能需要更复杂的算法和技术。
这个简单的 MATLAB 程序包含了三个函数:
1.shredImage: 将原始图像切成碎片。
2.shufflePieces: 随机打乱碎纸片的顺序。
3.reconstructImage: 进行拼接复原。
请注意,这只是一个基本的示例,实际应用中可能需要更复杂的图像处理技术,例如特征匹配、拼接算法等。
碎纸片的拼接复原数学模型的构建摘要院本文讨论在碎纸机以不同方式破碎纸片的情况下建立碎纸片的拼接复原模型,以解决碎片数量巨大时人工拼接的难题,本文建立了三个具有针对性的模型。
模型一:方差分析法下的碎纸片拼接模型。
在以纵切方式破碎纸片的情况下,提取碎纸片左右边缘的灰度列向量,利用碎纸片边缘处为单边同宽空白区域的特殊性对碎纸片进行定位,再利用方差分析法和欧式距离解决了纵切碎纸片的拼接复原问题。
模型二:文字行间距一致性的碎纸片拼接模型。
以纵横方式破碎纸片,利用同行文字行间距一致性的主要特性可解决横向碎纸片的拼接复原问题,简化了模型,将离散的像素灰度矩阵平均化处理,进而利用欧氏距离对碎纸片进行匹配,得到了碎纸片复原后的完整图片。
模型三:二值化Otsu 算法的碎纸片拼接复原模型。
本文从双面纵横破碎纸片的问题出发,建立了纸片二值化Otsu 法拼接模型,先对碎纸片分组预处理,为将复杂模型简单化,再利用全局阈值方法中典型的Otsu 法求取碎纸片的最佳阈值,以该阈值对碎纸片中所含灰度值信息进行划分实现二值化处理,将边缘区域明显化,利用统计学方法求取拼接后的纸片间成功匹配的像素点占纸片边缘的概率,最终双面纵横破碎纸片的拼接复原问题得以解决。
Abstract: This paper discusses the construction of splicing scrap recovery model under the condition of shredder breaking paper intopieces in different ways, so as to solve the problem of artificial splicing when there is a great amount of pieces. This paper establishes threecorresponding model.Model One: Paper Scrap Splicing Model under Analysis of Variance.Shredding paper through longitudinal mode, the paper selects the gray scraps of paper around the edge extraction column vector,locates the paper scrap by using edge of paper scraps as blank area with same width, then solves the problem of reconstruction of thelongitudinal cutting paper splicing through analysis of variance method and Euclid Distance.Model Two: Paper Scrap Splicing Model with Consistency of Text Line Spacing.Shredding paper through vertical and horizontal mode, its main characteristics of peer text line spacing consistency can solve theproblem of reconstruction of splicing transverse paper scraps, simplifies the model, processes the pixel matrix of discrete in average andmatches the paper scraps through Euclid Distance and then gets the complete picture of paper scrap afterrecovery.Model Three: Paper Scrap Splicing Model Based on Binaryzation Otsu Algorithm.This paper firstly expounds the double side's vertical and horizontal mode, establishes the paper scrap splicing model based onbinaryzation Otsu algorithm. The paper firstly does preconditioning for paper scraps into groups, simplifies the complex model, and then getsthe optimal threshold of the paper scraps by using typical Otsu algorithm of global threshold method. The paper classifies the gray valueinformationof paper scraps through this threshold to realize binaryzation processing, specifies the edge area, evaluates the probability ofsuccessful matching pixels on edge of splicing paper, and finally solves the mosaic and restoration problems of double side's vertical andhorizontal mode.关键词院离散;方差分析;置信区间;阈值;Otsu 算法Key words: discrete;analysis of variance;confidence interval;threshold;Otsu algorithm中图分类号院TQ018 文献标识码院A 文章编号院1006-4311(2014)25-0238-031模型一考虑以为空间拼接情况,为了获取拼接图像所必须的数据,文章以像素为单位离散所得碎片:利用VC++使用了Windows.H 头文件并调用RGB 等结构定义获得不同像素点的g 值[1],生成了多个灰度矩阵。
数学建模中的碎纸片拼接复原要点研究嘿,你是不是也碰到过这样的一种场景?某天,不小心把文件弄坏了,纸张四分五裂,散落一地。
可能是你不小心掉了咖啡,可能是好奇心作祟,忍不住撕了某个文件,结果纸片就像乱七八糟的拼图一样,飞到天上,摔在地上,结果呢?你站在碎片堆里一脸懵逼,心里想着,“这怎么办?”你可以想象那种绝望的感觉,不是么?碎纸片拼接复原这事儿,虽然听起来有点疯狂,但它不仅仅是纸张的恢复,更是一种深层次的“重生”之道,充满了无限可能,简直就像是面对一堆零散的拼图,我们总能找到适合的解决方案。
看着那些纸片,你可能会想:“这就算了吧,反正都是碎片,哪里能拼得起来?”可是,事实是,解决这些碎片的方法其实有很多,数学建模的意义不就是什么?找到正确的方法和思路,让这些破碎的片段重新组合成一个完整的整体。
是不是有点像拼乐高?看似没有头绪,但只要找对了顺序,最后一切都能完美呈现。
你看,数学建模就有点这个意思。
对,那些碎片,它们可能是无序的,是乱糟糟的,可是只要你有了对的思路、方法,一切都能恢复如初,甚至超乎你想象的完美。
要说碎纸片的拼接复原,首先就得搞清楚什么是数学建模。
你得想象它不是一个万能的机器,它是一个思维工具,它能帮你捋清楚思路,找到其中的规律。
就像拼图游戏,你眼前散落的纸片就像是一个个信息块,散得毫无规律,似乎你根本无法看到整个画面。
但如果你能从碎片中抓住一些关键的联系,就能一步步找出这些碎片的拼接顺序。
所以,复原碎纸片的过程其实是一个“解谜”过程。
这其中不仅仅是纸张本身的重组,更是一个对空间、时间甚至是规则的深刻理解。
说白了,数学建模就像是给了我们一套“万能钥匙”,用它打开看似混乱的局面,找到通往完整答案的道路。
像拼图一样,首先得弄清楚每块拼图的形状,哪个角落是直的,哪个边缘是圆的,哪些部分应该放在一起。
这里面有很多学问,一旦你把规律摸清了,整个过程就像开挂一样,轻松自如。
可能会有人觉得:“哎呀,这个太复杂了吧,怎么能从一堆碎片中找到规律呢?”其实啊,碎纸片复原的关键就在于“分析”和“推理”。
碎纸片拼接复原解题思路一、背景介绍碎纸片拼接复原是一项需要巧妙操作和观察力的游戏。
在这个游戏中,玩家需要拼接一些碎纸片,使其还原成完整的图案。
这个任务名称为“碎纸片拼接复原解题思路”。
二、游戏规则碎纸片拼接复原的游戏规则一般如下: 1. 给定一些碎纸片,每个碎纸片上都有一部分图案。
2. 碎纸片上的图案可能是图片、文字、颜色等。
3. 玩家需要根据碎纸片上的图案,将其拼接在一起还原成一个完整的图案。
4. 拼接时,碎纸片之间必须符合一定的拼接规则,比如图案的延续、颜色的衔接等。
三、解题思路要解决碎纸片拼接复原的问题,可以采取以下的思路: ### 1. 观察碎纸片首先,我们需要仔细观察每一个碎纸片,分析其图案、颜色以及可能的拼接方式。
这可以帮助我们理解整个图案的构成和拼接规则。
2. 找出连接点接下来,我们需要找出能够将两个碎纸片连接在一起的连接点。
连接点可能是某个图案的延续,或者是两个图案相衔接的部分。
通过找出连接点,我们可以确定碎纸片之间的拼接方式。
3. 确定连接顺序在找到连接点后,我们需要确定碎纸片的连接顺序。
这可以通过观察碎纸片上的图案延续和颜色衔接来判断。
我们可以先找到一个碎纸片,然后找到与之相连的碎纸片,并将其拼接在一起。
然后,再找到与已经拼接好的碎纸片相连的碎纸片,逐步拼接完成整个图案。
4. 拼接碎片根据确定的拼接顺序,我们可以开始拼接碎纸片了。
将每个连接点对齐,确保拼接的效果与原图案尽可能接近。
可以使用胶水或其他粘合剂来固定碎纸片,以确保它们不会松动。
四、技巧和注意事项在解决碎纸片拼接复原问题时,还需要注意以下几个技巧和注意事项: 1. 仔细观察:细心观察碎纸片上的图案和连接点,可以帮助我们找到正确的拼接方式。
2. 缓存碎片:将已经拼接好的碎纸片暂时存放在一边,以便于找到下一个相连的碎纸片。
3. 小步拼接:将拼接过程分成小步骤,逐步完成拼接,可以降低出错的概率。
4. 调整拼接角度:如果遇到无法拼接的情况,可以尝试旋转碎纸片,调整拼接角度,找到合适的连接点。
碎纸片的拼接复原模型摘要本文针对破碎纸片形状规则和碎片间无有效重叠区域等特点,选取了信息熵、差方和、欧氏距离、相关系数、互信息和灰色斜率关联度作为碎纸片之间的相似性判别准则,给出了碎纸片拼接复原模型和算法,解决了破碎纸片的拼接复原问题.对于问题1,引入信息熵来衡量每个碎片含有的信息量,将熵值最小的碎片确定为印刷文字文件的第一列;利用差方和计算出第1列右端与其余碎片左端的相似程度,求得碎纸片之间的最佳匹配组合,借助Matlab软件成功实现了附件1和附件2的碎片拼接复原.对于问题2,通过计算每个碎片的信息熵,找到印刷文字文件第一列的11个碎片;再利用互信息和相关系数评价碎纸片之间的相似性程度,确定出碎片间的上下位置关系,得到了印刷文字文件的第一列;然后利用欧氏距离作为相似性测度,进一步进行碎片间的粗拼接.若某个碎纸片与多个碎片的欧氏距离相等,则利用灰色斜率关联度进行碎纸片间的细拼接,借助Matlab软件完成了对附件3和附件4给出的碎片拼接复原.对于问题3,基于模糊聚类方法,粗略地确定出每个碎片的正面和反面;然后利用问题2的算法对已分类的正面碎纸片进行拼接复原;针对无法复原的碎纸片,借助Matlab 软件和最优搜索算法进行人工干预,确定出附件5文件正面的拼接复原;根据碎片数据编号的命名规则,在正面碎片数据的拼接复原结果中填充对应编号的反面碎片数据,实现了附件5文件反面的拼接复原.最后,对碎纸片的拼接复原模型和算法进行了分析和展望.关键词:破碎纸片的拼接复原;信息熵;差方和;互信息;欧氏距离;灰色斜率关联度;模糊聚类1. 问题重述破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有着重要的应用.传统上,拼接复原工作需由人工完成,准确率较高,但效率很低.特别是当碎片数量巨大,人工拼接很难在短时间内完成任务.随着计算机技术的发展,人们试图开发碎纸片的自动拼接技术,以提高拼接复原效率,需解决以下几个问题:问题1,考虑对于给定的来自同一页印刷文字文件仅纵切的破碎纸片的拼接复原模型和算法,并针对B 题附件1、附件2给出的中、英文各一页文件的碎片数据进行拼接复原.如果复原过程需要人工干预,还需要写出干预方式及干预的时间节点.并就附件1和附件2的碎片数据给出拼接复原结果.问题2,考虑对于碎纸机既纵切又横切的情形,设计出碎纸片拼接复原模型和算法,并针对B 题附件3、附件4给出的中、英文各一页文件的碎片数据进行拼接复原.如果复原过程需要人工干预,请写出干预方式及干预的时间节点.并就附件3和附件4的碎片数据给出拼接复原结果.问题3,则需要考虑更一般的情形,即考虑有双面打印文件的碎纸片拼接复原问题.对B 题附件5给出的是一页英文印刷文字双面打印文件的碎片,设计相应的碎纸片拼接复原模型与算法,并就附件5的碎片数据给出拼接复原结果.2. 模型假设(1) 碎纸片的切割是等间距的,忽略切割碎纸片时由机器工作所产生的摩擦误差; (2) 碎片切缝处的图像灰度平滑;(3) 碎片在缩放的情况下,像素点保持稳定; (4) 碎片上的文字只显示黑白两种颜色.3. 符号说明N :每张碎片像素点的数目;ij a 、ij b :图像A 、B 在()j i ,的像素值;),(B A SSD :A 与B 的差方和;)(a h A :图像A 中第a 个灰度级的像素个数与总的像素个数之比;)(ab h AB :图像A 中第a 个灰度级和图像B 中第b 个灰度级的像素对数与两幅图像总的像素对数之比;)(A H 、)(B H :图像A 和B 各自含有的信息量;)(AB H :两幅图像A 和B 的联合信息熵;ij d :两幅图像A 和B 的欧式距离;ij a 、ij b :图像A 和B 在 ()j i ,位置的像素值; a :图像A 像素值的平均值;),(B A C :两幅图像A 和B 的相关系数;)(a P A 、)(b P B :碎片边缘概率密度; )(ab P AB :两碎片A 和B 的联合概率密度;);(B A I :两碎片A 和B 的互信息;)(t X :系统特征函数;)(t Y i :相关因素函数;tt x ∆∆)(:系统特征函数)(t X 在t 到t t ∆+的斜率; tt y i ∆∆)(:相关因素函数)(t Y i 在t 到t t ∆+的斜率; )(t x ∆:系统特征函数在t 到t t ∆+的增量;)(t y i ∆:相关因素函数在t 到t t ∆+的增量; x :系统特征函数的均值;i y :相关因素函数的均值;)(t i ξ:)(t X 与)(t Y i 在t 时刻的灰色斜率关联系数;D :对称距离矩阵;i ε:)(t X 与)(t Y i 在t 时刻的灰色斜率关联度.4. 问题分析由于文章以行书写,只有段首段尾有空白,切缝处恰好以列之间的空白或笔画出断开的概率较小,在拼接碎纸片前需要对B 题附件1—5的碎片内图像进行二值化处理,进而获取由0和1组成的矩阵.扫描后的图像有亮的图像和暗的背景组成,由于光照、拍摄角度等因素,一幅图像往往包括文字、背景还有噪声等.如果从多值的数字图像中直接提取目标,最常用的方法就是设定阈值T ,用T 将图像的数据分为两部分:大于T 的像素群和小于T 的像素群.由于5个附件中的文字显示都是黑白颜色,因此先调用Matlab 软件中的im2bw()对每个碎纸片进行二值化图像预处理,然后综合利用图像的相似性测度寻找高精度的匹配碎片,从而实现整个印刷文字文件的复原.5. 模型的建立与求解5.1 问题1的求解5.1.1 模型的建立差方和利用两幅图像对应位置的差方和均值表示图像之间的相似程度,定义为[1],∑-=ij21),()(ij ij NB A SSD b a (1) 式中,N 为每幅图像像素点的数目,ij a 和ij b 分别是图像A 和B 在()j i ,位置的像素值.当两幅图像正好可拼接时,),(B A SSD 值最小.差方和计算的时间复杂度为()2N O .信息熵反映了图像含有的信息量大小.信息熵越小,图像包含的信息量越小,往往空白区域越多,其定义为[2-4]:∑=aA A a h a h A H )(log )()( (2)其中,)(a h A 表示图像A 中第a 个灰度级的像素个数与总的像素个数之比. 5.1.2 拼接复原算法附件1和附件2中碎纸片的切割方式只有纵切一种,假设碎片的总数为n 个.考虑到纵切的特殊性,给出如下的拼接复原算法:步骤1 计算每一个碎纸片)1(n i A i ≤≤的信息熵)(i A H ,并确定出熵值最小的一个碎片n i i A H 1)}(min{=为印刷文字文件的第1列;步骤2 计算第1列图像A 的右边与其余1-n 个碎片)1,1(≠≤≤j n j A j 的左边的差方和),(1j A A SSD ,确定出与第1列图像差方和最小的碎片为印刷文字文件的第2列;步骤3 重复步骤2,依次继续,直到找到印刷文字文件的n 列为止. 5.1.3 问题1的求解借助Matlab 软件对以上拼接复原算法进行仿真,得到如下结果: (1) 附件1中的中文文件复原结果表1 附件1中19个碎片的信息熵从表1可以看出,19个碎片所包含的信息量中,第008碎片的信息熵最小,因此第008碎片是附件1中的中文文件的第1列.表2 附件1中19个碎片之间差方和最小的配对碎片表从表2可以得到附件1中的中文文件复原结果,如下表所示:表3 附件1中文件的拼接复原结果表附件1中的中文文件复原图结果见附录1.(2)附件2中的英文文件复原结果表4 附件2中19个碎片的信息墒从表4可以看出,所有19个碎片所包含的信息量中,第003碎片的信息墒最小,因此第003碎片是附件2文件的第1列.表5 附件2中19个碎片之间差方和最小的配对碎片表从表5可以得到附件2的英文文件复原结果,如下表所示表6 附件2英文件的拼接复原结果表附件2中英文文件的复原结果图见附录2.5.2 问题2的求解5.2.1 模型的建立由于互信息测度是从图像的统计信息出发,既不需要两幅图像的灰度关系,也不需要图像进行预处理,因此成为目前广泛使用的图像配准相似性测.在图像配准过程中,如果两幅图像精确匹配,互信息达到最大.联合熵定义如下[5]:)(log )()(,ab h ab h AB H AB ba AB ∑= (3)其中)(ab h AB 表示图像A 中第a 个灰度级和图像B 中第b 个灰度级的像素对数与两幅图像总的像素对数之比.互信息定义为)()()();(AB H B H A H B A I -+= (4)欧氏距离被视为两个图像的相似程度,距离越近就越相似,其定义为∑-=2)(ij ijij b ad (5)相关系数是标准化的协方差函数,当两幅图像的灰度之间存在线性畸变时,仍能较好的评价两幅图像之间的匹配性程度.图像的相关系数1),(≤B A C ,它是两幅图像A 和B 特征点之间近似程度的一种线性描述.如果),(B AC 越接近于1,两幅图像的相似程度越大,越近似于线性关系.选择相关系数中最大的相关系数所对应的特征点为这个点的匹配特征点.当两幅图像可匹配时,相关系数达到最大值.相关系数定义如下[7-9]:2/122))(*)(()(*)(),(∑∑∑----=b b a a b b a bB AC ij ij ijij ij(6)两幅图像相关系数计算的时间复杂度为)(2N O ,其中N 为每幅图像像素点的数目. 灰色斜率关联度的基本思想是根据待拼碎片的特征曲线(称系统特征函数)与参照碎片的特征曲线(称相关因素函数)的相似程度来判断其联系是否紧密,曲线越接近,关联度就越大,反之就越小.灰色斜率关联度的定义为[10]:∑-=-=11)(11n t i i t n ξε (7) 其中,t t y yt t x x t t x x tt x x t i i ∆∆-∆∆+∆∆+∆∆+=)(*1)(*1)(*11)(*11)(ξ (8)为灰色斜率关联系数.(7)、(8)式中)(t X 为系统特征函数,)(t Y i ()m i ,,2,1 =为相关因素函数(对应于参照碎片的特征曲线),∑==nt t x n x 1)(1,)()()(t x t t x t x -∆+=∆,t t x ∆∆)(为系统特征函数)(t X 在t 到t t ∆+的斜率, ∑==nt i i t y n y 1)(1,)()()(t y t t y t y i i i -∆+=∆, t t y i ∆∆)(为相关因素函数)(t Y i 在t 到t t ∆+的斜率.对于灰色斜率关联系数)(t i ξ公式(8)有如下性质[11-13]:(1) 任意的系统特征函数)(t X 与相关因素函数)(t Y i 的灰色斜率关联系数满足:1)(0≤<t i ξ,m i ,,2,1 =;(2) 灰色斜率关联系数)(t i ξ满足对称性;(3) 灰色斜率关联系数)(t i ξ只与)(t X 与)(t Y i 的几何形状有关,与相对位置无关; (4) )(t X 与)(t Y i 的斜率越接近,灰色斜率关联系数)(t i ξ就越大;(5) )(t X 与)(t Y i 在t 到t t ∆+的变化速度相同时,它们的斜率相等,这时1)(=t i ξ; 由上述公式及性质可知,灰色斜率关联系数反映了两曲线在某一点的变化率的一致程度,而灰色斜率关联度则是整个区间上灰色斜率关联系数的平均值.灰色斜率关联度i ε具有下列性质: (1) 10≤<i ε;(2) i ε只与)(t X 与)(t Y i 的变化率有关,而与它们的空间相对位置无关; (3) 当)(t X 与)(t Y i 变化率相同时, 1=i ε; (4) )(t X 与)(t Y i 的变化率越接近, i ε就越大;5.2.2 拼接复原算法附件3和附件4中碎纸片的切割方式有纵切和横切两种,假设碎片的总数为n 个(m ⨯k 个碎片组成整个原图),具体的拼接复原算法如下:步骤1 计算每一个碎纸片)1(n i A i ≤≤的信息熵)(i A H ,并确定出熵值最小的m 个碎片n i i A H 1)}(min{=为印刷文字文件的第1列的m 个碎片;步骤2 计算步骤1找到的m 个碎片的上半部图像和下部分图像之间互信息和相关系数,确定出m 个碎片的上下位置关系,得到印刷文字文件的第1列;步骤3 计算第1列中m 个碎片右边与其它碎片左边的欧氏距离,得到碎片之间关于欧氏距离的矩阵n m M ⨯;在矩阵n m M ⨯中,第i 行的值ij d 表示第i 个碎片与第j 个碎片之间的欧氏距离.步骤4 在n m M ⨯中,计算第)1(m i i ≤≤行的最小值i min ;若n m M ⨯中i min 在第i 行出现的次数为1且对应的列标为j ,则第i 个碎片和第j 个碎片是最佳匹配组合;若i min 在第i 行出现的次数为大于1,则进行步骤5.步骤5 i m i n 在i 行中出现的次数为大于1,则计算第i 个碎片的右边图像与其余碎片左边图像的灰色斜率关联度)1(n f if ≤≤ε,记灰色斜率关联度最大的值ih ε对应的列为k ;若第k 个碎片在步骤4的最佳匹配组合中没有出现,那么第i 个碎片和第k 个碎片是最佳匹配组合;若第k 个碎片已在步骤4的最佳匹配组合中出现过,选择灰色斜率关联度仅次于ih ε)(ih iy εε<的值对应的列y ;若第y 个碎片在步骤4的最佳匹配组合中没有出现,则第i 个碎片和第y 个碎片是最佳匹配组合,否则继续寻找第i 个碎片的最佳匹配碎片,直止找到满足斜率关联度最大且在以前的最佳匹配组合中没出现条件的碎片.步骤6 重复以上步骤,直到所有的碎片找到最佳的匹配组合为止.按照最佳匹配组合的关系将所有碎片链接起来,并在第1列中出现的碎片位置出换行,便可对文件的所有碎片数据进行拼接复原. 5.2.3 问题2的求解运行matlab 软件对以上算法进行仿真,得到如下的结果.(1) 附件3中的中文文件复原结果表7 附件3中碎片的排列序号附件3中文件的最终复原图见附录4.(2) 附件4中的英文文件复原结果附件4的复原结果表格形式如下表所示:表8 附件4中碎片的排列序号附件4中文件的最终复原图见附录6.5.3 问题3的求解5.3.1 模型的建立模糊聚类分析是一种将样本或者变量分类的统计方法,基于物以类聚的思想,它根据样本数量计算样本之间的距离(相似程度),按距离的大小,将样本或变量逐一归类,关系密切的类聚到一个小的分类单位,使同一类的对象之间具有较高的相似度,然后逐步扩大,使得关系疏远的类聚合到一个大的分类单位,知道所有的样本或变量都累计完毕.模糊聚类分析法常用的距离为绝对值距离和欧式距离,其中,欧氏距离在聚类分析中用的最广.计算流程如下[14-15]:(1) 将n 张碎纸片分为n 类,取其中一个碎纸片右侧一列和另外任意碎纸片左侧一列作为样本,两个样本之间的距离构成一个对称距离矩阵⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=00021221112 n n n n d d d d d d D (2) 选择)0(D 中的非对角线上的最小元素,设这个最小元素是pq D ,此时{}p P x G =与{}q q x G =的距离最近,将q P G G 和合并成一个新类{}q P r G G G ,=.在)0(D 中消去q P G G 和所对应的行与列,并加入由新类r G 与剩下的其他未聚合的类间的距离所组成的新的距离矩阵)1(D ,它是n-1阶方阵;(3) 从)1(D 出发重复(2)的做法得)2(D ,再由)2(D 出发重复上述步骤,直到碎纸片聚成一个整体,聚类完成. 5.3.2 拼接复原算法附件5的碎片均为双面,假设碎片的总数为n 个(m ⨯k 个碎片组成整个原图的正面),具体的拼接复原算法如下:步骤1 基于模糊聚类分析法的思想,借助Matlab 软件编程将所有碎片区分粗分为正面和反面两大类;步骤2任选某一大类的碎片,利用问题2的拼接复原算法对该类的碎片进行拼接复原;步骤3 对无法拼接的碎片进行人工干预,直至所有的最碎片找到最佳的匹配组合为止.将所有的碎片进行链接,可复原文件的原图.根据碎片编号的命名规则,如果一面的原图复原成功,选择原图每个碎片对应序号的反面,可直接拼接复原出反面的原图.5.3.3 问题3的求解运行matlab软件对以上算法进行仿真,得到如下的结果.(1)附件5中的文件正面复原结果附件5中的文件正面复原结果见表9.附件5中文件正面的复原结果中间图见附录7.附件5中文件正面的复原结果中间图见附录8.对附录8中的碎片49a、161b、108b、045b、021a、042a、048b、180b、041b、202b和175b进行人工干预,得到附录9。
碎纸片的拼接复原问题摘要为解决碎纸片的拼接复原问题,我们通过定义差异度指数、高度差,建立0-1规划模型,使用聚类分析、MATLAB搜索算法和人工干预等相结合,得到了所有附件复原序号和复原图片。
针对问题一,首先提取附件1、2中所有碎片左侧和右侧边缘灰度,通过任意列碎片右侧和任意列碎片左侧的边缘灰度差值可以定义差异度指数,从而得到差异度特征矩阵,然后建立0-1规划模型,以第i张碎片右侧与第j张碎片左侧差异度最小为目标函数,以第i张碎片右侧与第j张碎片左侧是否相连为决策变量,以每张碎片右侧一定与某张碎片左侧相连、每张碎片左侧一定与某张碎片右侧相连为约束条件。
算法为先提取任意张碎片边缘灰度值,得到差异度矩阵,带入规划模型中,通过LINGO软件找到中英文碎片的拼接方法,得到复原序号如表一、表二,从而得到出中文与英文复原图片。
表一:中文碎片的复原序号表二:英文碎片的复原序号片拼接方法。
结果表明两种方法得出的中英文复原顺序相同,复原图片相同,同时人工检验中英文复原图片中无明显语法、单词错误,证明复原图片准确。
针对问题二,由于每张碎片有左侧、右侧和上侧、下侧,与问题一相同,可以定义两个差异度指数,建立双目标0-1规划模型。
但由于差异度矩阵过大,决策变量复杂,我们又建立了改进的简化模型,定义高度差,运用聚类分析方法,按照高度不同将所有碎片分为18类,然后再以第j块碎片左侧与第i块碎片右侧的差异度最小为目标函数,以第i块碎片右侧与第j块碎片左侧是否相连为决策变量,以每块碎片右侧一定与某块碎片左侧相连、每块碎片左侧一定与某块碎片右侧相连,满足高度差阈值为约束条件,建立单目标0-1规划模型。
算法为先提取任意块碎片边缘灰度值和高度,得到差异度矩阵,编程将中文碎片按高度分为18类,人工干预分为11行,再利用问题一中碎片纵向复原方法,得到中文复原序号,画出中文复原图片。
(英文复原模型相似,仅高度差阈值不同)针对问题三,对于双面英文碎片的复原问题,我们提出了单词残缺程度的定义,定量的描述了英文碎片的特征信息,构成了算法的核心内容,运用编程和人工干预将碎纸片分为11类,每类19个碎片,在此基础上利用前两问所建的0-1规划模型,再加上双面的一些约束条件,得到双面英文复原序号,并绘出英文双面复原图片。
规则碎纸片的拼接复原模型摘要图像碎片复原技术是一项综合的并具有实用价值的研究课题,它的最终目的是要从大量的任意图像碎片中找出真正符合实际的匹配对,并根据这些匹配关系将相邻的图像碎片拼合起来重现图像的原貌。
图像碎片的复原工作是以实际碎片为参考依据进行的,建立能够准确描述实物的计算机模型是图像碎片复原工作的关键步骤之一,对碎片复原的后续工作有基础性的作用,模型建立的准确性和复杂性将影响到后续工作能否顺利进行下去。
本文利用边缘特征点匹配,相关系数,广度搜索法等方法建立了规则碎纸片的拼接复原模型。
对于问题一,我们利用边缘特征点匹配的方法,先提取边缘特征点的灰度矩阵,再寻找矩阵相似度最大的碎片实现匹配。
对于问题二,我们采用了基于文字特征的半自动拼接方法,通过找到相交点距离相等的最大个数来确定匹配图像。
对于问题三,我们提取了各边的像素作为灰度矩阵,用X ,Y ,H ,L 确定目标函数min d (,i j X Y )=i j X Y -,min d (,i j H L )=i j H L -,运用广度搜索算法找出最佳匹配项。
最后,本文还对模型推广进行了进一步讨论,分析了模型的优缺点,提出了改进模型的方法和思路。
关键词:图像拼接;规则碎片;图像复原;灰度矩阵;广度搜索算法;特征匹配;自动拼接;图像分割;匹配准则一.问题的重述破碎文件的拼接在司法物证复原、历史文献修复及军事情报获取等领域都有重要的应用。
传统拼接复原工作由人工完成,准确率较高,但效率很低。
随着计算机技术的发展,人们试图开发碎纸片的自动拼接技术,以提高拼接复原效率。
碎纸自动拼接技术是图像处理与模式识别领域中的一个较新但是很典型的应用,它是通过扫描和图像提取技术获取一组碎纸片的形状、颜色等信息,然后利用计算机进行相应的处理从而实现对这些碎纸片的全自动或半自动拼接还原。
请讨论以下问题:1. 对于给定同一页印刷文字文件的碎纸机破碎纸片(仅纵切),建立碎纸片拼接复原模型和算法,并针对附件1、附件2给出的中、英文各一页文件的碎片数据进行拼接复原。
碎纸片拼接与复原摘要本文讲述的是碎纸片拼接复原的问题。
碎纸片拼接复原在情报和考古方面用的较多,有很大的使用价值。
在实际操作中,人工拼接的准确度极高,但随着碎片数量增大,拼接难度将大大提高,这时必须借助计算机来处理,最后辅以人工干预来完成。
针对本文提出的问题,我们的模型不区分文字语言,把图像的灰度值作为建立模型的关键切入点。
使用matlab里的imread函数读入BMP图像,并取得其灰度值矩阵,矩阵中每一元素为图像每一像素的灰度值,通过对其边缘的灰度值进行匹配,求出其拼接顺序。
本文中匹配这一步骤采取求图片两边的一列像素灰度值进行求差绝对值,并将求其均值最小作为匹配原理,匹配度必须小于0.1。
第一问中只涉及到单面碎纸片,而且仅把单张纸进行纵向切碎成规则长条状,所以只需对其左右端像素的灰度值进行采集,然后进行匹配,将匹配度最高的两边连起来。
不过有两条纸的左边和右边全为白色,则将其单独列出来,作为复原后纸张的左右端,最后进行人工校正。
第二问中的纸片数量增多,且涉及到横纵同时切碎的纸片,所以不能直接沿用第一问的方法。
但通过观察,横切出的每一横条上碎纸片文字具有明显的共同点,可以进行快速匹配。
首先确定出第一行,通过寻找灰度矩阵最上面全为255的行数最多的图像,作为拼出第一行的碎片。
再用与刚才相似的方法,不过须取列为255最多的图片作整个复原图第一列。
最后从第二行第二个开始,从左至右从上到下依次匹配上碎片,最后结果需进行人工校正。
第三问由于涉及到双面纸的问题,可以继续沿用第二问的方法,不过拼接标准需要改为两面灰度值匹配度之和,将纸片拼接好后,最后再人工检查其是否拼接完全正确。
此模型还可用于彩色图像的拼接,用RGB颜色系统,同样是导出每一像素的RGB 值,构成矩阵,用与文中相似的办法进行破碎彩色图像的拼接。
关键词:拼接复原图像处理灰度值矩阵匹配1 问题重述B题碎纸片的拼接复原破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有着重要的应用。
传统上,拼接复原工作需由人工完成,准确率较高,但效率很低。
特别是当碎片数量巨大,人工拼接很难在短时间内完成任务。
随着计算机技术的发展,人们试图开发碎纸片的自动拼接技术,以提高拼接复原效率。
所述问题如下:1. 来自同一页的印刷文字在经过碎纸机纵切以后等到的长条碎片,进行计算机自动拼接复原,并给出相应模型和算法。
此题的内容在附件1和附件2,分别为中英文。
在需要人工干预的地方,写明干预方法与干预的时间点。
复原结果用图片和表格形式分别表达。
2.来自同一页的印刷文字在经过碎纸机横纵切以后等到的小矩形碎片,进行计算机自动拼接复原,并给出相应模型和算法。
此题的内容在附件3和附件4,分别为中英文。
在需要人工干预的地方,写明干预方法与干预的时间点。
复原结果用图片和表格形式分别表达。
3.上述两问都是单面打印的情况,而此问涉及双面打印的纸张。
来自同一页的双面印刷文字在经过碎纸机横纵切以后等到的长条碎片,进行计算机自动拼接复原,并给出相应模型和算法。
此题的内容在附件5,只有英文。
在需要人工干预的地方,写明干预方法与干预的时间点。
复原结果用图片和表格形式分别表达。
结果表达格式说明复原图片放入附录中,表格表达格式如下:(1)附件1、附件2的结果:将碎片序号按复原后顺序填入1×19的表格;(2)附件3、附件4的结果:将碎片序号按复原后顺序填入11×19的表格;(3)附件5的结果:将碎片序号按复原后顺序填入两个11×19的表格;(4)不能确定复原位置的碎片,可不填入上述表格,单独列表。
2 模型假设1、假设所有碎片均完整,并且不出现破损,污损情况。
2、假设纸片在扫描时全为正向扫描,无反方向纸片。
3、假设所有问题给出的碎片均能拼出完整的纸张。
4、假设题目中碎片与真实纸张物理性质相同。
5、假设纸张内容有意义。
3 符号说明4.1 问题一4.1.1理论部分对于这道题,只涉及到纵切的碎片,我们建立模型不区分英文字和中文字(下两问同),并使用求样本均值作为求匹配度关键方法。
⨯⨯,矩阵元素的位置用三维首先需要一个三维的碎片矩阵A,其大小为19807219⨯的复原图矩阵B。
首先需要用imread 直角坐标Oxyz表示,还要一个大小为19801368⨯Oyz矩阵,函数读出碎片的灰度值矩阵,放入A中,每一个碎片占一个二维的198072记为i A,一共19张图,用19个这样的二维矩阵表示,于是构成三维矩阵A。
复原图矩阵B是将碎片的灰度值矩阵按正确的顺序拼接而成的矩阵,也就是最终复原图的灰度值矩阵。
拼接的第一步是要确定最左边的一条碎片,由于只纵切的话,切口几乎都会把部分字切开,所以这里需要做的是扫描矩阵A 的Oxz 第一子矩阵,如果有一列全为255,那么此列所在的二维的198072⨯Oyz 矩阵即为复原图最左边的碎片的灰度值矩阵*i A 。
然后将*i A 的数值读入到复原图矩阵B 的第1列到第72列。
接下来要依次拼接上其他的碎片。
假设碎片矩阵A 中的子矩阵i A 已经拼接上,此时要寻找下一块能够拼接上的碎片,假设为j A 。
此时就需要进行匹配,在此情况的匹配过程中需要先取出已拼接上的子矩阵i A 的最右边第72列的灰度值,并依次取出碎片矩阵A 中剩下的未拼接上的子矩阵的最左边既第1列数值,如图示。
255224199176186203i ⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪= ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭A255223204165198231j ⎛⎫⎪ ⎪ ⎪⎪ ⎪= ⎪⎪ ⎪ ⎪⎪ ⎪⎝⎭A如图中给出的例子,左边矩阵为上一次拼接上的矩阵取出其第72列的部分数值,右边矩阵为剩下的某一矩阵并取出其第一列的部分数值。
接下来就是匹配过程。
匹配过程遵循以下式子:19801((,1)(,72))1980jik j k k v =-=∑A A然后取这个均值j v 最小的矩阵j A 作为新的一个最佳匹配矩阵,若有两个最小值相等,那么程序报错,并进行人工干预,选择其中最适合的碎片。
最后将最佳匹配的碎片矩阵j A 读入到上一次更新后的复原图矩阵B 相应的位置即可。
然后将上述步骤重复,直到复原图矩阵B 被填满,然后用imshow 函数将复原图输出得到碎纸片拼接后的完整图片。
4.1.2结果分析中文图片程序输出排序结果为:的碎片排序依然是可直接使用计算机的输出结果,不需要人工干预,下面是排序的结果:4.2问题二4.2.1理论部分第二个问题涉及到横纵向都切的纸片,不能单纯地移植上一问的模型和算法,但其建模思想和算法核心是不变的,只是多了一点步骤而已。
并且每一个纸片形状相同,那么同样构造一个三维的碎片矩阵A ,其大小为18072209⨯⨯,依旧一个大小为19801368⨯的复原图矩阵B 。
复原图矩阵B 与碎片矩阵A 的作用和上一问均相同,只是碎片矩阵A 的尺寸有所变化,根据碎片的尺寸和数量而变。
步骤一:那么建立此问题模型的第一步是确定组成复原图第一行的碎片及其顺序。
首先要搜索出组成第一行的碎片,遍历碎片矩阵A 的最上面一个矩阵,既Oxy 面的第一个矩阵,找出整个Oy 一行值全为255的碎片灰度值矩阵i A ,然后从这些矩阵当中,再从第一行开始遍历一次,直到遇到某一行有不为255的值时终止,选择出含有值全为255的行且行数量最多的那些碎片,他们即为组成第一行的碎片。
然后从这些碎片中,找出最左边的一个,也就是整个复原图最左上角的那个碎片。
由于这次加入了横切,那么很有可能有些非边缘的碎片其左右边会出现一列白色的情况,那么就仿照上面一步,扫描整个第一行的碎片,从他们灰度值矩阵i A 的第一列开始扫描。
因为在边缘的碎片由于页边距会产生较大的空白,所以扫描到某列开始出现非255数值为止,全为255列数最多的碎片即为左边的碎片。
接下来此行的匹配仿照上一问,使用下式求匹配度1801((,1)(,72))180jik j k k v =-=∑A A并选择匹配度最小的进行匹配。
每匹配上一个碎片就将其的灰度值矩阵i A 读入到复原图矩阵B 的相应位置。
步骤二:第二步就是确定整个复原图的第一列的碎片。
通过第一步我们已经确定了此列的第一个碎片,下面就是用原来的方法进行匹配,拼接出第一列只不过原来是左右拼接,现在只需改成上下拼接即可。
匹配上以后就将其的灰度值矩阵i A 读入到复原图矩阵B 的相应位置。
255223204165183i ⎛⎫= ⎪⎝⎭A234199203201187j ⎛⎫= ⎪⎝⎭A匹配度计算公式如下:721((1,)(180,))72jik j k k v =-=∑A A图例如下:步骤三:确定了第一行和第一列以后,第三步就要把其他碎片填进去。
这一步需要把匹配度的计算方式作一定更改,取为平均匹配度j v 。
由于我们是将剩下的碎片一块一块由左至右由上到下拼接上,于是我们要同时知道该碎片的上边缘ju v 和左边缘jl v 的匹配度,由两个匹配度来判断是否能匹配。
然后再取这两个匹配度的均值既平均匹配度j v 。
然后取j v 最小的作为最佳匹配碎片。
每匹配上一个碎片,就将其的灰度值矩阵i A 读入到复原图矩阵B 的相应位置。
三个变量的计算公式如下:7211801((1,)(180,))72((,1)(,72))180jiuk ju jilk jl k k v k k v ==⎧-⎪⎪=⎪⎨⎪-⎪=⎪⎩∑∑A AA A ,2ju jlj v v v +=匹配过程如图示:255223204165183iu ⎛⎫= ⎪⎝⎭A255224199176186203il ⎛⎫ ⎪ ⎪ ⎪ ⎪⎪= ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭A 234199203201187255223204165198231j⎛⎫⎪ ⎪⎪ ⎪ ⎪= ⎪ ⎪ ⎪⎪ ⎪ ⎪⎝⎭A按照上述步骤,先分别循环完第一步和第二步,最后循环第三步,即可得到完整的复原图矩阵B ,然后和上问一样,使用imshow 函数将其输出即可得到复原后的拼接图像。
4.2.2结果分析中文图片程序输出排序结果为:从最后的图像结果看来,不需要更改计算机一次显示的结果,说明拼接是正确的。
英文的碎片排序依然是可直接使用计算机的输出结果,不需要人工干预,下面是排序的结果:4.3问题三4.3.1理论部分这个问题只涉及到英文的纸片,不过却是双面的,那么可以沿用上一问的方法,不过需要进行一些改进。
这次要构造两个三维的碎片矩阵a A 和b A ,其大小均为18072209⨯⨯,两个大小为19801368⨯的复原图矩阵a B 和b B 。
开始读入的时候,将文件名有a 和b 的碎片图像,用imread 函数分别按数字顺序读入到碎片矩阵a A 和b A ,接下来进行几个步骤,这里的人工检查会多一点。