碎纸片的拼接复原分析模型完整版.docx

上传人:b****6 文档编号:6969658 上传时间:2023-01-13 格式:DOCX 页数:36 大小:173.66KB
下载 相关 举报
碎纸片的拼接复原分析模型完整版.docx_第1页
第1页 / 共36页
碎纸片的拼接复原分析模型完整版.docx_第2页
第2页 / 共36页
碎纸片的拼接复原分析模型完整版.docx_第3页
第3页 / 共36页
碎纸片的拼接复原分析模型完整版.docx_第4页
第4页 / 共36页
碎纸片的拼接复原分析模型完整版.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

碎纸片的拼接复原分析模型完整版.docx

《碎纸片的拼接复原分析模型完整版.docx》由会员分享,可在线阅读,更多相关《碎纸片的拼接复原分析模型完整版.docx(36页珍藏版)》请在冰豆网上搜索。

碎纸片的拼接复原分析模型完整版.docx

碎纸片的拼接复原分析模型完整版

HENsystemofficeroom【HEN16H-HENS2AHENS8Q8-HENH1688】

 

碎纸片的拼接复原分析模型

碎纸片拼接复原的设计与实现

摘要

破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有着重要的应用。

由于人工拼接效率较低,我们利用MATLAB软件编写程序,实现碎纸片拼接技术的计算机化,实现批量拼接,以节省人力和时间。

(一)为寻找最吻合拼接方案,利用MATLAB软件中的imread函数,实现了碎纸片与矩阵之间的形式转化以便于碎纸图片的拼接比对。

数值0至255表示图中某一像素点由黑到白的变化程度。

再根据纸张的边界留白较多,通过计算每个矩阵第一列中各向量的元素和,可将所得和数值最大的列向量所在矩阵对应的碎纸片确定为左边界。

经计算知:

008图为整体图片的左边界。

根据使吻合参数

最小的原则,可计算出下一张图片。

重复此步骤,以此类推,每次都挑选出剩余图片中与前一幅图片吻合参数

最小的作为与之相连接的碎纸图片。

最后可得到

附件1的答案矩阵为:

008

014

012

015

003

010

002

016

001

004

005

009

013

018

011

007

017

000

006

附件2与附件1的模型求解方法相同,最后得到:

附件2的答案矩阵为:

003

006

002

007

015

018

011

000

005

001

009

013

010

008

012

014

017

016

004

(二)由于每片独立的拼接无法达到最佳效果。

故我们以缩小比对范围的形式来进行优化。

附件3类比于问题一,用相同的方法找到所有碎纸片的左边界,共11张,分别

049

061

168

038

071

014

094

125

029

007

089

根据行特征筛选出每行的碎纸图片以保证全部图片均得到分类。

此时选取数量最少一行作为入手点,利用MATLAB软件进行图片拼接。

但由于碎纸图片的行特征值有误差,故图片大块拼接正确,但与实际情况有细微差别。

通过简单的人工检测得到准确行的排列顺序,由于行信息充足,借用第一问最终达到正确拼接效果。

结果矩阵如表12所示。

第二种情况的关键点是找出准确的行特征,由于汉字与英文书写格式不同,汉字均为方块字,易于定位。

而英文由于特殊的书写方式,上下位置不同,不易于找到行特征值。

如:

英文字母最为密集行中点位置。

需将附件4图片对应的矩阵转化为0-1列向量(空白行为0,反之则为1)。

利用此方法筛选出位于同一行的碎纸片并进行纸片拼接。

后续拼接方法同附件3。

结果矩阵如表13所示。

(三)结合双面信息处理边界,得到边界特点。

根据元音字母中心位置得出行高,从而更准确筛选同行图片。

双面信息同时校准,更容易得到拼接顺序,人工干预少。

结果矩阵如表5所示。

模型一简单易处理,适用于含大量信息的碎纸片拼接且准确度高;模型二针对文字内容的中英文差异分别利用吻合参数和行高作为标准来筛选图片;模型三深入生活实际,考虑日常生活中反正面印刷情况并结合英文印刷特点,实用性高,双面信息同时校准,人工干预少。

关键字:

碎纸拼接MATLAB吻合参数灰度

一、问题重述

破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有着重要的应用。

传统上,拼接复原工作需由人工完成,准确率较高,但效率很低。

特别是当碎片数量巨大,人工拼接很难在短时间内完成任务。

随着计算机技术的发展,人们试图开发碎纸片的自动拼接技术,以提高拼接复原效率。

请讨论以下问题:

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

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

复原结果以图片形式及表格形式表达(见【结果表达格式说明】)。

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

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

复原结果表达要求同上。

3.上述所给碎片数据均为单面打印文件,从现实情形出发,还可能有双面打印文件的碎纸片拼接复原问题需要解决。

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

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

【数据文件说明】

(1)每一附件为同一页纸的碎片数据。

(2)附件1、附件2为纵切碎片数据,每页纸被切为19条碎片。

(3)附件3、附件4为纵横切碎片数据,每页纸被切为11×19个碎片。

(4)附件5为纵横切碎片数据,每页纸被切为11×19个碎片,每个碎片有正反两面。

该附件中每一碎片对应两个文件,共有2×11×19个文件,例如,第一个碎片的两面分别对应文件000a、000b。

【结果表达格式说明】

复原图片放入附录中,表格表达格式如下:

(1)附件1、附件2的结果:

将碎片序号按复原后顺序填入1×19的表格;

(2)附件3、附件4的结果:

将碎片序号按复原后顺序填入11×19的表格;

(3)附件5的结果:

将碎片序号按复原后顺序填入两个11×19的表格;

(4)不能确定复原位置的碎片,可不填入上述表格,单独列表。

二、模型假设

1、每张碎纸片的形状都是完全相同的长方形且每张碎纸片形状规则;

2、文字打印清晰,无缺墨断墨情况;

3、纸片边缘整齐,无重叠,无损耗;

4、扫描过程中每张碎纸片的位置都是完全平行的,不会出现倾斜的情况;

5、假设恰好能完全拼接,即碎片无缺失,也没有其他碎片混杂;

6、纸片无倒转;

7、碎片文字均为相同字号,字号大小适中;

8、文字印刷体行高、行间距相同;

9、页边距非0,但较小。

三、字符说明

1、

表示第

张图片所转化得到的矩阵;

2、

表示第

个图所形成的矩阵的第

列对应灰度值;

3、

表示第

个图所形成的矩阵的第

列;

4、

表示第

个图和第

个图之间的吻合参数(其含义在模型分析中说明),其中两张图的吻合参数越低表示这两张图越吻合;

5、

表示图

的0-1列向量

四、模型分析

本文针对三种碎片拼接类型分别建立数学模型。

模型一简单易处理,适用于单片含大量信息的碎纸片拼接且准确度高;

模型二针对文字内容的中英文差异分别利用吻合参数和行高作为标准来筛选图片,且以缩小比对范围的形式应用于庞大数据量的整理进而进行碎片拼接复原;

模型三深入生活实际,考虑日常生活中反正面印刷情况并结合英文印刷特点,实用性高,准确度大。

问题一:

利用MATLAB程序中的imread函数将附件1的19张碎纸片分别转化成矩阵形式,每一张碎纸片都可转化为一个

的矩阵。

for循环的使用可以很大程度上节省时间、人力,再根据边界准则通过计算首列数字变化来确定其边界。

最后根据吻合参数的大小确定最后的碎纸片拼接顺序。

求解步骤如下:

(图1:

问题一求解思路图)

问题二:

同样利用第一问中求得图片左边界的方法,附件3、附件4中两幅图片的左边界。

找出与左边界11张图片同行的其余碎纸图片。

编程筛选出每行的图片,利用问题一中的方法进行计算机拼接,但由于拼接存在一定的误差,所以部分图片拼接不完整正确,在此情况之下进行人工干预,观察图片内容,根据内容手动移动碎纸图片进行拼接。

求解步骤如下:

(图2:

问题二求解思路图)

问题三:

对于有双面打印的碎纸片,根据边缘留白情况,可筛选出22个左边界,并根据字母中点所在行的行高分为11类。

并根据行高对其他图片进行筛选分类。

引入人工干预,完成效果拼接。

求解步骤如下:

(图3:

问题三求解思路图)

五、模型建立与求解

附件1中碎纸片拼接

图片是否能拼接,重点要看边缘的吻合程度,于是我们首先给出定义:

表示第

个图所形成的矩阵的第

列对应灰度值,则第

个图与第

个图所分别形成矩阵的第

列的差的绝对值,

记为第

个图与第

个图在边缘点

的吻合参数,其中两张图在该点的吻合参数越低表示这两张图该点越吻合。

对于两图边缘列,则有

,为边缘的吻合参数,其中两张图边缘的吻合参数越低表示这两张图越吻合;

故,我们用

作为全局的吻合参数,其中的限定条件为

具体求解过程如下:

1)为将19张碎纸片拼凑成一幅完整图片,需对由每一张碎纸片转化得到的数字矩阵进行处理。

其中000图转化为矩阵

001图转化为矩阵

,···,018图转化为矩阵

(见数据表1)

2)第

个图所形成的矩阵的第1列就是第

个图的左边界,第72列表示第

个图的右边界,列中数字的变化表示图边缘文字的灰度变化。

灰度是指黑白图像中点的颜色深度,范围一般从0到255。

白色为255,黑色为0。

将每个矩阵首列向量的每个元素相加求和,因为完整图片的左右边界均为空白,故求和数值越大代表空白越多,通过计算找出19个矩阵中,首列数字无变化的(即首列向量和最大的)矩阵为由008图所形成矩阵

则可确定008图为最后完整图的左边界。

3)再利用for循环语句将矩阵

的最后一个列向量与另外每个矩阵的第一个列向量元素对应相减,会得到由每个元素差值组成的新向量。

再将得到的新向量中的每个元素的绝对值相加求和得到一个数值。

不妨将此求和所得数值称为两向量的吻合参数,记为

4)吻合参数最小的矩阵所对应的碎纸片即为第二张。

从而我们得到数学模型:

第二个图为:

达到该最小值时所对应的矩阵为第

个矩阵

,我们用

表示为所选出的第

个矩阵的标码,以便后续求解;

5)依据第二张碎纸片所对应矩阵的最后一列与其他矩阵第一列对应元素相减,再绝对值求和进行吻合参数的比较,从而第三个图为:

达到该最小值时所对应的矩阵为第

个矩阵

,我们用

表示为所选出的第

个矩阵的标码,以便后续求解;

以此类推:

排序后的第

个图为:

,达到该最小值时所对应的矩阵为第

个矩阵

,我们用

表示为所选出的第

个矩阵的标码;

6)以此类推,第18个图为:

,达到该最小值时所对应的矩阵为第

个矩阵

,对应第

个图为排序后第18个图,剩余的一个自然为最后一图即图片右边界。

通过实际拼接实践,我们可以知道,局部拼接复原结果即全局最优拼接复原结果。

最后我们得到附件1的拼接顺序:

表1:

008

014

012

015

003

010

002

016

001

004

005

009

013

018

011

007

017

000

006

(复原图片见附录)

附件2中碎纸片拼接

附件2的处理办法与附件1相同,利用所有矩阵的第一列先找到所有碎纸片中的左边界,再根据吻合参数

确定碎纸片的拼接顺序。

最后我们得到附件2的拼接顺序:

表2:

003

006

002

007

015

018

011

000

005

001

009

013

010

008

012

014

017

016

004

(复原图片见附录)

由于附件1和附件2中碎纸片的行高较高,所以在吻合参数的计算过程中相对误差很小,利用在MATLAB软件中编写的程序即可求出附件1和附件2所有碎纸片的正确拼接顺序,故在此问中不涉及人工干预。

附件3中碎纸片拼接

1)利用第一问在MATLAB中编写程序求出位于左边界的图片的思想,运行程序可以找到附件3中位于第一列中的图片共有11张,分别为049图,061图,168图,038图,071图,014图,094图,125图,029图,007图,089图。

恰好符合

矩阵的格式要求。

即说明这11张图片为整体图片第一列的所有组成部分。

2)用MATLAB编写循环语句,以已经确定的第一列的11张图片为标准分为11类,分别找出与第一列11个图空白行位置相近似的图片归为一类(此时可认为同一类中图片的文字行是对齐的,即同类图片理论上应处在相同水平位置)

与图007(标号为8)空白位置相近的图片有22个,编号为

8

1

15

33

46

54

57

69

71

72

90

94

127

138

139

154

159

167

175

176

197

209

与图014(标号为15)空白位置相近的图片有57个,编号为

15

4

5

9

10

13

26

28

32

33

40

41

52

61

71

74

75

83

86

90

94

102

103

106

108

109

114

115

116

118

120

124

126

129

135

136

141

147

152

153

154

155

156

160

161

166

167

170

171

177

186

195

197

200

204

206

208

与图029(标号为30)空白位置相近的图片有35个,编号为

30

6

11

17

22

38

45

49

56

60

65

67

76

93

99

105

107

110

111

112

140

146

151

158

172

173

174

181

182

185

188

198

202

205

207

与图038(标号为39)空白位置相近的图片有22个,编号为

39

9

10

15

25

26

36

47

72

75

82

89

90

104

106

123

131

149

162

168

190

194

与图049(标号为50)空白位置相近的图片有35个,编号为

50

3

12

17

22

23

29

55

58

66

67

92

96

107

110

111

119

130

140

142

144

146

151

158

174

179

182

185

187

188

189

191

193

198

205

与图061(标号为62)空白位置相近的图片有22个,编号为

62

7

15

20

21

37

53

64

68

70

72

73

79

80

90

97

100

117

132

163

164

178

与图071(标号为72)空白位置相近的图片编号有47个

72

9

10

16

17

18

22

26

28

33

34

57

61

67

71

75

81

84

86

94

106

107

110

111

133

134

140

146

151

153

154

157

158

166

167

171

174

182

185

188

197

198

199

201

203

205

206

与图089(标号为90)空白位置相近的图片编号有69个

90

5

9

10

14

16

17

18

22

26

28

33

34

41

208

57

61

67

71

72

75

81

84

86

94

102

103

106

107

109

110

111

114

115

118

120

124

126

133

134

140

141

146

147

151

152

153

154

155

156

157

158

166

167

171

174

182

183

185

186

188

195

197

198

199

201

203

205

206

与图094(标号为95)空白位置相近的图片编号有22个

95

15

35

43

44

48

59

72

78

85

90

91

98

113

122

125

128

137

145

150

165

184

与图125(标号为126)空白位置相近的图片编号有19个

126

14

15

17

22

67

90

107

110

111

146

158

174

182

183

185

188

198

205

与图168(标号为169)空白位置相近的图片编号有37个

169

2

15

17

19

22

24

27

31

42

51

63

67

77

87

88

101

103

107

110

111

121

140

143

146

148

151

158

174

180

182

185

188

192

196

198

205

由于图片的切割都不完整导致空行较多,故通过程序运行出的结果每一行的符合要求的图片都

张。

3)有一组恰为19块图,但通过第一问的模型对这19块进行横向拼接时,发现有三块明显不位于同一行,将这三块拿出,分别为,图014,图016,图089。

再找相对较少(22块)的几行,发现其中重复的恰为首列中的某3个图,删去后,得到这几列的19个图分别进行拼接,其中首图为007图的拼接结果为:

图4

(人工干预)我们发现所选图片恰为该行图片,但拼接结果由于碎片边缘笔划变化导致相连部分误差较大,从而出现计算机拼接错误,人工干预将错误部分进行更改后,该行顺序为:

表3:

007

208

138

158

126

068

175

045

174

000

137

053

056

093

153

070

166

032

196

同理,可得到其余行向找出为22块行的拼接顺序,分别为

表4:

038

148

046

161

024

035

081

189

122

103

130

193

088

167

025

008

009

105

074

061

019

078

067

069

099

162

096

131

079

063

116

163

072

006

177

020

052

036

再处理行中找出35或37个图片的行,首先通过程序将之前已使用过的图片排除,则

首图为图029的行,剩余图片为

表5:

029

005

010

037

044

048

055

059

064

076

092

098

104

111

139

151

171

172

180

201

206

用问题一中模型对该21块图进行拼接,发现图139和图150不属于该行,将两图删除后,再次进行拼接,得到上一步中情况(有个别拼接不准确),(人工干预)将其调换位置,得到该行顺序为

表6:

029

064

111

201

005

092

180

048

037

075

055

044

206

010

104

098

172

171

059

同理,得到首图为图049,图168的两行排列为

表7:

049

054

065

143

186

002

057

192

178

118

190

095

011

022

129

028

091

188

141

168

100

076

062

142

030

041

023

147

191

050

179

120

086

195

026

001

087

018

再用以上结果筛选47个图的行,剩余图片为

表8:

071

008

009

015

017

025

027

032

033

060

074

080

083

085

105

132

133

152

156

165

170

198

200

202

205

用问题一中模型对该25块图进行拼接,发现图008、图009、图025、图032、图074、图105不属于该行,将两图删除后,再次进行拼接,得到上一步中情况(有个别拼接不准确),(人工干预)将其调换位置,得到该行顺序为:

表9:

071

156

083

132

200

017

080

033

202

198

015

133

170

205

085

152

165

027

060

而对于一行中出现69块和67块的两行,重复较多,于是我们选用另一种方式筛选。

当得到每块图所对应矩阵后,我们将有全空白行记为0,存在黑色部分行记为1,则用mathematica得到该图片的一个0-1列向量,例如图089的对应0-1列向量为:

其中,我们挑选出

几列进行部分对比,左侧为其对应上部几行对比,右侧为其对应中部几行对比。

与左边对应中间行位置

0000011110

00000

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1