碎纸片的拼接复原分析模型_第1页
碎纸片的拼接复原分析模型_第2页
碎纸片的拼接复原分析模型_第3页
碎纸片的拼接复原分析模型_第4页
碎纸片的拼接复原分析模型_第5页
已阅读5页,还剩17页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、-. z.碎纸片拼接复原的设计与实现摘要破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有着重要的应用。由于人工拼接效率较低,我们利用MATLAB软件编写程序,实现碎纸片拼接技术的计算机化,实现批量拼接,以节省人力和时间。一为寻找最吻合拼接方案,利用MATLAB软件中的imread函数,实现了碎纸片与矩阵之间的形式转化以便于碎纸图片的拼接比对。数值0至255表示图中*一像素点由黑到白的变化程度。再根据纸*的边界留白较多,通过计算每个矩阵第一列中各向量的元素和,可将所得和数值最大的列向量所在矩阵对应的碎纸片确定为左边界。经计算知:008图为整体图片的左边界。根据使吻合参数最小的

2、原则,可计算出下一*图片。重复此步骤,以此类推,每次都挑选出剩余图片中与前一幅图片吻合参数最小的作为与之相连接的碎纸图片。最后可得到附件1的答案矩阵为:008014012015003010002016001004005009013018011007017000006附件2与附件1的模型求解方法一样,最后得到:附件2的答案矩阵为:003006002007015018011000005001009013010008012014017016004二由于每片独立的拼接无法到达最正确效果。故我们以缩小比对*围的形式来进展优化。附件3类比于问题一,用一样的方法找到所有碎纸片的左边界,共11*,分别0490

3、61168038071014094125029007089根据行特征筛选出每行的碎纸图片以保证全部图片均得到分类。此时选取数量最少一行作为入手点,利用MATLAB软件进展图片拼接。但由于碎纸图片的行特征值有误差,故图片大块拼接正确,但与实际情况有细微差异。通过简单的人工检测得到准确行的排列顺序,由于行信息充足,借用第一问最终到达正确拼接效果。结果矩阵如 表12 所示。第二种情况的关键点是找出准确的行特征,由于汉字与英文书写格式不同,汉字均为方块字,易于定位。而英文由于特殊的书写方式,上下位置不同,不易于找到行特征值。如:英文字母最为密集行中点位置。需将附件4图片对应的矩阵转化为0-1列向量空白

4、行为0,反之则为1。利用此方法筛选出位于同一行的碎纸片并进展纸片拼接。后续拼接方法同附件3。结果矩阵如 表13 所示。三结合双面信息处理边界,得到边界特点。根据元音字母中心位置得出行高,从而更准确筛选同行图片。双面信息同时校准,更容易得到拼接顺序,人工干预少。结果矩阵如 表5 所示。模型一简单易处理,适用于含大量信息的碎纸片拼接且准确度高;模型二针对文字内容的中英文差异分别利用吻合参数和行高作为标准来筛选图片;模型三深入生活实际,考虑日常生活中反正面印刷情况并结合英文印刷特点,实用性高,双面信息同时校准,人工干预少。关键字:碎纸拼接 MATLAB 吻合参数 灰度一、问题重述破碎文件的拼接在司法

5、物证复原、历史文献修复以及军事情报获取等领域都有着重要的应用。传统上,拼接复原工作需由人工完成,准确率较高,但效率很低。特别是当碎片数量巨大,人工拼接很难在短时间内完成任务。随着计算机技术的开展,人们试图开发碎纸片的自动拼接技术,以提高拼接复原效率。请讨论以下问题:1. 对于给定的来自同一页印刷文字文件的碎纸机破碎纸片仅纵切,建立碎纸片拼接复原模型和算法,并针对附件1、附件2给出的中、英文各一页文件的碎片数据进展拼接复原。如果复原过程需要人工干预,请写出干预方式及干预的时间节点。复原结果以图片形式及表格形式表达见【结果表达格式说明】。2. 对于碎纸机既纵切又横切的情形,请设计碎纸片拼接复原模型

6、和算法,并针对附件3、附件4给出的中、英文各一页文件的碎片数据进展拼接复原。如果复原过程需要人工干预,请写出干预方式及干预的时间节点。复原结果表达要求同上。3. 上述所给碎片数据均为单面打印文件,从现实情形出发,还可能有双面打印文件的碎纸片拼接复原问题需要解决。附件5给出的是一页英文印刷文字双面打印文件的碎片数据。请尝试设计相应的碎纸片拼接复原模型与算法,并就附件5的碎片数据给出拼接复原结果,结果表达要求同上。【数据文件说明】每一附件为同一页纸的碎片数据。附件1、附件2为纵切碎片数据,每页纸被切为19条碎片。附件3、附件4为纵横切碎片数据,每页纸被切为1119个碎片。附件5为纵横切碎片数据,每

7、页纸被切为1119个碎片,每个碎片有正反两面。该附件中每一碎片对应两个文件,共有21119个文件,例如,第一个碎片的两面分别对应文件000a、000b。【结果表达格式说明】复原图片放入附录中,表格表达格式如下:附件1、附件2的结果:将碎片序号按复原后顺序填入119的表格;附件3、附件4的结果:将碎片序号按复原后顺序填入1119的表格;附件5的结果:将碎片序号按复原后顺序填入两个1119的表格;不能确定复原位置的碎片,可不填入上述表格,单独列表。二、模型假设每*碎纸片的形状都是完全一样的长方形且每*碎纸片形状规则;文字打印清晰,无缺墨断墨情况;纸片边缘整齐,无重叠,无损耗;扫描过程中每*碎纸片的

8、位置都是完全平行的,不会出现倾斜的情况;假设恰好能完全拼接,即碎片无缺失,也没有其他碎片混杂;纸片无倒转;碎片文字均为一样字号,字号大小适中;文字印刷体行高、行间距一样;页边距非0,但较小。三、字符说明1、表示第*图片所转化得到的矩阵;2、表示第个图所形成的矩阵的第行列对应灰度值;3、表示第个图所形成的矩阵的第列;4、表示第个图和第个图之间的吻合参数其含义在模型分析中说明,其中两*图的吻合参数越低表示这两*图越吻合;5、表示图的0-1列向量四、模型分析本文针对三种碎片拼接类型分别建立数学模型。模型一简单易处理,适用于单片含大量信息的碎纸片拼接且准确度高;模型二针对文字内容的中英文差异分别利用吻

9、合参数和行高作为标准来筛选图片,且以缩小比对*围的形式应用于庞大数据量的整理进而进展碎片拼接复原;模型三深入生活实际,考虑日常生活中反正面印刷情况并结合英文印刷特点,实用性高,准确度大。问题一: 利用MATLAB程序中的imread函数将附件1的19*碎纸片分别转化成矩阵形式,每一*碎纸片都可转化为一个的矩阵。for循环的使用可以很大程度上节省时间、人力,再根据边界准则通过计算首列数字变化来确定其边界。最后根据吻合参数的大小确定最后的碎纸片拼接顺序。求解步骤如下:确定最后整体图片的左边界确定最后整体图片的左边界将碎纸片转换为数字矩阵求出其他图片与左边界图片的吻合系数比拟所有吻合系数,系数最小所

10、对应的图片为第二*图片重复步骤3,求出其他矩阵与第二*图片的吻合系数,吻合系数最小的为第三*图片依照上述方法,求得最后所有图片的拼接顺序完成拼接效果图图1:问题一求解思路图问题二:同样利用第一问中求得图片左边界的方法,附件3、附件4中两幅图片的左边界。找出与左边界11*图片同行的其余碎纸图片。编程筛选出每行的图片,利用问题一中的方法进展计算机拼接,但由于拼接存在一定的误差,所以局部图片拼接不完整正确,在此情况之下进展人工干预,观察图片内容,根据内容手动移动碎纸图片进展拼接。求解步骤如下:找到与每幅边界图片同行的剩余图片找出左边界中的图片共11*找到与每幅边界图片同行的剩余图片找出左边界中的图片

11、共11*选取所有行中图片数量最少的一行进展图片拼接,假设拼接不准确则引入人工干预确定第行的图片拼接顺序,并在其他行删除在第行中出现的图片在剩余行中重复步骤3和步骤4,直至所有行图片拼接完毕将每行看做整体,进而完成完成拼接效果图将碎纸片转化为数字矩阵图2:问题二求解思路图问题三:对于有双面打印的碎纸片,根据边缘留白情况,可筛选出22个左边界,并根据字母中点所在行的行高分为11类。并根据行高对其他图片进展筛选分类。引入人工干预,完成效果拼接。求解步骤如下:找出左边界中的图片共22*找出左边界中的图片共22*将边界图片进展分类,共分为11类由所在行的两*边界图片筛选出所在行的其他碎纸图片将每行碎纸图

12、片利用程序进展计算机拼接,拼接不完全,引入大量人工干预完成拼接效果图将碎纸片转化为数字矩阵同时考虑正反两面。加大拼接的正确性图3:问题三求解思路图五、模型建立与求解5.1附件1中碎纸片拼接图片是否能拼接,重点要看边缘的吻合程度,于是我们首先给出定义:表示第个图所形成的矩阵的第行列对应灰度值,则第个图与第个图所分别形成矩阵的第行列的差的绝对值,即记为第个图与第个图在边缘点的吻合参数,其中两*图在该点的吻合参数越低表示这两*图该点越吻合。对于两图边缘列,则有,为边缘的吻合参数,其中两*图边缘的吻合参数越低表示这两*图越吻合;故,我们用作为全局的吻合参数,其中的限定条件为具体求解过程如下:1为将19

13、*碎纸片拼凑成一幅完整图片,需对由每一*碎纸片转化得到的数字矩阵进展处理。其中000图转化为矩阵,001图转化为矩阵, ,018图转化为矩阵。见数据表12第个图所形成的矩阵的第1列就是第个图的左边界,第72列表示第个图的右边界,列中数字的变化表示图边缘文字的灰度变化。灰度是指黑白图像中点的颜色深度,*围一般从0到255。白色为255,黑色为0。将每个矩阵首列向量的每个元素相加求和,因为完整图片的左右边界均为空白,故求和数值越大代表空白越多,通过计算找出19个矩阵中,首列数字无变化的即首列向量和最大的矩阵为由008图所形成矩阵。则可确定008图为最后完整图的左边界。3再利用for循环语句将矩阵的

14、最后一个列向量与另外每个矩阵的第一个列向量元素对应相减,会得到由每个元素差值组成的新向量。再将得到的新向量中的每个元素的绝对值相加求和得到一个数值。不妨将此求和所得数值称为两向量的吻合参数,记为。4吻合参数最小的矩阵所对应的碎纸片即为第二*。从而我们得到数学模型:第二个图为:到达该最小值时所对应的矩阵为第个矩阵,我们用表示为所选出的第个矩阵的标码,以便后续求解;5依据第二*碎纸片所对应矩阵的最后一列与其他矩阵第一列对应元素相减,再绝对值求和进展吻合参数的比拟,从而第三个图为:到达该最小值时所对应的矩阵为第个矩阵,我们用表示为所选出的第个矩阵的标码,以便后续求解;以此类推:排序后的第个图为:,到

15、达该最小值时所对应的矩阵为第个矩阵,我们用表示为所选出的第个矩阵的标码;6以此类推,第18个图为:,到达该最小值时所对应的矩阵为第个矩阵,对应第个图为排序后第18个图,剩余的一个自然为最后一图即图片右边界。通过实际拼接实践,我们可以知道,局部拼接复原结果即全局最优拼接复原结果。最后我们得到附件1的拼接顺序:表1:008014012015003010002016001004005009013018011007017000006复原图片见附录1.15.2附件2中碎纸片拼接附件2的处理方法与附件1一样,利用所有矩阵的第一列先找到所有碎纸片中的左边界,再根据吻合参数确定碎纸片的拼接顺序。最后我们得到附

16、件2的拼接顺序:表2:003006002007015018011000005001009013010008012014017016004复原图片见附录1.2由于附件1和附件2中碎纸片的行高较高,所以在吻合参数的计算过程中相对误差很小,利用在MATLAB软件中编写的程序即可求出附件1和附件2所有碎纸片的正确拼接顺序,故在此问中不涉及人工干预。5.3附件3中碎纸片拼接1利用第一问在MATLAB中编写程序求出位于左边界的图片的思想,运行程序可以找到附件3中位于第一列中的图片共有11*,分别为049图,061图,168图,038图,071图,014图,094图,125图,029图,007图,089图。

17、恰好符合矩阵的格式要求。即说明这11*图片为整体图片第一列的所有组成局部。2用MATLAB编写循环语句,以已经确定的第一列的11*图片为标准分为11类,分别找出与第一列11个图空白行位置相近似的图片归为一类此时可认为同一类中图片的文字行是对齐的,即同类图片理论上应处在一样水平位置与图007标号为8空白位置相近的图片有22个,编号为8115334654576971729094127138139154159167175176197209与图014标号为15空白位置相近的图片有57个,编号为1545910132628323340415261717475838690941021031061081091

18、14115116118120124126129135136141147152153154155156160161166167170171177186195197200204206208与图029标号为30空白位置相近的图片有35个,编号为30611172238454956606567769399105107110111112140146151158172173174181182185188198202205207与图038标号为39空白位置相近的图片有22个,编号为3991015252636477275828990104106123131149162168190194与图049标号为50空白位

19、置相近的图片有35个,编号为5031217222329555866679296107110111119130140142144146151158174179182185187188189191193198205与图061标号为62空白位置相近的图片有22个,编号为6271520213753646870727379809097100117132163164178与图071标号为72空白位置相近的图片编号有47个7291016171822262833345761677175818486941061071101111331341401461511531541571581661671711741821

20、85188197198199201203205206与图089标号为90空白位置相近的图片编号有69个9059101416171822262833344120857616771727581848694102103106107109110111114115118120124126133134140141146147151152153154155156157158166167171174182183185186188195197198199201203205206与图094标号为95空白位置相近的图片编号有22个9515354344485972788590919811312212512813714

21、5150165184与图125标号为126空白位置相近的图片编号有19个126141517226790107110111146158174182183185188198205与图168标号为169空白位置相近的图片编号有37个16921517192224273142516367778788101103107110111121140143146148151158174180182185188192196198205由于图片的切割都不完整导致空行较多,故通过程序运行出的结果每一行的符合要求的图片都*。3有一组恰为19块图,但通过第一问的模型对这19块进展横向拼接时,发现有三块明显不位于同一行,将这

22、三块拿出,分别为,图014,图016,图089。再找相对较少22块的几行,发现其中重复的恰为首列中的*3个图,删去后,得到这几列的19个图分别进展拼接,其中首图为007图的拼接结果为:图4人工干预我们发现所选图片恰为该行图片,但拼接结果由于碎片边缘笔划变化导致相连局部误差较大,从而出现计算机拼接错误,人工干预将错误局部进展更改后,该行顺序为:表3:007208138158126068175045174000137053056093153070166032196同理,可得到其余行向找出为22块行的拼接顺序,分别为表4:038148046161024035081189122103130193088

23、167025008009105074061019078067069099162096131079063116163072006177020052036再处理行中找出35或37个图片的行,首先通过程序将之前已使用过的图片排除,则首图为图029的行,剩余图片为表5:029005010037044048055059064076092098104111139151171172180201206用问题一中模型对该21块图进展拼接,发现图139和图150不属于该行,将两图删除后,再次进展拼接,得到上一步中情况有个别拼接不准确,人工干预将其调换位置,得到该行顺序为表6:0290641112010050921

24、80048037075055044206010104098172171059同理,得到首图为图049,图168的两行排列为表7:049054065143186002057192178118190095011022129028091188141168100076062142030041023147191050179120086195026001087018再用以上结果筛选47个图的行,剩余图片为表8:071008009015017025027032033060074080083085105132133152156165170198200202205用问题一中模型对该25块图进展拼接,发现图008

25、、图009、图025、图032、图074、图105不属于该行,将两图删除后,再次进展拼接,得到上一步中情况有个别拼接不准确,人工干预将其调换位置,得到该行顺序为:表9:071156083132200017080033202198015133170205085152165027060而对于一行中出现69块和67块的两行,重复较多,于是我们选用另一种方式筛选。当得到每块图所对应矩阵后,我们将有全空白行记为0,存在黑色局部行记为1,则用mathematica得到该图片的一个0-1列向量,例如图089的对应0-1列向量为:其中,我们挑选出几列进展局部比照,左侧为其对应上部几行比照,右侧为其对应中部几行

26、比照。与左边对应中间行位置00000111100000011110000001111000000111100000011110000001111000000111100000011111000001111100000111110000011111000001111100011111110011111110001111111000111111100011111110001111111000111111101011111110101111111110111111111011111111101111111110111111111011111111101111111110111111111011111

27、1111011111111101111111110111100111011110000101111000010111100001011110000观察所选出对应图片的0-1列向量比照,不难发现,其1-1对应,0-0对应较准确。假设两个图片属于同一行,则其空白位置高度应对应相等,字体高度对应相等,针对这一特性,我们对两个列向量做内积后,同行的内积不变,建立模型得:与图089同行的图片应满足:尽量小,我们将结果由小到大排列,前10个即为与图089同行的图片同样的与图014同行的图片应满足:尽量小,我们将结果由小到大排列,前10个即为与图014同行的图片从而对首图为图089和图014的两行又做了筛选

28、,得到表10:089146102154114040151207155140185108117004101113194119123014128003159082199135012073160203169134039031051107115176则剩余为首图为图125一行中图片,用问题一中模型排序为表11:1250131821091970161841101870661061500211731571812041391453完成行图片的拼接,后续只相当于拼接矩阵,此时所有图片仅有横切情况,类似于第一问中仅纵切情况,利用MATLAB变成完成最后拼接效果。附件3的拼接顺序:表12:049054065143

29、186002057192178118190095011022129028091188141061019078067069099162096131079063116163072006177020052036168100076062142030041023147191050179120086195026001087018038148046161024035081189122103130193088167025008009105074071156083132200017080033202198015133170205085152165027060014128003159082199135012073

30、160203169134039031051107115176094034084183090047121042124144077112149097136164127058043125013182109197016184110187066106150021173157181204139145029064111201005092180048037075055044206010104098172171059007208138158126068175045174000137053056093153070166032196089146102154114040151207155140185108117004

31、101113194119123该模型虽能准确拼出复原后图片,但在每一行挑选过程中不能分别准确的找出对应的19个图片,假设对的每个列矩阵进展调整,相信可以更准确地快速地拼出图片。5.4附件4中碎纸片拼接 我们首先希望同样通过附件3的方法,即通过碎纸片左边界留白的情况,筛选出11*图片作为第一列。但是由于英语文章的特殊性,每个单词之间都有一定的间隔,加之碎纸片的高度较小,以至于不止11*纸条的左边界是空白,于是我们引入一种新的方法。首先,当得到每块图所对应矩阵后,如果*行全为空白,则将该行记为0,否则记为1,则用mathematica将该图片转化为一个0-1列向量。从而筛选1元素较多的即英文字母密

32、集的图片,由这些图片人工干预逐次筛选后,所留英文字母密集且行位置不同的,作为我们拼接的起点。再由其确定原因字母的中心行,进而确定出行高,由密集图片行高的不同位置,两边延伸,进展拼接,由于*些行为段落结尾处,其后空白较多,需人工干预,同样可拼接出11行英文字母,最后同附件3的处理方式,对11个行转化成矩阵进展拼接。附件4的拼接顺序表13:19107501115419018400210418006410600414903220406503906714720114817019619809411316407810309108010102610000601702814608605110702904015

33、818609802411715000505905809203003704612701919409314108812112610515511417618215102205720207116508215913900112906313815305303812312017508505016018709720303102004110811613607303620713501507604319904517307916117914320802100704906111903314216806216905419213311818916219711207008406001406817413719500804717

34、21560960230991220901851091321810950691671631661881111442060031300340131100250271781710421662050101570741450831340550180560350160091831520440810771282001310521251401930870890480720121771240001021155.5 附件5的拼接复原对于双面打印的英文印刷图片 1将碎纸图片转化为的数字矩阵2确定附件5中所有碎纸图片中的边界图片,依据为纸*的边界留白更多这一准则,计算每个矩阵对应列向量和,形成行向量,可将所得行向量元

35、素一次到达最大值的向量所在矩阵对应的碎纸片确定为左边界。3又由于所有碎纸图片分为正反两面,每页纸被切为个碎片,故经过筛选之后共得到边界图片22*。其中有11*边界图片为反面的右边界。则这22*碎纸图片可分为11类。每一类的分类标准为两*碎纸图片中字母所在行灰度吻合度最高。依此标准得到的这11类边界分布。4每一类的边界有正反两个边界,依据这两*边界图片中字母所占行灰度,在其他剩余碎纸图片中寻找与之灰度吻合参数最小的作为同一行。由于英文字母本身占格位置的特殊性,误差较汉字来说要大。在进展同行碎纸图片拼接时准确率不高。此时,需引入大量的人工干预来进展拼接工作。5经过大量的人工干预,最后我们可以得到:

36、附件5的拼接顺序为表14:136b047a020a164b081b189b029a018b108a066a110a174b183b150a155a140a125a111b078b005a152a147a60b059a014a079a144a120b022a124b192a025b044a178a076b036a010b089a143b200b086b187b131b056b138a045a137b061b094b098a121a038a030a042b084b153a186b083a039b097a175a072b093a132b087a198b181b034a156a206b173b194b

37、169b161a011b199b090a203b162b002a139b070b041a170b151b001b166b115b065b191a037b180a149b107a088b013a024a057a142a208a064b102b017b012a028b154b197a158a058a207a116b179b184b114a035a159a073b193b163a130a021b202a053b177b016b019b092b190b050a201a031a171b146a172a122a182b040a127a188a068b008b117b167a075b063b067a046a

38、168a157a128a195a165b105a204b141a135b027a080b000b185a176a126b074b032a069a004a077a148b085b007b003b009b145a082b205a015b101a118b129b062a052a071b033b119a160b095a051b048a133a023b054b196b112a103a055b100b106b091a049b026b113a134a104a006a123a109a096b043a099a复原图片见附录图3.1和图3.2六、模型评价与改良优点:1问题一模型,简单、易操作。适用于单*碎片所含文

39、字信息量大的图片拼接复原;2问题二模型,对于碎片上信息量较少,但数量庞大的情况,以减少比对*围来到达理想拼接复原效果,且效率较高;3问题三中模型,考虑了现实生活中的所有考虑因素,并运用MATLAB软件编程得出了结果,应此结果准确性高,误差小,切合生活实际;4实现碎纸片拼接技术的计算机化,实现批量拼接,以节省人力和时间。5假设合理,模型具有坚实可靠的数学根底。缺点:1.假设条件很多,这就直接导致与实际情况仍有一定的差距,同时许多实际因素尚未纳入考虑的*围之内,没有考虑周全,因此导致一系列计算数据误差较大。2.因为缺乏*些现实统计数据的支持,导致人为主观因素在模型的建立计算过程中的影响举足轻重,因

40、此在选择处理方法时也受到条件上的众多限制。故此模型并不完全贴合实际,不利于实际的应用。3.由于时间关系,一些改良思路来不及实现。模型改良:1.对于分类不够准确这一问题,我们应用mathematica软件对英文字母进展识别程序见附录末,已识别出这些在英文书写中出现频率较高且仅占用中间行的字母,以此易于定位,可以提高分类的准确度,从而解决了这一问题。七、参考文献1.蔡旭辉*卫国蔡立燕,MATLAB根底与应用教程,人民邮电,2009.8;2.尚明姝,基于特征点约束关系的图像拼接算法J,电视技术,第36卷第13期:2012;3.姜丽凤巩建学,基于特征点的图像拼接算法研究与实现,电脑开发与应用,第24卷

41、第6期: 2011年;4.姜启源,数学模型第四版,:高等教育,2003.8;5.罗智中,基于文字特征的文档碎纸片半自动拼接,计算机工程与应用,2012;6.方静,基于特征点的图像拼接算法优缺点比拟,电脑知识与技术,第9卷,第07期:2013.3。附录一:针对问题一附件1图片生成程序:clcclearp=cell(1,18);for i=1:10 imageName=strcat(I:题目附件100,num2str(i-1),.BMP); pi = imread(imageName);endfor i=11:19 imageName=strcat(I:题目附件10,num2str(i-1),.B

42、MP); pi = imread(imageName);endsump=;Answer=;for i=1:19 Answer(i)=i;endfor i=1:19 sump(i)=(sum(pi(:,1)+sum(pi(:,2);endA=find(sump=ma*(sump);C=Answer(A);Answer(A)=1;Answer(1)=C;B=pA;pA=p1;p1=B;for i=2:19 sump=; for j=i:19 a=pi-1(:,72); b=pj(:,1); s=abs(a-b); sump(j)=sum(s); for k=1:(i-1) sump(k)=9999

43、999; end endA=find(sump=min(sump);C=Answer(A);Answer(A)=Answer(i);Answer(i)=C;B=pA;pA=pi;pi=B;endAnswer-1q=p1;for i=2:19q=q,pi;end imshow(q)附件1复原结果图片:图1.1附件2图片生成程序:clcclearp=cell(1,18);for i=1:10 imageName=strcat(I:题目附件200,num2str(i-1),.BMP); pi = imread(imageName);endfor i=11:19 imageName=strcat(I:

44、题目附件20,num2str(i-1),.BMP); pi = imread(imageName);endsump=;Answer=;for i=1:19 Answer(i)=i;endfor i=1:19 sump(i)=(sum(pi(:,1)+sum(pi(:,2);endA=find(sump=ma*(sump);C=Answer(A);Answer(A)=1;Answer(1)=C;B=pA;pA=p1;p1=B;for i=2:19 sump=; for j=i:19 a=pi-1(:,72); b=pj(:,1); s=abs(a-b); sump(j)=sum(s); for

45、k=1:(i-1) sump(k)=9999999; end endA=find(sump=min(sump);C=Answer(A);Answer(A)=Answer(i);Answer(i)=C;B=pA;pA=pi;pi=B;endAnswer-1q=p1;for i=2:19q=q,pi;end imshow(q)附件2复原结果图片图1.2二:针对问题二附件3图片生成程序:clcclear%读入图片%p=cell(1,209);for i=1:10 imageName=strcat(J:题目附件300,num2str(i-1),.BMP); pi = imread(imageName)

46、;endfor i=11:100 imageName=strcat(J:题目附件30,num2str(i-1),.BMP); pi = imread(imageName);endfor i=101:209 imageName=strcat(J:题目附件3,num2str(i-1),.BMP); pi = imread(imageName);end%定义下标变量%Answer=1:19;20:38;39:57;58:76;77:95;96:114;115:133;134:152;. 153:171;172:190;191:209%找第一列图片%sump=;for i=1:207 sump(i)=

47、199999-(sum(pi(:,1)+sum(pi(:,2)+sum(pi(:,3)+sum(pi(:,4);ends,firstLine=sort(sump);disp(第一列的图片是:)FL=firstLine(1:11); %FL表示第一列元素,共11个,及11大类std=255*72; %一个作为空行标准的数字yiyong=FL; %定义一个集合,记录应经用过的图片%对剩下列图片进展分类%for y=1:11j=FL(y); %j表示第j个第一列元素s=sum(pj,2); %行求和 %&%找第一行非空白的行数%i=1;while i=180 if s(i)=std i=i+1; e

48、lse a=i; %a即为第一个有字行 break end end %接着往后找,找第一个有字行字后的空白行%while i=180 if s(i)=std i=i+1; else a1=i; %第一个空白行记为a1 break end end i=i+1; while i=180 if s(i)=std i=i+1; else a2=i-1;break %最后一个空白行记为a2 end end L1=; L1(1)=j; m=2; for k=1:209 s=sum(pk,2); *=0; for n=a1+2:a2-2 if s(n)=std *=*+1; end end if *=a2-

49、a1-3 L1(m)=k;%L1就是图片的序号 m=m+1; end end Y=strcat(第,num2str(y),类可能的图片编号为:); disp(Y) L1 %求出了可能为同一行的纸片 L1=L1(1),setdiff(L1(:),FL(:);%除去其中已经用过的的图片 yiyong=L1,yiyong; %将用过的图片存在集合yiyong中 %用第一问的方法横排拼图%z=size(L1,2);for *=1:z fank(:,:,*)=pL1(*);end*=1:z;for i=2:z sump=; for j=i:z for w=1:180 a=double(fank(w,72

50、,i-1); b=double(fank(w,1,j); s(w)=abs(a-b); sump(j)=sum(s); end for k=1:(i-1) sump(k)=9999999; end endb,A=sort(sump);C=*(A(1);*(A(1)=*(i);*(i)=C;B=fank(:,:,A(1);fank(:,:,A(1)=fank(:,:,i);fank(:,:,i)=B;end%输出图片%*-1;m=fank(:,:,1);for i=2:zm=m,fank(:,:,i);end subplot(11,1,y)imshow(m)endlength(unique(yi

51、yong)附件3复原结果图片图1.3附件4图片生成程序:Mathematica生成0-1列向量allp=;Dopt=, Do hang=, Dohang=Appendhang,255-pmk,i,j,1, j,ln, pt=Appendpt,hang, i,hn, allp=Appendallp,pt, k,pnhangh=;kongh=;tempk=37,45,89,98,99,100,125,138,190,199;Do tempp=allptempkk; hang=; Do temp=Sumtemppi,j,j,1,ln, Iftemp0,hang=Appendhang,i,i,hn,

52、Printhang, m=Lengthhang-3; kong=; Ifhang11,k1=hang1,k1=100, Do n1=hangi, n2=hangi+1, n3=hangi+2, n4=hangi+3, Ifn2n1+1&n4n3+1&n3n2+1, Ifk1n2,kong=Appendkong,k1,n2,k1=n3 ,i,m, Printkong, n=Lengthkong-1; Do kongh=Appendkongh,kongi+1,1-kongi,2, hangh=Appendhangh,kongi,2-kongi,1 ,i,n ,k,Lengthtempkhanghn

53、=RoundSumhanghi,i,1,Lengthhangh/Lengthhanghkonghn=RoundSumkonghi,i,1,Lengthkongh/LengthkonghMatlab拼出复原图片clcclear%读入图片%p=cell(1,209);for i=1:10 imageName=strcat(I:题目附件400,num2str(i-1),.BMP); pi = imread(imageName);endfor i=11:100 imageName=strcat(I:题目附件40,num2str(i-1),.BMP); pi = imread(imageName);en

54、dfor i=101:209 imageName=strcat(I:题目附件4,num2str(i-1),.BMP); pi = imread(imageName);end%图片%Answer=191,075,011,154,190,184,002,104,180,064,106,004,149,032,204,065,039,067,147;. 201,148 170 196 198 094 113 164 078 103 091 080 101 026 100 006 017 028 146;. 086 051 107 029 040 158 186 098 024 117 150 005

55、 059 058 092 030 037 046 127;. 019 194 093 141 088 121 126 105 155 114 176 182 151 022 057 202 071 165 082;. 159 139 001 129 063 138 153 053 038 123 120 175 085 050 160 187 097 203 031;. 020 041 108 116 136 073 036 207 135 015 076 043 199 045 173 079 161 179 143;. 208 021 007 049 061 119 033 142 168

56、 062 169 054 192 133 118 189 162 197 112;. 070 084 060 014 068 174 137 195 008 047 172 156 096 023 099 122 090 185 109;. 132 181 095 069 167 163 166 188 111 144 206 003 130 034 013 110 025 027 178;. 171 042 066 205 010 157 074 145 083 134 055 018 056 035 016 009 183 152 044;. 081 077 128 200 131 052

57、 125 140 193 087 089 048 072 012 177 124 000 102 115;Answer=Answer+1;Answer=Answer;i=0;m0=; for j=i*19+1:(i+1)*19 m0=m0,pAnswer(j); endi=1m1=; for j=i*19+1:(i+1)*19 m1=m1,pAnswer(j); endi=2;m2=; for j=i*19+1:(i+1)*19 m2=m2,pAnswer(j); end i=3;m3=; for j=i*19+1:(i+1)*19 m3=m3,pAnswer(j); end i=4;m4=;

58、 for j=i*19+1:(i+1)*19 m4=m4,pAnswer(j); end i=5;m5=; for j=i*19+1:(i+1)*19 m5=m5,pAnswer(j); end i=6;m6=; for j=i*19+1:(i+1)*19 m6=m6,pAnswer(j); end i=7;m7=; for j=i*19+1:(i+1)*19 m7=m7,pAnswer(j); endi=8;m8=; for j=i*19+1:(i+1)*19 m8=m8,pAnswer(j); end i=9;m9=; for j=i*19+1:(i+1)*19 m9=m9,pAnswer(j); endi=10;m10=; for j=i*19+1:(i+1)*19 m10=m10,pAnswer(j); end m=m0;m1;m2;m3;m4;m5;m6;m7;m8;m9;m10; imshow(m)附件4复原结果图片:图1.4附件5复原程序:a=cell(1,208);for i=1:10 imageName

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论