碎纸片还原问题求解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
碎片编号 006
Dn
111883
碎片编号 013
Dn
119446
27544
84125
112468
11626
86740
附件1的拼接复原文件,拼接顺序如下表所示: 表2 附件1文件的拼接顺序
顺序
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
编号
0 0 8
0 1 4
0 1 2
0 1 5
0 0 3
0 0 6
0 0 2
0 0 7
0 1 5
0 1 8
0 1 1
0 0 0
0 0 5
0 0 1
0 0 9
0 1 3
0 1 0
0 0 8
0 1 2
0 1 4
0 1 7
0 1 6
0 0 4
问题2的模型建立及求解
问题2拼接时要满足横向和纵向匹配,分两步进行, 首先考虑横向拼接,运用Matlab程序对附件3给出的209 个碎片图像进行像素矩阵计算,每个图像得到一个 180*72 的矩阵,刷选出209个碎片图像中每个像素矩阵的 第一列像素矩阵和最后一列像素矩阵,即2个 180*1 的像 素矩阵.然后对得到209个第一列像素矩阵和最后一列像素 矩阵进行列求和.把上述的求和结果转换成一个 209*209 的矩阵:
部分行拼接结果如图所示
图2 附件3横向拼接复原图(1)
图3 附件3横向拼接复原图(2)
最后,由于只有11个横条,并且根据汉字的笔画特征 ,本文采取用人工干预的方式,对11个横条进行干预,逐 一确定,最终得到到附件3的拼接复原结果:
表5 附件3部分拼接复原结果
顺序 1 0 4 9 20 0 6 1 … … 2 0 5 4 21 0 1 9 … … 3 0 6 5 22 0 7 8 … … 4 1 4 3 23 0 6 7 … … 5 1 8 6 24 0 6 9 … … 6 0 0 2 25 0 9 9 … … … 13 0 1 1 32 1 6 3 … … 14 0 2 2 33 0 7 2 … … 15 1 2 9 34 0 0 6 … … 16 0 2 8 35 1 7 7 … … 17 0 9 1 36 0 2 0 … … 18 1 8 8 37 0 5 2 … … 19 1 4 1 38 0 3 6 … …
本文运用碎纸片的自动拼接技术,对每个附件给出的 碎片文字材料进行分析,获取图片所提供的像素信息,将 其转化为矩阵,根据图像的像素矩阵值进行碎片拼接,用
计算机去处理数据,拼接时不但考虑碎片边缘是否匹配,
还要判断碎片内的字迹断线和文字内容是否匹配,此时需 要在必要的时候进行一定的人工干预。
模型的假设及符号说明 :
纸片的拼接复原
成员:xxx
日期:2013年11月7日
引言:
破碎文件的拼接在司法物证复原、历史文献修复以及 军事情报获取等领域都有着重要的应用。传统上,拼接复
原工作需由人工完成,准确率较高,但效率很低。特别是
当碎片数量巨大,人工拼接很难在短时间内完成任务。随 着计算机技术的发展,人们试图开发碎纸片的自动拼接技 术,以提高拼接复原效率。碎纸片自动拼接复原技术现今 可以归结到计算机视觉和模式识别领域内的问题。
185 2 0 5 204 0 0 4
186 0 8 5 205 1 0 1
187 1 5 2 206 1 1 3
188 1 6 5 207 1 9 4
189 0 2 7 208 1 1 9
190 0 6 0 209 1 2 3
编号
…
顺序
…
编号
…
问题三的求解: 用求绝对差的算法匹配点对,后期运用欧式距离进行 检验匹配度. 步骤一 运用Matlab程序对418个碎片图像进行像素矩阵转换 计算,得到418个180 *72的矩阵,提取所得每个像素矩阵 的第一列像素矩阵和最后一列像素矩阵,即均为 180*1的 像素矩阵. 步骤二 对得到418个第一列像素矩阵和最后一列像素矩阵分 别进行列求和,然后分别存放在矩阵D和Dt中,接下来用 Dt的每一项依次减去D的每一项之后并求绝对值,得到一 个矩阵M.
1、假设碎纸机把一页印刷文字文件碎成形状规则,大小一样的碎片,看
做形状、大小相同的长方形.
2、在碎纸过程中,只考虑文字被切开,不考虑文字笔画的丢失、碎片 添加的任何痕迹等.
3、假设文档碎片的文字的方向已经确定(按照阅读标准确定,从左向左
右,自上而下),不考虑碎片图像的旋转问题. 4、图片在复原的过程中,不考虑图片像素的改变,只考虑碎片相对应的 固定像素值的匹配问题.
编号
…
顺序
…
编号
…
顺序 编号 顺序
… … …
172 0 7 1 191 0 8 9
173 1 5 6 192 1 4 6
174 0 8 3 193 1 0 2
175 1 3 2 194 1 5 4
176 2 0 0 195 1 1 4
177 0 1 7 196 0 4 0
184 1 7 0 203 1 1 7
a11 a 21 a209,1
a12 a22 a209,2
a1,209 a2,209 a209,209
其中第 i个碎片最后一列图像矩阵值和与第 j个碎片第 一列的图像矩阵值和的差的绝对值为矩阵中的元素 aij (I,j=1,2….209),比较筛选出矩阵中的第 i行所有元素的最 a ,则说明第 j个碎片的左边与第 i个碎片的右 小的一个 ij 边相匹配,这样就完成了附件3的横向拼接顺序,得到11 个新的横条碎片. 进行纵向拼接,对得到的所有新的横条碎片进行像素 矩阵计算,用Excel软件统计各个新横条的像素矩阵中第 一行数据中255的个数,得到个数最多的碎片是纵向拼接 顺序的第一个.
谢 谢!
2013年11月6日
基于图像灰度的拼接方法简单简单易行,本文用差和 法,其中 S , T分别代表图像各个像素的灰度值, i , j 代 表各个像素的坐标.其值最小者所对应的位置为最佳的匹
配位置.这里我们定义对应像素的灰度的绝对值之差然后
求和,其计算文字图片像素与和所搜索的文字图片像素灰 度值的距离:
Dn Sn (i, j ) Tn (i, j )
符号说明
Dn ————相对应的像素绝对差值
Sn (i, j ) ——像素矩阵的像素值
aij
————第i个碎片最后一列与第j个碎片第一列的图像矩阵值
i, j 1, 2, 209 和的差的绝对值 S,T 分别代表图像各个像素的灰度值,i , j 代表各个像素的坐标
模型准备:
模型的改进与推广:
为了增加系统的实时性、减少运行时间,可考虑两种 基本思路是减少计算量或者提高计算机资源利用率.在编 程过程中尽量考虑调用、循环语句,尽量避免冗余的代码 ,减少运行时间。 根据现实情况,碎纸机进行碎纸时得到的纸片不一定 是规则的,或者文物文献碎片不一定相同时,则应优化本 文提出的基于文字图形的半自动拼接算法,综合考虑碎片 的几何特征,如碎片边界等,减少人工干预,提高拼接效 率,进一步提出文字图形的自动算法.
问题的重述:
首先,对于给定的来自同一页单面印刷文字文件的碎
纸机破碎中、英文纸片(仅纵切),建立碎纸片拼接复原 模型和算法; 其次,在第一问的基础上设计出单面印刷文件既纵切 又横切的碎纸片拼接复原模型和算法; 最后,对还有可能出现双面打印文件的既横切又纵切 的碎纸片设计出相应的拼接复原模型与算法。
问题的分析:
表1 附件1碎片008与其他碎片的相素差的绝对值表
碎片编号
Dn
000 97181
001 110965 007 98983 014
002 116889 009 111394 015
003 124112 010 101593 016
004 107114 011 92901 017
005 78601 012 98493 018
步骤三 用matlab程序可以算出每一行(列)的最小值,并且 反馈出最小值所在的行数,此时认为左右像素矩阵的距离 最小即为匹配度较高的左右相邻碎纸片.这样可以粗略得 到关于文字行的关系,比较后初步得出部分用于拼接复原 文件其中一面的180张碎纸片.运算结果部分如下表:
步骤四 对418个碎片像素矩阵的第一列的白色边缘像素值 255进行统计,然后统计分析各个图像的白色边缘区域大 小,匹配出位于行首和行末的碎纸片.但是由于计算结果 存在误差,此时需要通过人工干预进行区分判断,将筛选 出的左右相邻碎纸片,运用行距分类以及组词成句的方法 干预拼接成一碎片横条.例如其中的一行的排列结果如下 图4、图5所示:
步骤五 通过上述步骤,初步拼接出11个碎片横条,输出成图 片,然后用Matlab读取这11张图的像素矩阵,运用同样的 思路分析配准像素矩阵的第一行与最后一行,匹配度较高 的应为相邻行,进而得出最终复原图像,部分排列顺序如 下表所示:
模型的评价:
优点: 从问题一到问题三、中文到英文由于难度的增加依次 将模型进行改进,给出了严谨的说明过程,可认为模型对 该类问题有很好的可用性。模型说明拼接过程中不需要人 工干预是不可能的。 缺点: 本文对每张图片计算其像素矩阵值,计算量大,实时 性不高.编程的不理想导致算法的图片匹配精确度不高和 鲁莽性差,同时由于使用了冗余的代码使得执行速度偏低 题目提供的附件碎纸片图都是均匀的横切或纵切,本 文设计的模型与算法没有能够解决对于倾斜或选择的图片 处理问题,拼接后导致的图像形变问题也没有涉及.
0 1 0
0 0 2
0 1 6
0 0 1
0 0 4
0 0 5
0 0 9
0 1 3
0 1 8
0 1 6
0 0 1
0 0 4
0 0 5
0 0 9
同理得到附件2的拼接复原文件,拼接顺序如下表所示:
表4 附件2文件的复原拼接结果
顺序
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
编号
0 0 3
n 1
N
模型建立与求解:
问题1的模型与求解:
步骤1 确定像素矩阵
运用Matlab程序分别对附件1和附件2中所给出的19张 碎片图像进行像素矩阵计算,每个图都对应得到一个 1980*72的像素矩阵.
步骤2 确定左边第一 列碎片
图1 附件1碎片最左边像素为255的个数
通过Matlab程序筛 选出每个像素矩阵的第 一列像素值,运用Excel 软件统计各列像素值等
i
的像素灰度绝对差值来衡量,即计算第1张图片的图像矩
阵的最后一列的像素值与待匹配图片的图像矩阵的第一列 的像素值的绝对差值的总和,计算公式如下:
Dn S008 (i,72) Sn (i,1)
i 1
1980
下面先对附件1进行讨论,可通过Matlab程序进行计算得 到它们相对应的像素差的绝对值,如下表的结果:
于255的个数.运算的结
果如下图:
步骤3 确定碎片顺序
源自文库
对于本题中出现的形状、大小一样的相邻两块碎片拼
接,只需考虑两块碎片灰度的绝对差值.因此可运Matlab 程序建立以下模型:
对于待匹配的图像,像素矩阵像素的像素值 Sn (i, j )
, 表示行数, j 为列数,其连接区域的相似度可由相对应