碎纸片拼接

合集下载

基于文字特征的文档碎纸片半自动拼接

基于文字特征的文档碎纸片半自动拼接
C m ue n ier ga d p l ain 计算机工程与应用 o p tr gnei n pi t s E n A c o
基于文 字特征 的文档碎纸 片半 自动拼 接
罗智 中
LUO i h n Zh z o g
华东交通大学 机 电工程学院 , 南昌 3 0 1 303
S h o f e h n c l n e tia n i e rn , s i aJa t n i e st, n h n 3 0 , i a c o l c a i a d Elcrc l g n e i g Ea t oM a E Ch n io o g Un v r i Na c a g 3 0 Ch n y 1 3

Ke r s t c i g o rp e a e ; ma e si h n ; a tr e o n t n y wo d :si h n f c a p dp p r i g t c i g p t n r c g i o t s t e i

要: 分析 了基 于几何特征 的碎 纸 片 自动拼接 方法的缺点 , 究 了碎 纸片 内文字行特征 、 研 表格特征 特点 , 以及碎 纸片 内文字行
l 引言
常规文档碎 纸片计算机 拼接方法一般 利用碎片边缘 的尖 点特征 、 角特征 、 尖 面积特 征等几 何特征 , 索 与之匹配 的相 搜 邻碎纸 片并进 行拼接 n , 这种基 于边 界几何 特征 的拼接方 法 并 不适 用 于边 缘形 状相 似 的碎 纸片 。但 是 人手撕 裂 碎纸 片 时 , 节省 时 间习惯 上总 是先 将碎 纸 片重 叠在 一起 , 为 然后 撕 裂 , 碎纸片重叠 起来 , 续撕裂 , 再将 再继 这样反复下 去 , 直到得 到满意大小 的碎 纸片为止 。这 种撕裂过程会 产生很多形状 非 常相 似的碎纸 片 , 接时如果只利 用碎片的边 界特 征 , 接效 拼 拼

碎纸片拼接复原的数学模型_杨武

碎纸片拼接复原的数学模型_杨武

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.。

碎纸片拼接复原的数学方法

碎纸片拼接复原的数学方法

碎纸片拼接复原的数学方法拼图游戏,一种看似简单却富含深度的游戏,给人们带来了无穷的乐趣。

然而,大家是否想过,这样的游戏其实与数学有着密切的?让我们一起探索碎纸片拼接复原背后的数学方法。

碎纸片拼接复原,其实就是一个计算几何问题。

在数学领域,欧几里得几何和非欧几里得几何是两个基本而又重要的分支。

欧几里得几何主要研究的是在平面上两点之间的最短距离,这是我们日常生活中常见的几何学。

而非欧几里得几何则研究的是曲面上的几何学,这种几何学并不符合我们日常生活中的直觉。

碎纸片拼接复原的问题就是一种非欧几里得几何问题。

在计算机科学中,图论是研究图形和网络的基本理论。

其中,图形遍历算法可以用来解决碎纸片拼接复原问题。

这种算法的基本思想是:从一点出发,尽可能多地遍历整个图形,并在遍历的过程中对图形进行重建。

对于碎纸片拼接复原问题,我们可以将每一张碎纸片看作是图中的一个节点,当两张碎纸片拼接在一起时,它们就形成了一个边。

通过这种方式,我们可以将所有的碎纸片连接起来,形成一个完整的图形。

在计算机科学中,碎纸片拼接复原问题被广泛应用于图像处理、数据恢复等领域。

例如,在数字图像处理中,如果一张图片被切割成若干块,我们可以通过类似的方法来恢复原始的图片。

在数据恢复领域,当一个文件被删除或格式化时,我们也可以通过类似的方法来恢复文件。

碎纸片拼接复原的问题不仅是一个有趣的拼图游戏,更是一个涉及计算几何、图论等多个领域的数学问题。

通过运用这些数学方法,我们可以有效地解决这个问题,从而更好地理解和应用这些数学理论。

在我们的日常生活中,我们经常会遇到一些破碎的物品,例如碎镜子、破碎的瓷器,或是碎纸片等。

这些物品的复原过程都需要一种科学的方法来帮助他们重新拼接起来。

这种科学方法就是碎纸片拼接复原技术。

碎纸片拼接复原技术是一种基于数学模型的方法,它通过比较碎纸片边缘的形状、纹理、颜色等特征,来找到碎纸片之间的相似性和关联性,从而将它们拼接起来。

碎纸片自动拼接复原模型的实现

碎纸片自动拼接复原模型的实现

式) a =( a , 1 , …, 口 : ) 与a , =( 日 , 以 1一 , ), 我们定义相似度:
通过对图 中碎片的观察与分析 , 我们发现这些碎片具有共同的
特征。 如图 4 6 ) 中碎片上被标记的部分所示。 l 8 O ∑n 0 n 由图 4 6 ) 可以看出, 这些图片都是有一行 缺少英文字符 , 使得碎片 ( , Z ) 这些特殊的5 ' , -  ̄ l t 图片都是可以人工干预处理的。 ( 2 ) 对应的模式比较异常。 在 此基 础上 考虑 碎 片拼接 过程 , 先 对分 类 的碎 片左 右 拼接 , 匹配 仅 其中 为临界值。若 , x o 则我们认为 与 同属一类, 对于 在所在行匹配合成 。 上下匹配还要考虑行内其他元素的上下匹配。 合成 那些存在特殊情况的碎片 , 我们在分好类的基础上 , 再进行人工干预处 时整行都要合成。 综合考虑以上因素 , 我们对所有可以拼接的数据进行 理。c 同 类碎片拼接。 按照单面纵向拼接方法对每—类中的所有碎片进 拼接整 合 。( 图5 ) 行拼接 ,则可得到 同一类中碎片的拼接方案 ,进而得到横 向的 “ 大碎 在这里,处理特殊碎片需遵循 的原则 :以第二次拼接 的图片为底 片” 。c L 不同类“ 大碎片” 的拼接。“ 大碎片” 为横向的, 但此 问题- 仍 属于单 图, 剩下的 1 8 块依次和底图匹配 , 匹配原则包含经此处理之后便于观 面单向的拼接问题 , 因此可采用计算灰度值耦合度的方法进行拼接。 察整体拼接隋况, 但是拼接后在合成部分已做断开划线处理 , 这样便于 2 . 2 . 2英文单面纵横切碎片拼接。 考虑到英文的特殊 陛, 根据英文的 将剩下 的碎片进行拼接分析。 经过此次拼接过程 , 可以观察已组合部分 书写版式原则 , 可以将整篇文章放在带有英文四线格的底面中。 既然可 是否匹配正确 , 若不匹配 的话 , 可 以暂时先将那块碎片剔除, 放到第 三 以放在 四线格中, 这里我们把一行四线格看成一行, 可以确定每相邻行 部分再进行匹配组合。 碎片四边都要依次匹配 , 匹配度最高的就是缺少 的行间距是一定的。行宽也是一定的, 考虑字母仅占有上中、 中、 中下 、 块部分。按 以上方法对样本文件 4中的碎片进行拼接 ,结果见图 5所 上中下等几种情况 , 可 以确定每一个字母都是在中间有书写笔画的, 四 不 。 线格中上下行都具有英文笔画的是少数。 结束 语 基于这种考虑, 可以对每一行四线格的中间内容进行求和, 当其和 通过 研究 规 则切割 碎 纸片 的拼 接复原 问题 ,我们 针 对单 面 中英 文 的值小于某一值的时候我们忽略四线格上面和下面的内容 ,进而只考 纵向切割碎片以及单面中英文纵横双向切割碎片提 出了不同的拼接复 虑 四线 格 的中 间部 分 。 对 于那些 特殊 的碎 片 , 我们 可采用 人 工干预 的方 原模型以及方法。该方法将一张张碎片文件转换成 了一个个像素点值 式将其挑出, 所以将英文中四线格的上半部分和下半部分的内容忽略 , 矩阵, 对于计算机来说 , 碎片文件 的处理就变成了矩阵集合 的操作 ; 另 可以采取中文碎片模式转换的类似方法, 从而到英文碎片的模式。 外引入欧式距离将图像的拼接转化为耦合度的计算 ;接着考虑到印刷 3 实验 结果 及分析 文本文件的排版特点 , 引入模式识别的概念 , 可 以将大量杂乱碎片进行 实验是在 Mi c r o s o f t Wi n d o w s 7系统上进行 ,内存限定是 2 G B , 算 分类 , 然后逐类拼接 , 最终将双向拼接问题转化为单 向拼接问题 ; 最后 法实现语言为 M A T L A B 7 . 0版本。根据不同的样本文件使用相应的拼 所建立的模型效率好 , 精度高, 从实验结果上可以看 出该模型的可行性 接算 法 , 从 而得到 下面 的模拟 结果 。 和有 效 胜。 3 . 1 中英文单面纵切拼接实验。 样本文件 1 和2 分别为中英文单面 致谢 纵切碎片数据 ,其中每页纸被切为 1 9 条碎片 ,分别用 O 0 0 . b mp 一 0 1 8 . 感谢对此项研究工作提供基金资助的西北民族大学 中央高校基本 b mp 编号命名。利用 MA T L A B工具中的 自 带 函数 i m2 b w和 i m r e a d , 将 科研业务费专项资金 N o . 3 1 9 2 0 1 3 0 0 0 8 ) t ) 2 及西北民族大学科研创新 团 图像转化为仅包含 0和 1 的向量 ,接着根据中英文单面纵切算法可以 队计划 , 同时感谢参与本论文讨论的赵习猛 、 任宗秀和王本涛。 得到碎片的耦合度矩阵 , 由此可得样本文件 1 , 即中文单面纵切碎片的 参考 文献 拼接 复 利l 赙 为:

纸张撕碎重新复原的方法

纸张撕碎重新复原的方法

纸张撕碎重新复原的方法
将纸张撕成小块后,可以试用以下方法重新复原:
1. 拼图法:根据纸张上的图案或文字的特征,将撕碎的纸张小块一一拼接在一起。

可以使用胶水或透明胶带将小块粘接在一起,直到整张纸张还原为完整的状态。

2. 粘贴法:将所有纸张小块按照纸张上的线条方向,粘贴在一张背景纸上。

根据纸张上的文字或图案特征,可以推测纸张的排列顺序。

3. 数字法:对每个纸张小块进行编号,然后根据编号重新排列纸张小块。

4. 计算机辅助法:使用扫描仪或相机将撕碎的纸张进行扫描或拍照,然后使用图像处理软件将图像还原,最后打印出完整的纸张。

请注意,纸张撕碎再复原的难度取决于撕碎的程度和纸张的特性。

有些纸张可能不易复原或需要特殊的技术手段,如复印纸、碎纸机处理后的纸张等。

碎纸片拼接

碎纸片拼接

碎纸片拼接
拼接碎纸片可以有多种方法,具体取决于碎纸片的形状和大小,以及你想要拼接的图案或图像。

以下是一种常见的方法:
1. 准备工具和材料:碎纸片、胶水或双面胶、剪刀、底板(可以是纸板或硬纸板)。

2. 将底板放在平整的表面上,确保它固定不会移动。

3. 选取一片碎纸片作为起始点,将其涂上适量的胶水或双面胶,然后将其粘贴到底板上。

4. 继续选择并粘贴碎纸片,将它们与已粘贴的碎纸片对齐,以形成你想要的图案或图像。

可以使用剪刀来修剪碎纸片
的形状,以便更好地拼接。

5. 当所有碎纸片都被粘贴到底板上后,检查一遍,确保它
们都牢固地粘贴在一起。

6. 如果需要,可以在碎纸片的表面涂上一层透明的胶水或
艺术胶水,以增加拼接的稳固性和保护。

当然,如果你有更具体的要求或想要使用不同的技术,还
可以尝试其他的方法,如使用胶带、编织或缝合等。

基于欧氏距离的规则碎纸片拼接复原模型

基于欧氏距离的规则碎纸片拼接复原模型
2 0 41 1 0 8 l l 6 1 3 6 7 3 3 6 20 7 1 3 5 1 5 76 4 3 1 9 9 4 5 l 7 3 7 9 1 61 l 7 g 1 4 3
其中, D 中第 i 行第 J 列元素表示第 i 号二值
矩 阵 所属 的碎 片 的左 边缘 和第 J 号 二值 矩 阵所 属 的
d 一 0 =
, j 等于 1 或2
( 5 )
d 一 =
, j 等于 1 或2
( 4 )
氏距 离 ( i , l = 0 , 1 , 2 , …, n ) 。
其中, d u - U 表示列向 量磊 与列向量 之间的欧
3 - 3 分割横 向复原图片并纵 向拼接
根据 已知每横行碎片个数 ,分割碎片横向拼接
图片,仅取各个横 向复原拼接图片的第一个碎片二 值矩阵的第一行与最后一行 , 组成矩阵 s ’ , 转置得到
矩阵 s i T计算 中各 列 向量 间的欧 氏距 离 。 记第 i 幅分 割后 的横 向拼 接 图片 中第 一 个碎 片

列之间的排列顺序 , 继而得到碎片的复原顺序。 由于 些碎片的边缘全为白色, 无法确定其位置 , 此时需
虑将碎纸片横向复原 , 得到横向呈带状的拼接图片 ; 然后根据附件 5的每横行碎片个数 , 分割横 向拼接 图片并进行纵 向复原 , 最后对无法判定 的碎片进行
人工 干 预 。
要 人 工干 预 。
运用 Ma t l a b 软件 , 得到附件 5 所有碎片数据的
二值 矩 阵 。
记碎片的正面的二值矩 阵为第 1 号至第 n 号, 碎片的反面的二值矩阵为第 n + l 号至 n + 2号 , 将所 有读人碎片的二值矩阵的第一列和最后一列取 出, 组成矩阵 s , 计算 s中各列 向量间的欧氏距离。 记第 i 号二值矩阵的第一列为 , 最后一列为

数学建模碎纸片拼接复原题目

数学建模碎纸片拼接复原题目

数学建模碎纸片拼接复原题目《数学建模碎纸片拼接复原:一场奇妙的探索之旅》我呀,最近在学校里遇到了一个超级有趣又超级难的事儿,那就是关于数学建模里的碎纸片拼接复原题目。

这可不是一般的题目,就像是一个超级复杂的拼图游戏,但又比普通拼图难上好多好多倍呢!咱们先来说说这个碎纸片是怎么回事吧。

想象一下,有好多好多的碎纸片,就像被大风吹散了的树叶一样,到处都是。

每一片碎纸片都像是一个小秘密,它上面只有一部分的文字或者图案。

这些碎纸片有的边缘是平滑的,有的却是弯弯曲曲的,就像不同形状的小云朵在纸上飘着。

我和我的小伙伴们刚开始看到这个题目的时候,都瞪大了眼睛,嘴巴张得能塞下一个大鸡蛋。

“这可怎么拼啊?”我的小伙伴小明忍不住叫了出来。

我也在心里直犯嘀咕,这简直就像是要把散落在地上的星星重新组合成原来的星座一样困难。

不过,我们可没有被这个难题吓倒。

我们就像一群勇敢的小探险家,准备去解开这个谜题。

我们首先想到的是从碎纸片的边缘入手。

就好比我们在搭积木的时候,先找那些有特殊形状的积木块一样。

那些边缘有独特形状的碎纸片,可能就是我们找到拼接复原方法的关键。

我拿起一片碎纸片,上面有一点点像是字母“e”的半边。

我就大声地对小伙伴们说:“你们看,这个会不会和另一片能组成一个完整的‘e’呢?”大家都围了过来,眼睛里闪烁着兴奋的光芒。

小红说:“那我们快找找看呀!”于是我们就开始在那一堆碎纸片里翻找起来。

这感觉就像是在寻宝,每一片碎纸片都可能是宝藏的一部分。

可是,找了半天,我们发现事情并没有那么简单。

有好多碎纸片的边缘看起来好像能拼接在一起,但实际上它们的内容却对不上。

这就像你以为你找到了两块合适的拼图,结果发现上面的图案根本不是一回事儿。

我有点沮丧地说:“这也太难了吧,感觉就像在黑暗里摸东西,怎么也找不到正确的方向。

”这时候,聪明的小刚说话了:“我们不能只看边缘呀,还得看看纸片上的文字或者图案的内容呢。

比如说,如果一片碎纸片上有一个单词的开头部分,那我们就得找有这个单词结尾部分的碎纸片。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

碎纸片拼接与复原摘要本文讲述的是碎纸片拼接复原的问题。

碎纸片拼接复原在情报和考古方面用的较多,有很大的使用价值。

在实际操作中,人工拼接的准确度极高,但随着碎片数量增大,拼接难度将大大提高,这时必须借助计算机来处理,最后辅以人工干预来完成。

针对本文提出的问题,我们的模型不区分文字语言,把图像的灰度值作为建立模型的关键切入点。

使用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 ,接下来进行几个步骤,这里的人工检查会多一点。

相关文档
最新文档