1. 引言
破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有着重要的应用。企事业、机关、院校和军队基于保密的需要,使用碎纸机对重
要文件,单据以及材料进行销毁。一些重要的文件随着时间流逝,残破不全,因此,又需要将已经破碎的文档重新恢复。
传统上,拼接复原工作需由人工完成,准确率较高,但效率很低。特别是当碎片数量巨大,人工拼接很难在短时间内完成任务。随着当代科技和计算机技术的快速发展,人们试图开发碎纸片自动拼接技术,以提高对碎纸片文件和图片的拼接复原效率。
国内一些学者对碎纸片复原技术进行了研究,其中周丰提出了一种基于序列的二维图像碎纸片轮廓匹配算法[1],何鹏飞研究了基于蚁群优化算法的纸片拼接技术[2],罗智中[3]研究了基于文字特征的文档碎纸片半自动拼接方法,除此之外学者们还提出并研究了其他各种相应的技术[4-10]。然而目前通过计算机算法对破碎文档进行恢复的技术研究还不多,基本上没有一种全自动的碎纸片恢复技术,因此,一种能够快速且高效的恢复碎纸机数据文档技术的研究有巨大的现实意义。本文在借鉴其他学者研究基础上,对边缘规范的碎纸片拼接技术进行了研究。
2. 模型假设及符号说明
2.1. 模型假设
1) 设碎纸图片与真实文件纸张大小、颜色、边缘情况相同;
2) 假设碎纸照片边缘完整,不存在破损;
3) 假设所有碎纸片的扫描情况相同;
2.2. 符号说明
A
i ——编号i的图片的灰度矩阵;
B
i ——编号i的图片二值化处理后矩阵;
C
i ——编号i的图片二维边缘矩阵;
D
,
D
′
,
D
″
,
D
‴ ——边缘匹配度矩阵;
E
i ——编号
i 的图片再次处理后的0-1矩阵;
F ——边缘匹配度之和矩阵。
3. 问题分析
3.1. 中文碎纸片的分析
本论文数据来源于2013年全国大学生数学建模试题B题附件3、4,碎纸片均为一份纸张撕裂所得,不会存在含有相同信息的公共部分,下面不再重述。
附件3、4中所给的图片为扫描原纸张碎片后得到的BMP格式的图片,图片像素均为
180
×
72 ,使用matlab中的imread函数[11,12]可做出图片的灰度矩阵
A
i (
i
=
1
,
2
,
⋯
,
209 )。举例如下(由于该像素图片转换后为
180
×
72 的矩阵,论文中无法放置,所以仅简单举例说明,论文中若还出现庞大的矩阵,同本说明):
A
i
=
(
255
255
0
255
220
150
255
0
0
)
矩阵的中元素表示该位置图片灰度,255表示为白,0为黑,图片中信息为黑白文字信息,但由于文字信息会存在阴影,所以矩阵中出现了介于0-255的元素。为了方便应用,可对黑白图片做[13]二值化处理,将上例中
A
i 转化为如下0-1矩阵:
B
i
=
(
0
0
1
0
1
1
0
1
1
)
其中白色用0值表示,非白色用1表示。
将附件3、4中
11
×
19 张图片做如上处理得0-1矩阵
B
i
(
i
=
1
,
2
,
⋯
,
209
) ,矩阵阶数为
180
×
72 。
分别提取
B
i 矩阵第1列和第72构成新的
180
×
2 阶边缘矩阵。搜索所有图片矩阵发现
C
14
,
C
128 矩阵中均有一列为0,可认为编号为014和128的图片为相邻的两张图片,两张图片匹配的原则示例如图1。
将左边矩阵的第二列元素与右边矩阵的第一列元素进行两两匹配,记录元素相同的个数,个数除以180为左边矩阵第二列对右边矩阵第一列的边缘匹配度,记为:
D
i