聪明文档网

聪明文档网

最新最全的文档下载
当前位置: 首页> 碎纸片的拼接复原算法及MATLAB实现

碎纸片的拼接复原算法及MATLAB实现

时间:2020-05-29 08:36:51    下载该word文档

2013高教社杯全国大学生数学建模竞赛

我们仔细阅读了《全国大学生数学建模竞赛章程》和《全国大学生数学建模竞赛参赛规则》(以下简称为“竞赛章程和参赛规则”,可从全国大学生数学建模竞赛网站下载

我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。

我们知道,抄袭别人的成果是违反竞赛章程和参赛规则的如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用和参考文献中明确列出。

我们郑重承诺,严格遵守竞赛章程和参赛规则,以保证竞赛的公正、公平性。如有违反竞赛章程和参赛规则的行为,我们将受到严肃处理

我们授权全国大学生数学建模竞赛组委会,可我们的论文以任何形式进行公开展示(包括进行网上公示,在书籍、期刊和其他媒体进行正式或非正式发表等)

我们参赛选择的题号是(从A/B/C/D中选择一项填写): B

我们的参赛报名号为(如果赛区设置报名号的话)

所属学校(请填写完整的全名): 楚雄师范学院

参赛队员 (打印并签名) 1. 陈志明

2. 施明杰

3. 阮秀婷

指导教师指导教师组负责人 (打印并签名)

论文纸质版与电子版中的以上信息必须一致,只是电子版中无需签名。以上内容请仔细核对,提交后将不再允许做任何修改。如填写错误,论文可能被取消评奖资格。

日期: 3013 9 16

赛区评阅编号(由赛区组委会评阅前进行编号):

2013高教社杯全国大学生数学建模竞赛

赛区评阅编号(由赛区组委会评阅前进行编号):

赛区评阅记录(可供赛区评阅时使用):

全国统一编号(由赛区组委会送交全国前编号):

全国评阅编号(由全国组委会评阅前进行编号):



碎纸片的拼接复原算法及MATLAB实现

摘要:对于只有纵切的情形,文章通过比较当前待拼碎片与剩余碎片的信噪比psnr[1,3,4]值来确定两碎片是否为邻接碎片;拼接算法首先连续调用右拼函数直到拼接到原图右边界,然后连续调用左拼函数直到拼接到原图左边界,从而得到整幅复原图像;对于单面纵横交错切的情形,文章对首先采用纵切拼接算法将碎片拼接成多幅横条图片,然后将各横条图片矩阵转置[2],再次采用纵切拼接算法拼接;两种情形的拼接,都存在人为参与;实验证明,我们的算法对纵切情形是有效的,对纵横切情况是可行的

关键字:纵切;单面纵横交错切;双面纵横交错切;信噪比;左拼函数;右拼函数;矩阵转;Matlab[5]编程

一、问题描述

破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有重要的应用。传统上,拼接复原工作需由人工完成,准确率较高,但效率很低。特别是当碎片数量巨大,人工拼接很难在短时间内完成任务。随着计算机技术的发展,人们试图开发碎纸的自动拼接技术,以提高拼接复原效率。请讨论以下问题:

(1)对于给定的来自同一页印刷文字文件碎纸机破碎纸片(仅纵切),建立碎纸拼接复原模型和算法,并针对附件1、附件2给出的中、英文各一页文件的碎片数据进行拼接复原。如果复原过程需要人工干预,请写出干预方式及干预的时间节点。复原结果以图片形式及表格形式表达

(2)对于碎纸机纵切横切的情形,请设计碎纸片拼接复原模型和算法,并针对附件3、附件4给出的中、英文各一页文件的碎片数据进行拼接复原。如果复原过程需要人工干预,请写出干预方式及干预的时间节点。复原结果表达要求同上。

(3)上述所给碎片数据均为单面打印文件,从现实情形出发,还可能有双面打印文件的碎纸片拼接复原问题需要解决。附件5给出的是一页英文印刷文字双面打印文件的碎片数据。请尝试设计相应的碎纸片拼接复原模型与算法,并就附件5的碎片数据给出拼接复原结果,结果表达要求同上。

二、拼接中存在的几个主要问题及解决方案

为了将碎片拼接成一幅完整的图片,需要解决的问题有以下几个方面

(1) 如何判断两个是否为相邻碎

(2) 如何控制两两拼接的循环执行直至拼接完成

(3) 如何判断碎片是否为边界碎片

(4) 如果碎片的某个边界刚好完全是空白,则将其判断为原图的边界还是相邻文字的空隙?

(5) 对于既有纵切又有横切的单面图片,如何拼接?

(6) 对于对于既有纵切又有横切的双面图片,如何拼接?

针对上述问题,我们给出以下解决方案:

1.问题(1)的解决方案

为了减少计算量和便于处理,我们将原灰度图像转换二值图像,此转换不影响文字类图片的质量,也不会影响拼接效果

一般而言,相邻片的边缘具有很强的相似性,我们通过判断碎片矩阵的对应界列的相似程度来确定两矩阵存储的碎片是否为相邻碎片。为了确定两列向量的相似程度,我们利用其信噪比值psnr来衡量,psnr的值越大,说明两者的相似程度越高。在拼接过程中可能会存在这种现象:也许存在多幅待拼碎片与已拼图片的信噪比相同,为了从中选择一幅正确的碎片作为当前碎片的邻接碎片,我们可以人为介入从语义上进行判断。也有可能待拼碎片与已拼图片的信噪比大,但是并不是已拼图片的邻接图片,反而次小信噪比的碎片是邻接碎片。这是因为用信噪比去衡量邻接碎片边缘的相似度也存在概率性误差。对于以上两种情况,我们都需要在程序运行期间进行人工干预,即程序在拼接时需要与用户进行交互。思想如下:拼接函数f2()和f3()拼接时都会将当前已拼图片与所有待拼碎片的信噪比进行求解,并将所得信噪比序列存入一维数组中,然后通过排序函数paixu2()进行自小而大的排序,然后通过循环控制,从已排序数组的最后一个元素逐个向前尝试,每尝试一次都要与用户交互,用户根据图片语义判断拼接正确与否,如果正确,则给出‘YES’的输入,程序终止拼接;如果否,则给出‘NO’的输入,程序继续尝试剩余碎片,直到找到正确邻接碎片为止。实验证明,用该种方法对单纯纵切碎片的情况非常有效。

2.问题(2)的解决方案

在拼接的过程中,需要考虑如下几种情况:

如果选取的第一碎片刚好原图的左边缘碎片,则只需要在其右侧进行拼接,直到完毕。

如果选取的第一幅碎片刚好是原图的右侧边缘碎片,则只需要在其左侧进行拼接,直到拼接完毕。

如果选取的第一幅碎片刚好是原图的内部某一碎片,则既要进行右侧拼接,又要进行左侧拼接。

针对以上三种情况,我们编写了两个拼接函数,其中函数f2()实现两碎片的右侧拼接,函数f3()实现两碎片的左侧拼接。通过反复调用两函数实现整幅图的拼接。为了确定是选择函数f2()还是函数f3(),依照以下思路进行:

从所有碎片中首先选择一个碎片,判断其是否为右侧边缘碎片,如果否,则对其进行右侧拼接,则反复调用右拼函数f2(),直到右边缘然后再调用左拼函数f3()进行左拼,直到左边缘;如果是,则直接调用左拼函数f3()进行左拼,直到左边缘。

3.问题(3)的解决方案

在拼接过程中需要判断是否已经拼接到原图的边缘为了解决该问题,我们在设计函数f2()和f3()分别它们返回值的一个分量来标志是否调用成功如果函数按psnr的逆序试了所有剩余碎片都未能找到合适的碎片,说明当前待拼图片是边界图片, 此时返回值分量flag的值为0,否则返回1。

4.问题(4)的解决方案

对于此种情况可以不做特殊处理,只需要调用拼接函数f2()或f3()进行拼接。如果刚好是边界,而剩余碎片个数为n,则人机交互n次才能判断该图片为边界碎片,而且人为根据语义做出判断时,也浪费了很多精力。为了避免该情况发生,我们将边界完全为空白的情况处理为边界。也可以在程序中直接把该处理对应的代码去掉,其余代码不需做任何改动,不足是增加了人工干预次数。当然,我们假定,在纵切时没有刚好完全切在空白处的情况,否则程序会给出错误的结果。程序实现时,具体处理方法如下:以f2()为例,首先测试碎片矩阵的大小,如果该碎片矩阵的右侧边界分量各元素值的和与碎片的行数之差小于一个阀值,我们就认为该碎片为边缘碎片,停止拼接。因为碎片已被处理为二值图像,在二值图像中,白色像素值为1,黑色像素值为0,而边缘通常是纯白的,在考虑有极少杂色的情况下,我们给了一个阀值。左侧边缘判定方法一样。

5.问题(5)的解决方案

对于既有纵切又有横切的图片,我们按如下思想进行拼接:利用纵切图片的拼接思想首先将碎片拼接成多个横条图片,然后将每个横条图片的矩阵进行转置,最后再次利用纵切拼接思想对横条图片进行拼接,拼接完毕后,将得到的最终矩阵进行转置,最终得到整幅图片。在实现过程中,存在以下细节需要处理:

整个过程中需要多次调用纵切拼接函数将碎片拼接成多个横条图片,所以,需要在每次成功拼接一个横条图片时将当前已参与拼接的碎片从剩余碎片中分离出来,这就需要用到分离函数ff()。

6.问题(6)的解决方案

单面纵横切的算法和思想完全可以拓展到双面纵横切的情形,区别在于:在将所有碎片拼接成横条形图片后,再进行横条拼接时要产生两幅图像。为了能生成两幅图像,需要在单面纵横切拼接算法的基础上做以下处理:在拼接过程中要将参与拼接的图片与剩余图片分离出来;从一个图片开始拼起,如果遇到两个边界都已经找到了,说明第一个图片已经拼接完毕,然后再将剩余碎片拼接成另一面图像。因时间关系,我们未能编程实现。

三、Matlab编程实现拼接算法中的几个功能模块及调用关系

整个问题解决方案的实现代码分成以下几个功能模块:

(1) read1()函数:将待处理碎片集‘附件1’读入一个三维矩阵中,程序中设置的默认读取路径是d:\盘根目录,所以,需要把待拼碎片文件夹放在该路径下。

(2) read2()函数:将待处理碎片集‘附件2’读入一个三维矩阵中,其余同上。

(3) read3()函数:将待处理碎片集‘附件3’读入一个三维矩阵中,其余同上。

(4) read4()函数:将待处理碎片集‘附件4’读入一个三维矩阵中,其余同上。

(5) f2()函数:按右拼方法实现两个单面纵切碎片的拼接。

(6) f3()函数:按左拼方法实现两个单面纵切碎片的拼接。

(7) paixu2()函数:实现psnr序列的排序。

(8) psnr()函数:求解两个碎片矩阵的边界列向量的信噪比值。

(9) pinjie1()函数:实现对附件1单面纵切图片的拼接。

(10) pinjie2()函数:实现对附件2单面纵切图片的拼接。

(11) pinjie3()函数:实现对附件3单面纵横交错切所得碎片的拼接。

(12) pinjie4()函数:实现对附件4单面纵横交错切所得碎片的拼接。

(13) ff()函数:对于单面纵横交错切的情形,将参与拼成横条图片的碎片从当前碎片集合中筛掉。

上述几个函数之间的调用关系是:

① 对只有纵切的情形,直接调用pinjie1()函数、pinjie2()函数进行拼接即可。拼接函数pinjie1()函数、pinjie2()函数,首先通过read1()或read2()将纵切碎片读入三维矩阵,然后通过反复调用f2()和f3()实现整副图的拼接。而f2()和f3()实现拼接时需要判断当前待拼碎片与剩余碎片相应边界列向量的信噪比值psnr,并且存入一维数组中,并进行paixu()函数排序。所以,f2()和f3()需要调用psnr()和paixu2()函数。然后在窗口出入pinjie1代码和pinjie2代码进行结果运算。

对既有纵切又有横切的情形,直接调用pinjie3()函数、pinjie4()函数即可。该拼接函数是在pinjie1()函数、pinjie2()函数的基础上添加了循环控制,并通过调用ff()函数将已拼碎片与剩余图片进行分离,从而将所有碎片拼成多个条形图片,并通过调用pinjie5()函数将条形图片拼成最终的原图。

四、实验结果及分析

对只有纵切的情形,直接调用pinjie1()函数和pinjie2()函数分别对附件1和附件2进行拼接即可。拼接函数pinjie1()和pinjie2()在执行过程中,首先分别通过read1()和read2()将纵切碎片读入三维矩阵,然后通过反复调用f2()和f3()实现整副图的拼接。实验结果如附录2中图1和图2所示。结果表明,我们的方法是高效且可行的。

对于纵横切的情形,首先在Matlab中对函数read3()和read4()进行调用,从而将附件3和附件4中的碎片读入到三维矩阵中,然后调用函数pinjie3()和pinjie4()分别对两组碎片进行拼接,由于时间关系,程序只拼接出部分横切图片如图3所示。

利用psnr作为判断邻接碎片的标准,衡量其好坏,主要是看每成功拼接一次尝试的次数。附件1在拼接过程中人工干预输入yes和no拼接次数的统计表如附录4所示,由附录表中的数据可以得出准确率:,即拼接效果很好。

附件2在拼接过程人工干预输入yes和no拼接次数的统计表如附录5所示,由附录的表中的数据可以得出准确率:,即拼接效果很好。

五、提高效率的新想法

用信噪比psnr作为衡量邻接碎片的标准对多数情况是有效的,判断一到两次就可以确定邻接图片,但对少数情况并不乐观,这样就导致整体算法的效率不高。为了节约拼接时间,可以在原算法的基础上做如下两种改进:(1)在原有算法的基础上做如下调整:在进行横向拼接时,不采用完全拼接,比如,对一条横条图片进行拼接时,在拼的过程中,发现在寻找已拼图片的邻接碎片时总是要进行多次判断,此时,可以通过阀门控制判断次数,比如将最大阀门设为10,则相邻碎片进行拼接时,如果判断10次还未找到其相邻图片,则停止拼接,然后转向另一侧拼接。将每次拼接好的横向图片存在在不同矩阵中,然后再对这些拼接好的大小不等(但是具有相同宽度)的横向图片进行二次拼接,得到完整的横向切片。然后再对这些完整的横向切片按前述的思想进行纵向拼接得到完整的整幅图片。(2)左拼函数和右拼函数判断相邻碎片时是单纯使用信噪比,对少数情况效率较低,此时可以结合均方差一起使用,首先设定一个阀门,比如设为10,如果在使用信噪比进行10次判断时仍然未找到已知图片的邻接碎片,在接下来的搜索中,采用均方差进行搜索。由于时间紧迫,未能来得及编程实现。

六、小结

本文通过比较当前待拼碎片与剩余碎片的信噪比值来确定两碎片是否为相邻碎片。首先要考虑碎片被切的方向,若只是单一的纵向切,则可以直接拼接;若既有纵切又有横切,则只能先考虑同一方向上的拼接,待完成一个方向的拼接再进行另一方向上的拼接,只能逐步完成拼接过程。文章利用Matlab编写程序,经过检测得到了很好的拼接效果。

参考文献

[1] 沈连丰,叶芝慧.信息论与编码.科学出版社2004年9月.

[2] 王向东,戎海武,数学实验.北京:高等教育出版社2004年5月.

[3] 王学伟,王春韵,张玉叶.点击图像信噪比计算方法.第17卷第1期2010年1月.

[4] 陈桂明,张明照,戚红雨.应用Matlab语言处理数字信号与数字图像.科学出版社2000年.

[5]刘宏友,彭峰.MATLAB6.x符号运算及其应用.机械工业出版社,2003年2月.

附录1:相关程序代码

(1)read1()函数代码

function a=read1()

a(1,:,:)=dither(imread('d:\附件1\000.bmp'));

a(2,:,:)=dither(imread('d:\附件1\001.bmp'));

a(3,:,:)=dither(imread('d:\附件1\002.bmp'));

a(4,:,:)=dither(imread('d:\附件1\003.bmp'));

a(5,:,:)=dither(imread('d:\附件1\004.bmp'));

a(6,:,:)=dither(imread('d:\附件1\005.bmp'));

a(7,:,:)=dither(imread('d:\附件1\006.bmp'));

a(8,:,:)=dither(imread('d:\附件1\007.bmp'));

a(9,:,:)=dither(imread('d:\附件1\008.bmp'));

a(10,:,:)=dither(imread('d:\附件1\009.bmp'));

a(11,:,:)=dither(imread('d:\附件1\010.bmp'));

a(12,:,:)=dither(imread('d:\附件1\011.bmp'));

a(13,:,:)=dither(imread('d:\附件1\012.bmp'));

a(14,:,:)=dither(imread('d:\附件1\013.bmp'));

a(15,:,:)=dither(imread('d:\附件1\014.bmp'));

a(16,:,:)=dither(imread('d:\附件1\015.bmp'));

a(17,:,:)=dither(imread('d:\附件1\016.bmp'));

a(18,:,:)=dither(imread('d:\附件1\017.bmp'));

a(19,:,:)=dither(imread('d:\附件1\018.bmp'));

2read2()函数代码

function a=read2()

a(1,:,:)=dither(imread('d:\附件2\000.bmp'));

a(2,:,:)=dither(imread('d:\附件2\001.bmp'));

a(3,:,:)=dither(imread('d:\附件2\002.bmp'));

a(4,:,:)=dither(imread('d:\附件2\003.bmp'));

a(5,:,:)=dither(imread('d:\附件2\004.bmp'));

a(6,:,:)=dither(imread('d:\附件2\005.bmp'));

a(7,:,:)=dither(imread('d:\附件2\006.bmp'));

a(8,:,:)=dither(imread('d:\附件2\007.bmp'));

a(9,:,:)=dither(imread('d:\附件2\008.bmp'));

a(10,:,:)=dither(imread('d:\附件2\009.bmp'));

a(11,:,:)=dither(imread('d:\附件2\010.bmp'));

a(12,:,:)=dither(imread('d:\附件2\011.bmp'));

a(13,:,:)=dither(imread('d:\附件2\012.bmp'));

a(14,:,:)=dither(imread('d:\附件2\013.bmp'));

a(15,:,:)=dither(imread('d:\附件2\014.bmp'));

a(16,:,:)=dither(imread('d:\附件2\015.bmp'));

a(17,:,:)=dither(imread('d:\附件2\016.bmp'));

a(18,:,:)=dither(imread('d:\附件2\017.bmp'));

a(19,:,:)=dither(imread('d:\附件2\018.bmp'));

3read3()函数代码

function a=read3()

a(1,:,:)=dither(imread('d:\附件3\000.bmp'));

a(2,:,:)=dither(imread('d:\附件3\001.bmp'));

a(3,:,:)=dither(imread('d:\附件3\002.bmp'));

a(4,:,:)=dither(imread('d:\附件3\003.bmp'));

a(5,:,:)=dither(imread('d:\附件3\004.bmp'));

a(6,:,:)=dither(imread('d:\附件3\005.bmp'));

a(7,:,:)=dither(imread('d:\附件3\006.bmp'));

a(8,:,:)=dither(imread('d:\附件3\007.bmp'));

a(9,:,:)=dither(imread('d:\附件3\008.bmp'));

a(10,:,:)=dither(imread('d:\附件3\009.bmp'));

a(11,:,:)=dither(imread('d:\附件3\010.bmp'));

a(12,:,:)=dither(imread('d:\附件3\011.bmp'));

a(13,:,:)=dither(imread('d:\附件3\012.bmp'));

a(14,:,:)=dither(imread('d:\附件3\013.bmp'));

a(15,:,:)=dither(imread('d:\附件3\014.bmp'));

a(16,:,:)=dither(imread('d:\附件3\015.bmp'));

a(17,:,:)=dither(imread('d:\附件3\016.bmp'));

a(18,:,:)=dither(imread('d:\附件3\017.bmp'));

a(19,:,:)=dither(imread('d:\附件3\018.bmp'));

a(20,:,:)=dither(imread('d:\附件3\019.bmp'));

a(21,:,:)=dither(imread('d:\附件3\020.bmp'));

a(22,:,:)=dither(imread('d:\附件3\021.bmp'));

a(23,:,:)=dither(imread('d:\附件3\022.bmp'));

a(24,:,:)=dither(imread('d:\附件3\023.bmp'));

a(25,:,:)=dither(imread('d:\附件3\024.bmp'));

a(26,:,:)=dither(imread('d:\附件3\025.bmp'));

a(27,:,:)=dither(imread('d:\附件3\026.bmp'));

a(28,:,:)=dither(imread('d:\附件3\027.bmp'));

a(29,:,:)=dither(imread('d:\附件3\028.bmp'));

a(30,:,:)=dither(imread('d:\附件3\029.bmp'));

a(31,:,:)=dither(imread('d:\附件3\030.bmp'));

a(32,:,:)=dither(imread('d:\附件3\031.bmp'));

a(33,:,:)=dither(imread('d:\附件3\032.bmp'));

a(34,:,:)=dither(imread('d:\附件3\033.bmp'));

a(35,:,:)=dither(imread('d:\附件3\034.bmp'));

a(36,:,:)=dither(imread('d:\附件3\035.bmp'));

a(37,:,:)=dither(imread('d:\附件3\036.bmp'));

a(38,:,:)=dither(imread('d:\附件3\037.bmp'));

a(39,:,:)=dither(imread('d:\附件3\038.bmp'));

a(40,:,:)=dither(imread('d:\附件3\039.bmp'));

a(41,:,:)=dither(imread('d:\附件3\040.bmp'));

a(42,:,:)=dither(imread('d:\附件3\041.bmp'));

a(43,:,:)=dither(imread('d:\附件3\042.bmp'));

a(44,:,:)=dither(imread('d:\附件3\043.bmp'));

a(45,:,:)=dither(imread('d:\附件3\044.bmp'));

a(46,:,:)=dither(imread('d:\附件3\045.bmp'));

a(47,:,:)=dither(imread('d:\附件3\046.bmp'));

a(48,:,:)=dither(imread('d:\附件3\047.bmp'));

a(49,:,:)=dither(imread('d:\附件3\048.bmp'));

a(50,:,:)=dither(imread('d:\附件3\049.bmp'));

a(51,:,:)=dither(imread('d:\附件3\050.bmp'));

a(52,:,:)=dither(imread('d:\附件3\051.bmp'));

a(53,:,:)=dither(imread('d:\附件3\052.bmp'));

a(54,:,:)=dither(imread('d:\附件3\053.bmp'));

a(55,:,:)=dither(imread('d:\附件3\054.bmp'));

a(56,:,:)=dither(imread('d:\附件3\055.bmp'));

a(57,:,:)=dither(imread('d:\附件3\056.bmp'));

a(58,:,:)=dither(imread('d:\附件3\057.bmp'));

a(59,:,:)=dither(imread('d:\附件3\058.bmp'));

a(60,:,:)=dither(imread('d:\附件3\059.bmp'));

a(61,:,:)=dither(imread('d:\附件3\060.bmp'));

a(62,:,:)=dither(imread('d:\附件3\061.bmp'));

a(63,:,:)=dither(imread('d:\附件3\062.bmp'));

a(64,:,:)=dither(imread('d:\附件3\063.bmp'));

a(65,:,:)=dither(imread('d:\附件3\064.bmp'));

a(66,:,:)=dither(imread('d:\附件3\065.bmp'));

a(67,:,:)=dither(imread('d:\附件3\066.bmp'));

a(68,:,:)=dither(imread('d:\附件3\067.bmp'));

a(69,:,:)=dither(imread('d:\附件3\068.bmp'));

a(70,:,:)=dither(imread('d:\附件3\069.bmp'));

a(71,:,:)=dither(imread('d:\附件3\070.bmp'));

a(72,:,:)=dither(imread('d:\附件3\071.bmp'));

a(73,:,:)=dither(imread('d:\附件3\072.bmp'));

a(74,:,:)=dither(imread('d:\附件3\073.bmp'));

a(75,:,:)=dither(imread('d:\附件3\074.bmp'));

a(76,:,:)=dither(imread('d:\附件3\075.bmp'));

a(77,:,:)=dither(imread('d:\附件3\076.bmp'));

a(78,:,:)=dither(imread('d:\附件3\077.bmp'));

a(79,:,:)=dither(imread('d:\附件3\078.bmp'));

a(80,:,:)=dither(imread('d:\附件3\079.bmp'));

a(81,:,:)=dither(imread('d:\附件3\080.bmp'));

a(82,:,:)=dither(imread('d:\附件3\081.bmp'));

a(83,:,:)=dither(imread('d:\附件3\082.bmp'));

a(84,:,:)=dither(imread('d:\附件3\083.bmp'));

a(85,:,:)=dither(imread('d:\附件3\084.bmp'));

a(86,:,:)=dither(imread('d:\附件3\085.bmp'));

a(87,:,:)=dither(imread('d:\附件3\086.bmp'));

a(88,:,:)=dither(imread('d:\附件3\087.bmp'));

a(89,:,:)=dither(imread('d:\附件3\088.bmp'));

a(90,:,:)=dither(imread('d:\附件3\089.bmp'));

a(91,:,:)=dither(imread('d:\附件3\090.bmp'));

a(92,:,:)=dither(imread('d:\附件3\091.bmp'));

a(93,:,:)=dither(imread('d:\附件3\092.bmp'));

a(94,:,:)=dither(imread('d:\附件3\093.bmp'));

a(95,:,:)=dither(imread('d:\附件3\094.bmp'));

a(96,:,:)=dither(imread('d:\附件3\095.bmp'));

a(97,:,:)=dither(imread('d:\附件3\096.bmp'));

a(98,:,:)=dither(imread('d:\附件3\097.bmp'));

a(99,:,:)=dither(imread('d:\附件3\098.bmp'));

a(100,:,:)=dither(imread('d:\附件3\099.bmp'));

a(101,:,:)=dither(imread('d:\附件3\100.bmp'));

a(102,:,:)=dither(imread('d:\附件3\101.bmp'));

a(103,:,:)=dither(imread('d:\附件3\102.bmp'));

a(104,:,:)=dither(imread('d:\附件3\103.bmp'));

a(105,:,:)=dither(imread('d:\附件3\104.bmp'));

a(106,:,:)=dither(imread('d:\附件3\105.bmp'));

a(107,:,:)=dither(imread('d:\附件3\106.bmp'));

a(108,:,:)=dither(imread('d:\附件3\107.bmp'));

a(109,:,:)=dither(imread('d:\附件3\108.bmp'));

a(110,:,:)=dither(imread('d:\附件3\109.bmp'));

a(111,:,:)=dither(imread('d:\附件3\110.bmp'));

a(112,:,:)=dither(imread('d:\附件3\111.bmp'));

a(113,:,:)=dither(imread('d:\附件3\112.bmp'));

a(114,:,:)=dither(imread('d:\附件3\113.bmp'));

a(115,:,:)=dither(imread('d:\附件3\114.bmp'));

a(116,:,:)=dither(imread('d:\附件3\115.bmp'));

a(117,:,:)=dither(imread('d:\附件3\116.bmp'));

a(118,:,:)=dither(imread('d:\附件3\117.bmp'));

a(119,:,:)=dither(imread('d:\附件3\118.bmp'));

a(120,:,:)=dither(imread('d:\附件3\119.bmp'));

a(121,:,:)=dither(imread('d:\附件3\120.bmp'));

a(122,:,:)=dither(imread('d:\附件3\121.bmp'));

a(123,:,:)=dither(imread('d:\附件3\122.bmp'));

a(124,:,:)=dither(imread('d:\附件3\123.bmp'));

a(125,:,:)=dither(imread('d:\附件3\124.bmp'));

a(126,:,:)=dither(imread('d:\附件3\125.bmp'));

a(127,:,:)=dither(imread('d:\附件3\126.bmp'));

a(128,:,:)=dither(imread('d:\附件3\127.bmp'));

a(129,:,:)=dither(imread('d:\附件3\128.bmp'));

a(130,:,:)=dither(imread('d:\附件3\129.bmp'));

a(131,:,:)=dither(imread('d:\附件3\130.bmp'));

a(132,:,:)=dither(imread('d:\附件3\131.bmp'));

a(133,:,:)=dither(imread('d:\附件3\132.bmp'));

a(134,:,:)=dither(imread('d:\附件3\133.bmp'));

a(135,:,:)=dither(imread('d:\附件3\134.bmp'));

a(136,:,:)=dither(imread('d:\附件3\135.bmp'));

a(137,:,:)=dither(imread('d:\附件3\136.bmp'));

a(138,:,:)=dither(imread('d:\附件3\137.bmp'));

a(139,:,:)=dither(imread('d:\附件3\138.bmp'));

a(140,:,:)=dither(imread('d:\附件3\139.bmp'));

a(141,:,:)=dither(imread('d:\附件3\140.bmp'));

a(142,:,:)=dither(imread('d:\附件3\141.bmp'));

a(143,:,:)=dither(imread('d:\附件3\142.bmp'));

a(144,:,:)=dither(imread('d:\附件3\143.bmp'));

a(145,:,:)=dither(imread('d:\附件3\144.bmp'));

a(146,:,:)=dither(imread('d:\附件3\145.bmp'));

a(147,:,:)=dither(imread('d:\附件3\146.bmp'));

a(148,:,:)=dither(imread('d:\附件3\147.bmp'));

a(149,:,:)=dither(imread('d:\附件3\148.bmp'));

a(150,:,:)=dither(imread('d:\附件3\149.bmp'));

a(151,:,:)=dither(imread('d:\附件3\150.bmp'));

a(152,:,:)=dither(imread('d:\附件3\151.bmp'));

a(153,:,:)=dither(imread('d:\附件3\152.bmp'));

a(154,:,:)=dither(imread('d:\附件3\153.bmp'));

a(155,:,:)=dither(imread('d:\附件3\154.bmp'));

a(156,:,:)=dither(imread('d:\附件3\155.bmp'));

a(157,:,:)=dither(imread('d:\附件3\156.bmp'));

a(158,:,:)=dither(imread('d:\附件3\157.bmp'));

a(159,:,:)=dither(imread('d:\附件3\158.bmp'));

a(160,:,:)=dither(imread('d:\附件3\159.bmp'));

a(161,:,:)=dither(imread('d:\附件3\160.bmp'));

a(162,:,:)=dither(imread('d:\附件3\161.bmp'));

a(163,:,:)=dither(imread('d:\附件3\162.bmp'));

a(164,:,:)=dither(imread('d:\附件3\163.bmp'));

a(165,:,:)=dither(imread('d:\附件3\164.bmp'));

a(166,:,:)=dither(imread('d:\附件3\165.bmp'));

a(167,:,:)=dither(imread('d:\附件3\166.bmp'));

a(168,:,:)=dither(imread('d:\附件3\167.bmp'));

a(169,:,:)=dither(imread('d:\附件3\168.bmp'));

a(170,:,:)=dither(imread('d:\附件3\169.bmp'));

a(171,:,:)=dither(imread('d:\附件3\170.bmp'));

a(172,:,:)=dither(imread('d:\附件3\171.bmp'));

a(173,:,:)=dither(imread('d:\附件3\172.bmp'));

a(174,:,:)=dither(imread('d:\附件3\173.bmp'));

a(175,:,:)=dither(imread('d:\附件3\174.bmp'));

a(176,:,:)=dither(imread('d:\附件3\175.bmp'));

a(177,:,:)=dither(imread('d:\附件3\176.bmp'));

a(178,:,:)=dither(imread('d:\附件3\177.bmp'));

a(179,:,:)=dither(imread('d:\附件3\178.bmp'));

a(180,:,:)=dither(imread('d:\附件3\179.bmp'));

a(181,:,:)=dither(imread('d:\附件3\180.bmp'));

a(182,:,:)=dither(imread('d:\附件3\181.bmp'));

a(183,:,:)=dither(imread('d:\附件3\182.bmp'));

a(184,:,:)=dither(imread('d:\附件3\183.bmp'));

a(185,:,:)=dither(imread('d:\附件3\184.bmp'));

a(186,:,:)=dither(imread('d:\附件3\185.bmp'));

a(187,:,:)=dither(imread('d:\附件3\186.bmp'));

a(188,:,:)=dither(imread('d:\附件3\187.bmp'));

a(189,:,:)=dither(imread('d:\附件3\188.bmp'));

a(190,:,:)=dither(imread('d:\附件3\189.bmp'));

a(191,:,:)=dither(imread('d:\附件3\190.bmp'));

a(192,:,:)=dither(imread('d:\附件3\191.bmp'));

a(193,:,:)=dither(imread('d:\附件3\192.bmp'));

a(194,:,:)=dither(imread('d:\附件3\193.bmp'));

a(195,:,:)=dither(imread('d:\附件3\194.bmp'));

a(196,:,:)=dither(imread('d:\附件3\195.bmp'));

a(197,:,:)=dither(imread('d:\附件3\196.bmp'));

a(198,:,:)=dither(imread('d:\附件3\197.bmp'));

a(199,:,:)=dither(imread('d:\附件3\198.bmp'));

a(200,:,:)=dither(imread('d:\附件3\199.bmp'));

a(201,:,:)=dither(imread('d:\附件3\200.bmp'));

a(202,:,:)=dither(imread('d:\附件3\201.bmp'));

a(203,:,:)=dither(imread('d:\附件3\202.bmp'));

a(204,:,:)=dither(imread('d:\附件3\203.bmp'));

a(205,:,:)=dither(imread('d:\附件3\204.bmp'));

a(206,:,:)=dither(imread('d:\附件3\205.bmp'));

a(207,:,:)=dither(imread('d:\附件3\206.bmp'));

a(208,:,:)=dither(imread('d:\附件3\207.bmp'));

a(209,:,:)=dither(imread('d:\附件3\208.bmp'));

4read4()函数代码

function a= read4()

a(1,:,:)=dither(imread('d:\附件4\000.bmp'));

a(2,:,:)=dither(imread('d:\附件4\001.bmp'));

a(3,:,:)=dither(imread('d:\附件4\002.bmp'));

a(4,:,:)=dither(imread('d:\附件4\003.bmp'));

a(5,:,:)=dither(imread('d:\附件4\004.bmp'));

a(6,:,:)=dither(imread('d:\附件4\005.bmp'));

a(7,:,:)=dither(imread('d:\附件4\006.bmp'));

a(8,:,:)=dither(imread('d:\附件4\007.bmp'));

a(9,:,:)=dither(imread('d:\附件4\008.bmp'));

a(10,:,:)=dither(imread('d:\附件4\009.bmp'));

a(11,:,:)=dither(imread('d:\附件4\010.bmp'));

a(12,:,:)=dither(imread('d:\附件4\011.bmp'));

a(13,:,:)=dither(imread('d:\附件4\012.bmp'));

a(14,:,:)=dither(imread('d:\附件4\013.bmp'));

a(15,:,:)=dither(imread('d:\附件4\014.bmp'));

a(16,:,:)=dither(imread('d:\附件4\015.bmp'));

a(17,:,:)=dither(imread('d:\附件4\016.bmp'));

a(18,:,:)=dither(imread('d:\附件4\017.bmp'));

a(19,:,:)=dither(imread('d:\附件4\018.bmp'));

a(20,:,:)=dither(imread('d:\附件4\019.bmp'));

a(21,:,:)=dither(imread('d:\附件4\020.bmp'));

a(22,:,:)=dither(imread('d:\附件4\021.bmp'));

a(23,:,:)=dither(imread('d:\附件4\022.bmp'));

a(24,:,:)=dither(imread('d:\附件4\023.bmp'));

a(25,:,:)=dither(imread('d:\附件4\024.bmp'));

a(26,:,:)=dither(imread('d:\附件4\025.bmp'));

a(27,:,:)=dither(imread('d:\附件4\026.bmp'));

a(28,:,:)=dither(imread('d:\附件4\027.bmp'));

a(29,:,:)=dither(imread('d:\附件4\028.bmp'));

a(30,:,:)=dither(imread('d:\附件4\029.bmp'));

a(31,:,:)=dither(imread('d:\附件4\030.bmp'));

a(32,:,:)=dither(imread('d:\附件4\031.bmp'));

a(33,:,:)=dither(imread('d:\附件4\032.bmp'));

a(34,:,:)=dither(imread('d:\附件4\033.bmp'));

a(35,:,:)=dither(imread('d:\附件4\034.bmp'));

a(36,:,:)=dither(imread('d:\附件4\035.bmp'));

a(37,:,:)=dither(imread('d:\附件4\036.bmp'));

a(38,:,:)=dither(imread('d:\附件4\037.bmp'));

a(39,:,:)=dither(imread('d:\附件4\038.bmp'));

a(40,:,:)=dither(imread('d:\附件4\039.bmp'));

a(41,:,:)=dither(imread('d:\附件4\040.bmp'));

a(42,:,:)=dither(imread('d:\附件4\041.bmp'));

a(43,:,:)=dither(imread('d:\附件4\042.bmp'));

a(44,:,:)=dither(imread('d:\附件4\043.bmp'));

a(45,:,:)=dither(imread('d:\附件4\044.bmp'));

a(46,:,:)=dither(imread('d:\附件4\045.bmp'));

a(47,:,:)=dither(imread('d:\附件4\046.bmp'));

a(48,:,:)=dither(imread('d:\附件4\047.bmp'));

a(49,:,:)=dither(imread('d:\附件4\048.bmp'));

a(50,:,:)=dither(imread('d:\附件4\049.bmp'));

a(51,:,:)=dither(imread('d:\附件4\050.bmp'));

a(52,:,:)=dither(imread('d:\附件4\051.bmp'));

a(53,:,:)=dither(imread('d:\附件4\052.bmp'));

a(54,:,:)=dither(imread('d:\附件4\053.bmp'));

a(55,:,:)=dither(imread('d:\附件4\054.bmp'));

a(56,:,:)=dither(imread('d:\附件4\055.bmp'));

a(57,:,:)=dither(imread('d:\附件4\056.bmp'));

a(58,:,:)=dither(imread('d:\附件4\057.bmp'));

a(59,:,:)=dither(imread('d:\附件4\058.bmp'));

a(60,:,:)=dither(imread('d:\附件4\059.bmp'));

a(61,:,:)=dither(imread('d:\附件4\060.bmp'));

a(62,:,:)=dither(imread('d:\附件4\061.bmp'));

a(63,:,:)=dither(imread('d:\附件4\062.bmp'));

a(64,:,:)=dither(imread('d:\附件4\063.bmp'));

a(65,:,:)=dither(imread('d:\附件4\064.bmp'));

a(66,:,:)=dither(imread('d:\附件4\065.bmp'));

a(67,:,:)=dither(imread('d:\附件4\066.bmp'));

a(68,:,:)=dither(imread('d:\附件4\067.bmp'));

a(69,:,:)=dither(imread('d:\附件4\068.bmp'));

a(70,:,:)=dither(imread('d:\附件4\069.bmp'));

a(71,:,:)=dither(imread('d:\附件4\070.bmp'));

a(72,:,:)=dither(imread('d:\附件4\071.bmp'));

a(73,:,:)=dither(imread('d:\附件4\072.bmp'));

a(74,:,:)=dither(imread('d:\附件4\073.bmp'));

a(75,:,:)=dither(imread('d:\附件4\074.bmp'));

a(76,:,:)=dither(imread('d:\附件4\075.bmp'));

a(77,:,:)=dither(imread('d:\附件4\076.bmp'));

a(78,:,:)=dither(imread('d:\附件4\077.bmp'));

a(79,:,:)=dither(imread('d:\附件4\078.bmp'));

a(80,:,:)=dither(imread('d:\附件4\079.bmp'));

a(81,:,:)=dither(imread('d:\附件4\080.bmp'));

a(82,:,:)=dither(imread('d:\附件4\081.bmp'));

a(83,:,:)=dither(imread('d:\附件4\082.bmp'));

a(84,:,:)=dither(imread('d:\附件4\083.bmp'));

a(85,:,:)=dither(imread('d:\附件4\084.bmp'));

a(86,:,:)=dither(imread('d:\附件4\085.bmp'));

a(87,:,:)=dither(imread('d:\附件4\086.bmp'));

a(88,:,:)=dither(imread('d:\附件4\087.bmp'));

a(89,:,:)=dither(imread('d:\附件4\088.bmp'));

a(90,:,:)=dither(imread('d:\附件4\089.bmp'));

a(91,:,:)=dither(imread('d:\附件4\090.bmp'));

a(92,:,:)=dither(imread('d:\附件4\091.bmp'));

a(93,:,:)=dither(imread('d:\附件4\092.bmp'));

a(94,:,:)=dither(imread('d:\附件4\093.bmp'));

a(95,:,:)=dither(imread('d:\附件4\094.bmp'));

a(96,:,:)=dither(imread('d:\附件4\095.bmp'));

a(97,:,:)=dither(imread('d:\附件4\096.bmp'));

a(98,:,:)=dither(imread('d:\附件4\097.bmp'));

a(99,:,:)=dither(imread('d:\附件4\098.bmp'));

a(100,:,:)=dither(imread('d:\附件4\099.bmp'));

a(101,:,:)=dither(imread('d:\附件4\100.bmp'));

a(102,:,:)=dither(imread('d:\附件4\101.bmp'));

a(103,:,:)=dither(imread('d:\附件4\102.bmp'));

a(104,:,:)=dither(imread('d:\附件4\103.bmp'));

a(105,:,:)=dither(imread('d:\附件4\104.bmp'));

a(106,:,:)=dither(imread('d:\附件4\105.bmp'));

a(107,:,:)=dither(imread('d:\附件4\106.bmp'));

a(108,:,:)=dither(imread('d:\附件4\107.bmp'));

a(109,:,:)=dither(imread('d:\附件4\108.bmp'));

a(110,:,:)=dither(imread('d:\附件4\109.bmp'));

a(111,:,:)=dither(imread('d:\附件4\110.bmp'));

a(112,:,:)=dither(imread('d:\附件4\111.bmp'));

a(113,:,:)=dither(imread('d:\附件4\112.bmp'));

a(114,:,:)=dither(imread('d:\附件4\113.bmp'));

a(115,:,:)=dither(imread('d:\附件4\114.bmp'));

a(116,:,:)=dither(imread('d:\附件4\115.bmp'));

a(117,:,:)=dither(imread('d:\附件4\116.bmp'));

a(118,:,:)=dither(imread('d:\附件4\117.bmp'));

a(119,:,:)=dither(imread('d:\附件4\118.bmp'));

a(120,:,:)=dither(imread('d:\附件4\119.bmp'));

a(121,:,:)=dither(imread('d:\附件4\120.bmp'));

a(122,:,:)=dither(imread('d:\附件4\121.bmp'));

a(123,:,:)=dither(imread('d:\附件4\122.bmp'));

a(124,:,:)=dither(imread('d:\附件4\123.bmp'));

a(125,:,:)=dither(imread('d:\附件4\124.bmp'));

a(126,:,:)=dither(imread('d:\附件4\125.bmp'));

a(127,:,:)=dither(imread('d:\附件4\126.bmp'));

a(128,:,:)=dither(imread('d:\附件4\127.bmp'));

a(129,:,:)=dither(imread('d:\附件4\128.bmp'));

a(130,:,:)=dither(imread('d:\附件4\129.bmp'));

a(131,:,:)=dither(imread('d:\附件4\130.bmp'));

a(132,:,:)=dither(imread('d:\附件4\131.bmp'));

a(133,:,:)=dither(imread('d:\附件4\132.bmp'));

a(134,:,:)=dither(imread('d:\附件4\133.bmp'));

a(135,:,:)=dither(imread('d:\附件4\134.bmp'));

a(136,:,:)=dither(imread('d:\附件4\135.bmp'));

a(137,:,:)=dither(imread('d:\附件4\136.bmp'));

a(138,:,:)=dither(imread('d:\附件4\137.bmp'));

a(139,:,:)=dither(imread('d:\附件4\138.bmp'));

a(140,:,:)=dither(imread('d:\附件4\139.bmp'));

a(141,:,:)=dither(imread('d:\附件4\140.bmp'));

a(142,:,:)=dither(imread('d:\附件4\141.bmp'));

a(143,:,:)=dither(imread('d:\附件4\142.bmp'));

a(144,:,:)=dither(imread('d:\附件4\143.bmp'));

a(145,:,:)=dither(imread('d:\附件4\144.bmp'));

a(146,:,:)=dither(imread('d:\附件4\145.bmp'));

a(147,:,:)=dither(imread('d:\附件4\146.bmp'));

a(148,:,:)=dither(imread('d:\附件4\147.bmp'));

a(149,:,:)=dither(imread('d:\附件4\148.bmp'));

a(150,:,:)=dither(imread('d:\附件4\149.bmp'));

a(151,:,:)=dither(imread('d:\附件4\150.bmp'));

a(152,:,:)=dither(imread('d:\附件4\151.bmp'));

a(153,:,:)=dither(imread('d:\附件4\152.bmp'));

a(154,:,:)=dither(imread('d:\附件4\153.bmp'));

a(155,:,:)=dither(imread('d:\附件4\154.bmp'));

a(156,:,:)=dither(imread('d:\附件4\155.bmp'));

a(157,:,:)=dither(imread('d:\附件4\156.bmp'));

a(158,:,:)=dither(imread('d:\附件4\157.bmp'));

a(159,:,:)=dither(imread('d:\附件4\158.bmp'));

a(160,:,:)=dither(imread('d:\附件4\159.bmp'));

a(161,:,:)=dither(imread('d:\附件4\160.bmp'));

a(162,:,:)=dither(imread('d:\附件4\161.bmp'));

a(163,:,:)=dither(imread('d:\附件4\162.bmp'));

a(164,:,:)=dither(imread('d:\附件4\163.bmp'));

a(165,:,:)=dither(imread('d:\附件4\164.bmp'));

a(166,:,:)=dither(imread('d:\附件4\165.bmp'));

a(167,:,:)=dither(imread('d:\附件4\166.bmp'));

a(168,:,:)=dither(imread('d:\附件4\167.bmp'));

a(169,:,:)=dither(imread('d:\附件4\168.bmp'));

a(170,:,:)=dither(imread('d:\附件4\169.bmp'));

a(171,:,:)=dither(imread('d:\附件4\170.bmp'));

a(172,:,:)=dither(imread('d:\附件4\171.bmp'));

a(173,:,:)=dither(imread('d:\附件4\172.bmp'));

a(174,:,:)=dither(imread('d:\附件4\173.bmp'));

a(175,:,:)=dither(imread('d:\附件4\174.bmp'));

a(176,:,:)=dither(imread('d:\附件4\175.bmp'));

a(177,:,:)=dither(imread('d:\附件4\176.bmp'));

a(178,:,:)=dither(imread('d:\附件4\177.bmp'));

a(179,:,:)=dither(imread('d:\附件4\178.bmp'));

a(180,:,:)=dither(imread('d:\附件4\179.bmp'));

a(181,:,:)=dither(imread('d:\附件4\180.bmp'));

a(182,:,:)=dither(imread('d:\附件4\181.bmp'));

a(183,:,:)=dither(imread('d:\附件4\182.bmp'));

a(184,:,:)=dither(imread('d:\附件4\183.bmp'));

a(185,:,:)=dither(imread('d:\附件4\184.bmp'));

a(186,:,:)=dither(imread('d:\附件4\185.bmp'));

a(187,:,:)=dither(imread('d:\附件4\186.bmp'));

a(188,:,:)=dither(imread('d:\附件4\187.bmp'));

a(189,:,:)=dither(imread('d:\附件4\188.bmp'));

a(190,:,:)=dither(imread('d:\附件4\189.bmp'));

a(191,:,:)=dither(imread('d:\附件4\190.bmp'));

a(192,:,:)=dither(imread('d:\附件4\191.bmp'));

a(193,:,:)=dither(imread('d:\附件4\192.bmp'));

a(194,:,:)=dither(imread('d:\附件4\193.bmp'));

a(195,:,:)=dither(imread('d:\附件4\194.bmp'));

a(196,:,:)=dither(imread('d:\附件4\195.bmp'));

a(197,:,:)=dither(imread('d:\附件4\196.bmp'));

a(198,:,:)=dither(imread('d:\附件4\197.bmp'));

a(199,:,:)=dither(imread('d:\附件4\198.bmp'));

a(200,:,:)=dither(imread('d:\附件4\199.bmp'));

a(201,:,:)=dither(imread('d:\附件4\200.bmp'));

a(202,:,:)=dither(imread('d:\附件4\201.bmp'));

a(203,:,:)=dither(imread('d:\附件4\202.bmp'));

a(204,:,:)=dither(imread('d:\附件4\203.bmp'));

a(205,:,:)=dither(imread('d:\附件4\204.bmp'));

a(206,:,:)=dither(imread('d:\附件4\205.bmp'));

a(207,:,:)=dither(imread('d:\附件4\206.bmp'));

a(208,:,:)=dither(imread('d:\附件4\207.bmp'));

a(209,:,:)=dither(imread('d:\附件4\208.bmp'));

5f2()函数代码

function [y,m,flag]=f2(a,Y,n)

i=length(n);

[p,q]=size(Y);

if sum(Y(:,q))>p-2

flag=0;

y=Y;

m=n;

return;

end

[x1,x2,x3]=size(a);

M=zeros(x1-i);

l=1;

for k=1:x1

flag=0;

for j=1:i

if k==n(j)

flag=1;

break;

end

end

if flag==0

M(l)=k;

l=l+1;

end

end

E=zeros(x1-i);

for k=1:(x1-i)

l=M(k);

b(:,:)=a(l,:,:);

Y1=Y(:,q);

b1=b(:,1);

E(k)=psnr(Y1,b1);

end

[E1,M1]=paixu2(E,M);

for z=x1-i:-1:1

P=M1(z);

yy(:,:)=a(P,:,:);

y=cat(2,Y,yy);

m=[n,P];

imwrite(y,'d:\p.bmp','bmp');

char=input('有意义否N\Y','s');

if char=='Y'

flag=1;

break;

end

if char=='N'|char~='Y'

continue;

end

end

if char=='N'

y=Y;

m=n;

flag=0;

end

6f3()函数代码

function [y,m,flag1]=f3(a,Y,n)

i=length(n);

[p,q]=size(Y);

[x1,x2,x3]=size(a);

M=zeros(x1-i);

l=1;

for k=1:x1

flag=0;

for j=1:i

if k==n(j)

flag=1;

break;

end

end

if flag==0

M(l)=k;

l=l+1;

end

end

E=zeros(x1-i);

for k=1:(x1-i)

l=M(k);

b(:,:)=a(l,:,:);

Y1=Y(:,1);

b1=b(:,x3);

E(k)=psnr(Y1,b1);

end

[E1,M1]=paixu2(E,M);

for z=x1-i:-1:1

P=M1(z);

yy(:,:)=a(P,:,:);

y=cat(2,yy,Y);

m=[n,P];

imwrite(y,'d:\p.bmp','bmp');

char=input('有意义否N\Y','s');

if char=='Y'

break;

end

if char=='N'| char~='Y'

continue;

end

end

flag1=1;

if char=='N'

y=Y;

m=n;

flag1=0;

end

(7) paixu2()函数代码

function [y,z]=paixu2(x,n)% 从小到大排序

m=size(x);

for j=1:m

for i=1:m-j

if (x(i)>x(i+1))

t=x(i);x(i)=x(i+1);x(i+1)=t;

t=n(i);n(i)=n(i+1);n(i+1)=t;

end

end

end

y=x;

z=n;

(8) psnr()函数代码

function s=psnr(a,b)

if size(a)~=size(b)

error('错误两幅图像大小不一致');

end

[m,n]=size(a);

a1=double(a);

b1=double(b);

sumdif=0;

max1=m*n*max(max(a1.^2));

for i=1:m

for j=1:n

sumdif=sumdif+(a1(i,j)-b1(i,j))^2;

end

end

if sumdif==0

sumdif=1;

end

s=max1/sumdif;

s=10*log10(s);

(9) ff()函数代码

function [c,C]=ff(a,m,n)

x1=length(m);

x2=length(n);

[a1,a2,a3]=size(a);

l=1;

x11=x1-x2;

if x11==0

c=ones(x11);

C=ones(x11,a2,a3);

return;

end

c=ones(x11);

C=ones(x11,a2,a3);

for k=1:x1

flag=0;

for i=1:x2

if m(k)==n(i)

flag=1;

break;

end

end

if(flag==0)

c(l)=m(k);

mm=m(k);

C(l,:,:)=a(mm,:,:);

l=l+1;

end

end

(10) pinjie1()函数代码

function pinjie1()

a=read1();

[x,x1,x2]=size(a);

p(:,:)=a(1,:,:);

n=[1];

[y,n,flag]=f2(a,p,n);

flag1=1;

if flag==0

[y,n,flag1]=f3(a,p,n);

end

while (flag1~=0|flag~=0)&length(y(1,:))

if flag==1

[y,n,flag]=f2(a,y,n);

% fwrite(f1,y,n,'int');

else

[y,n,flag1]=f3(a,y,n);

% fwrite(f1,y,n,'int');

end

end

(11) pinjie2()函数代码

function pinjie2()

a=read2();

[x,x1,x2]=size(a);

p(:,:)=a(1,:,:);

n=[1];

[y,n,flag]=f2(a,p,n);

flag1=1;

if flag==0

[y,n,flag1]=f3(a,p,n);

end

while (flag1~=0|flag~=0)&length(y(1,:))

if flag==1

[y,n,flag]=f2(a,y,n);

% fwrite(f1,y,n,'int');

else

[y,n,flag1]=f3(a,y,n);

% fwrite(f1,y,n,'int');

end

end

(12) pinjie3()函数代码

function pinjie3()

a=read3();

[x,x1,x2]=size(a);

p(:,:)=a(1,:,:);

n=[1];

[y,n,flag]=f2(a,p,n);

flag1=1;

if flag==0

[y,n,flag1]=f3(a,p,n);

end

while (flag1~=0|flag~=0)&length(y(1,:))

if flag==1

[y,n,flag]=f2(a,y,n);

% fwrite(f1,y,n,'int');

else

[y,n,flag1]=f3(a,y,n);

% fwrite(f1,y,n,'int');

end

end

y1=y';

q=length(n);

q1=int16(x/q);

t=ones(q1,q*x2,x1);

t(1,:,:)=y1;

C=a;

[x,x1,x2]=size(a);

c=1:1:x;

for k=2:q1

[c,C]=ff(C,c,n);

[x,x1,x2]=size(C);

p(:,:)=C(1,:,:);

n=[1];

[y,n,flag]=f2(C,p,n);

flag1=1;

if flag==0

[y,n,flag1]=f3(C,p,n);

end

while (flag1~=0|flag~=0)&length(y(1,:))

if flag==1

[y,n,flag]=f2(C,y,n);

% fwrite(f1,y,n,'int');

else

[y,n,flag1]=f3(C,y,n);

% fwrite(f1,y,n,'int');

end

end

y1=y';

t(k,:,:)=y1;

end

pin=pinjie3(t);

pin_=pin';

imwrite(pin_,'d:\pp.bmp');

a=t;

[x,x1,x2]=size(a);

p(:,:)=a(1,:,:);

n=[1];

[y,n,flag]=f2(a,p,n);

flag1=1;

if flag==0

[y,n,flag1]=f3(a,p,n);

end

while (flag1~=0|flag~=0)&length(y(1,:))

if flag==1

[y,n,flag]=f2(a,y,n);

% fwrite(f1,y,n,'int');

else

[y,n,flag1]=f3(a,y,n);

% fwrite(f1,y,n,'int');

end

end

(13) pinjie4()函数代码

function pinjie4()

a=read4();

[x,x1,x2]=size(a);

p(:,:)=a(1,:,:);

n=[1];

[y,n,flag]=f2(a,p,n);

flag1=1;

if flag==0

[y,n,flag1]=f3(a,p,n);

end

while (flag1~=0|flag~=0)&length(y(1,:))

if flag==1

[y,n,flag]=f2(a,y,n);

% fwrite(f1,y,n,'int');

else

[y,n,flag1]=f3(a,y,n);

% fwrite(f1,y,n,'int');

end

end

y1=y';

q=length(n);

q1=int16(x/q);

t=ones(q1,q*x2,x1);

t(1,:,:)=y1;

C=a;

[x,x1,x2]=size(a);

c=1:1:x;

for k=2:q1

[c,C]=ff(C,c,n);

[x,x1,x2]=size(C);

p(:,:)=C(1,:,:);

n=[1];

[y,n,flag]=f2(C,p,n);

flag1=1;

if flag==0

[y,n,flag1]=f3(C,p,n);

end

while (flag1~=0|flag~=0)&length(y(1,:))

if flag==1

[y,n,flag]=f2(C,y,n);

% fwrite(f1,y,n,'int');

else

[y,n,flag1]=f3(C,y,n);

% fwrite(f1,y,n,'int');

end

end

y1=y';

t(k,:,:)=y1;

end

pin=pinjie3(t);

pin_=pin';

imwrite(pin_,'d:\pp.bmp');

a=t;

[x,x1,x2]=size(a);

p(:,:)=a(1,:,:);

n=[1];

[y,n,flag]=f2(a,p,n);

flag1=1;

if flag==0

[y,n,flag1]=f3(a,p,n);

end

while (flag1~=0|flag~=0)&length(y(1,:))

if flag==1

[y,n,flag]=f2(a,y,n);

% fwrite(f1,y,n,'int');

else

[y,n,flag1]=f3(a,y,n);

% fwrite(f1,y,n,'int');

end

end

附录2:实验结果

(1)附件1的复原图片

图1 附件1的复原图片

(2)附件2的复原图像

图2 附件2的复原图片

(3) 附件3的复原图像出来的横条图片

图3 附件3图片拼接时生成的横条图片一

图4 附件3图片拼接时生成的横条图片二

图5 附件3图片拼接时生成的横条图片三

图6 附件3图片拼接时生成的横条图片四

图7 附件3图片拼接时生成的横条图片五

图8 附件3图片拼接时生成的横条图片六

图9 附件3图片拼接时生成的横条图片七

图10 附件3图片拼接时生成的横条图片八

图11 附件3图片拼接时生成的横条图片九

图12 附件3图片拼接时生成的横条图片十

14 附件3图片拼接时生成的横条图片十一

附录3:相关表格

表一 附件1碎片复原前后的顺序

序号

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

拼接号

008

014

012

015

003

010

002

016

001

004

005

009

013

018

011

007

017

000

006

表二 附件2碎片复原前后的顺序

序号

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

拼接号

003

006

002

007

015

018

011

000

005

001

009

013

010

008

012

014

017

016

004

表三 附件1在程序运行中人工干预YES和NO出现的次数统计表

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

Yes的次数

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

No的次数

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

表四 附件2在程序运行中人工干预YES和NO的出现的次数统计表

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

Yes的次数

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

No的次数

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

表5 附件1碎片复原前后的顺序

序号

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

拼接号

159

139

001

129

063

138

153

053

038

123

120

175

085

050

160

187

097

203

031

序号

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

拼接号

020

041

108

116

136

073

036

207

135

015

076

043

199

045

173

079

161

179

143

序号

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

拼接号

208

021

007

049

061

119

033

142

168

062

169

054

192

133

118

189

162

197

112

序号

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

拼接号

070

084

060

014

068

174

137

195

008

047

172

156

096

023

099

122

090

185

109

序号

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

拼接号

132

181

095

069

167

163

166

188

111

144

206

003

130

034

013

110

025

027

178

序号

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

拼接号

171

042

066

205

010

157

074

145

083

134

055

018

056

035

016

009

183

152

044

序号

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

拼接号

081

077

128

200

131

052

125

140

193

087

089

048

072

012

177

124

000

102

115

序号

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

拼接号

191

075

011

154

190

184

002

104

180

064

106

004

149

032

204

065

039

067

149

序号

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

拼接号

201

148

107

196

198

094

113

164

078

103

091

080

101

026

100

006

017

028

146

序号

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

拼接号

086

051

107

029

040

158

186

098

024

117

150

005

059

058

092

030

037

046

127

序号

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

拼接号

019

194

093

141

088

121

126

105

155

114

176

182

151

022

057

202

071

165

082

  • 29.8

    ¥45 每天只需1.0元
    1个月 推荐
  • 9.9

    ¥15
    1天
  • 59.8

    ¥90
    3个月

选择支付方式

  • 微信付款
郑重提醒:支付后,系统自动为您完成注册

请使用微信扫码支付(元)

订单号:
支付后,系统自动为您完成注册
遇到问题请联系 在线客服

常用手机号:
用于找回密码
图片验证码:
看不清?点击更换
短信验证码:
新密码:
 
绑定后可用手机号登录
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系 在线客服