碎纸片的拼接复原
碎纸片的拼接复原
摘要
本文利用MATLAB软件将附件图像数字化,把图像转化为灰度矩阵进行处理。
问题一,本文利用边缘匹配模型和灰度匹配模型对碎纸片的边缘作分析。基于,边缘部分的黑白分布越相近,两者相连的可能性越高的原理,得到附件1的排序是008,014,012,015,013,010,002,016,001,004,005,009,013,018,011,007,017,000,006 。附件2的排序是003,006,002,007,015,018,011,000,005,001,009,013,010,008,012,014,017,016,004。
问题二,本文首先按行将小块进行分类,以简化模型。在附件3中,将碎纸片分组,对分完组后的碎纸片采用字体矩形模型,实现同行间排序,将得到的行再通过匹配模型,从而拼出原文。而对于附件4,本文建立四线格位置模型,将碎纸片进行分组。计算过程中发现部分标号基线相同,但却与不同的行对应匹配,此时进行人工干涉。然后运用行内匹配模型,对同行间的碎纸片排序。附件3、附件4的排序结果见附录一。
关键词:灰度矩阵,匹配模型,相关性分析,三线格基线,人工干涉,最优化
一.问题重述
破碎文件的拼接一直以来都以人工为主,其准确度较高,但效率较为低下,不能承担短时间内完成巨大数量的碎片拼接任务,遏制了在司法物证复原、历史文献修复以及军事情报获取等领域的进一步发展。随着计算机技术的发展,我们尝试运用计算机软件来实现对破碎文件的迅速拼接。现问题如下:
(1)、对于给定的来自同一页印刷文字文件的碎纸机破碎纸片(仅纵切),建立碎纸片拼接复原模型和算法,并针对附件1、附件2给出的中、英文各一页文件的碎片数据进行拼接复原。如果复原过程需要人工干预,请写出干预方式及干预的时间节点。复原结果以图片形式及表格形式表达。
(2)、对于碎纸机既纵切又横切的情形,请设计碎纸片拼接复原模型和算法,并针对附件3、附件4给出的中、英文各一页文件的碎片数据进行拼接复原。如果复原过程需要人工干预,请写出干预方式及干预的时间节点。复原结果表达要求同上。
说明:附件1、附件2为纵切碎片数据,每页纸被切为19条碎片。附件3、附件4为纵横切碎片数据,每页纸被切为11×19个碎片。其中每一附件为同一页纸的碎片数据。
二.模型假设
1.附件中所给的拼接碎纸片毫无缺失。
2.附件中的英文严格按照四线格方式打印。
3.机器印刷时的字间距和行间距大致相同。
4.碎纸机切割图片是垂直的。
5.碎纸机切割的碎纸片大小相同、质地均匀。
6.所有的碎纸片由同一碎纸机切割。
7.每个附件中所有的碎纸片来自于同一页文字文件。
三.符号说明
符号
R,r 符号说明 相关系数
灰度矩阵
碎纸片左边缘矩阵
碎纸片右边缘矩阵
编号为i的碎纸片,第j行k列的灰度值
相关系数 M Y1 Y2 aij,k Ru,v
四.问题分析
碎纸片拼接技术是模式识别领域中一个较为新颖但很典型的应用。他涉及到数字图
像处理,机器学习等多个学科,充分体现了当下多学科思想交融的学科特点。一般情况下,在碎纸片拼接过程中涉及数字图像处理技术,如图像分割,边缘提取等知识。解决此类问题有两种手段,一种是根据非规则的碎纸片平面来建立模型,实现碎纸片复原;另一种是根据碎纸片的内容来进行碎纸片拼接,或者综合以上两种方法。
本题比较特殊,第一问只考虑纵切单面碎纸片,第二问考虑横纵向切单面碎纸片。与此同时,解决问题的方法也带来了局限性,也就是机器拼接复原碎纸片所能利用的信息仅局限于规则碎纸片的边缘内容的连续性。
本文正是基于上述的考虑,我们将纸张的边缘部转化成为一连串由0与255相间的一个矩阵,由于文字的笔画是连续的,则两张纸片对应的边缘部分,其黑白点的分布应当具有一定的规律性,所以我们可根据纸片边缘文字被切割部分来判断纸片是否连续。
五.模型建立与求解
5.1 模型预处理
由于纸片本身是图像,计算机无法直接对图片进行识别和处理,我们要将其转换成电脑可以处理的数据来进行操作。本文使用matlab软件中的imread函数,来实现将附件中的图片转化成灰度矩阵
a12an
a22a2n Mm*nam2amn
白色即255,黑色为0,中间数值即为不同深度的灰色。处理之后,可将所有图片信息转化成矩阵里面的元素。
5.2 问题一的求解
考虑到纸片被规则纵向切开后,在切开的相邻纸片边缘部分的内容应当是具有一定规律的,即所代表的灰度矩阵在横向上应当具有一定的数值连续性,也就是被切开部分的边缘,相连纸片间灰度矩阵的变化是稳定的。
5.2.1 基于边缘匹配模型求解
附件一中所显示的纸片一共28行,第i块单元纸片的灰度矩阵设为
ai1,2ai1,72ai1,1aiaiai2,12,22,72 M1980*72(i)aiaiai1980,21980,721980,1
即每个纵向分布了1980个点,28/1980=0.0141,也就是每个点包含0.014个字(含行间距),说明这个灰度矩阵的精度还是很高的。
取每个单位碎纸片灰度矩阵的最左边的一列,即左边缘,组成一个新的矩阵
a21,1a181,1a11,1a1a2a181,21,21,2 Y1=a1a2a181,19801,19801,1980
取每个单位碎纸片灰度矩阵的最右边的一列,即右边缘,组成一个新的矩阵 a11a21am1
a172,1a172,2Y2=a172,1980a272,1a272,2a272,1980a1872,1a1872,2 a1872,1980
Y1第一列为单元碎纸片000的左边缘,则找出与纸片000相连纸片的问题,即可转
换成为在Y2矩阵里寻找一列,与Y1第一列相似度最高的问题。
ai1,1a172,1aia11,272,2(i)ai1,1980a172,1980ai1,1a272,1ai1,2a272,2ai1,1980a272,1980ai1,2a1872,2 ai1,1980a1872,1980ai1,1a1872,1
其中i为第i张碎纸片的左列编号。(i)的某一列元素绝对值越小,则说明第i张碎纸片左边缘与第k张碎纸片右边缘相似度越高。问题转化为寻找(i)的某一列,使得这一列上元素的绝对值最小,不妨设为k,则碎纸片i的左边与碎纸片k的右边是相邻的。考虑到灰度矩阵划分的比较精确,只有比划“一”横向上是连续的,即不能单纯的只横向相邻作差,如比划“丿”,必须考虑笔画占对顶的两个灰度个点的情况。
而纸片的上下边都是空白的,所以我们将矩阵Y缩小为1978*18的矩阵,即
ai1,2ai1,18ai1,1aiaiai,2,12,22,18, (i)=aiaiai1978,11978,21978,18
此处aij,kMIN(ai72,jai1,j1,ai72,jai1,j,ai72,jai1,j1) 。同样,将问题转化为寻找寻找(i)的某一列,使得这一列上元素的绝对值最小,不妨设为k,则碎纸片i的左边缘与碎纸片k的右边缘是相邻的。由于纸张的最左边和最右边灰度矩阵完全是255(白),故若aij,k0,则说明第j张碎纸片为这一行的第一列,第k张碎纸片为这一行的最后一个列。通过Matlab编程求解可得,附件一相邻度最高的两个编号的碎纸片为(00,06)(01,04)(02,16)(03,10)(04,05)(05,09)(06,无)(07,17)(08,14)(09,13)(10,02)(11,07)(12,15)(13,18)(14,12)(15,03)(16,01)(17,07)(18,11),从而我们得到最终的排序为:
附件二为(00,05)(07,09)(02,07)(03,06),(04,无)(05,01)(06,02)(07,15)(08,12)(09,13)(10,08)(11,00)(12,14)(13,10)(14,17)(15,18)(16,04)(17,16),最终排序为:
利用Matlab里面的拼接法进行检验,将灰度矩阵合并成一个矩阵,再用imshow函数,将合并后的灰度矩阵作图,结果见附录一结果
5.2.2 基于灰度相关匹配算法
在实际目标跟踪系统中,相关系数法是一种常用的相关匹配算法。相关系数法的思想是,将实时图g在基准图f上滑动,计算每一位置上的相关系数R(u,v):
(f
R(
u,v)MNju,kv
f)(gj,kg)
其中,f1MN1MN
gj,k。 =fj,k,g=MNj1k1MNj1k1
其中相关系数满足|R(u,v)|≤1,在[-1,1]绝对尺度范围之间衡量二者的相似性。通过比较参考图像和输入图像在各个位置的相关系数,得到相关值最大的点,即最佳匹配位置。[1]
该方法的精确度很高,具有较强的局部抗干扰能力,并且当相对的旋转和畸变差异不大时,也能够得到满意的匹配。缺点在于计算量很大,匹配速度较慢。
本题中依照以上相关系数法的思想直接采用spss软件计算Pearson相关系数:
r(xx)(yy)ii
n
nxiyixi.yinnn来计算附件1中各碎片前后边缘与其它碎片前后边缘的相关系数,整理后结果见附录二中表5-3(表中前表示前边缘,后表示后边缘,a表示边缘灰度值恒定为常值)
由表中8前边缘行和6后边缘后列均为常值255,可知008在最后面,006
在最前面,因此,从8后列开始筛选,相关性系数最大的对应为14前行,再从14后列筛选得相关系数最大对应12前行,依此方法依次向后可得出碎片顺序如下:
同上方法可得碎片顺序如下表:
5.3 问题二中附件3的求解
在问题二中,纸片被分的更加零散,不仅纵切,还进行横切,将一张纸切成11*19
利用Matlab里面的拼接法进行检验,将灰度矩阵合并成一个矩阵,再用imshow函数,将合并后的灰度矩阵作图,结果见附录一结果 5.2.2 基于灰度相关匹配算法
在实际目标跟踪系统中,相关系数法是一种常用的相关匹配算法。相关系数法的思想是,将实时图g在基准图f上滑动,计算每一位置上的相关系数R(u,v):
(f
R(
u,v)
MN
ju,kv
f)(g
j,kg)
其中,
f
1MN1MN
gj,k。 =fj,k,g=MNj1k1MNj1k1
其中相关系数满足|R(u,v)|≤1,在[-1,1]绝对尺度范围之间衡量二者的相似性。
通过比较参考图像和输入图像在各个位置的相关系数,得到相关值最大的点,即最佳匹配位置。[1]
该方法的精确度很高,具有较强的局部抗干扰能力,并且当相对的旋转和畸变差异不大时,也能够得到满意的匹配。缺点在于计算量很大,匹配速度较慢。
本题中依照以上相关系数法的思想直接采用spss软件计算Pearson相关系数:
r
(xx)(yy)
i
i
n
nxiyixi.yi
nnn
来计算附件1中各碎片前后边缘与其它碎片前后边缘的相关系数,整理后结果见附录二中表5-3(表中前表示前边缘,后表示后边缘,a表示边缘灰度值恒定为常值)
由表中8前边缘行和6后边缘后列均为常值255,可知008在最后面,006
在最前面,因此,从8后列开始筛选,相关性系数最大的对应为14前行,再从14后列筛选得相关系数最大对应12前行,依此方法依次向后可得出碎片顺序如下:
同上方法可得碎片顺序如下表:
5.3 问题二中附件3的求解
在问题二中,纸片被分的更加零散,不仅纵切,还进行横切,将一张纸切成11*19
共209块碎片。经过观察,我们发现碎纸片的横向方向上,由于同一行的文字高度相同,行间距也相同,因此在纸片的横向方向上,每一行文字在纸片上的垂直位置是确定的,即相同的行,其文字所在的位置应该是相同的,我们以此作为根据,首先对碎纸片进行归类。
5.3.1 碎纸片的归类
首先,我们通过matlab软件,将碎纸片的图像,转化成灰度矩阵,为了定量的描述碎纸片中,某一行文字所在的位置,我们首先要对灰度矩阵进行处理。
碎纸片的灰度矩阵
a1,1a1,2a1,72a2,1a2,2a2,72Mi
a180,1a180,2a180,72
i为碎纸片的序号,am,n为灰度。具体将碎纸片按行归类,步骤如下:
(1) 字体行分组法
我们将一行上有字体存在的行称为字体行,其他的,即字体行之间,内容均为空白的行称为间隔行。而由于间距行之间全为空白,即灰度均为255,为了区分字体行和间隔行,我们对每一行的元素进行求和,获得矩阵
72
a1,nn172
a2,nYin1 72a180,nn1
在这个新矩阵Yi中,每一个元素即为灰度矩阵Mi中的每一行的元素之和,若
a
n1
72
m,n
72*255,即等于18360,可认为这一行均为白色,即处于间隔行中,其他的
各行则认为是字体所在的行,我们称为字体行。
我们可以通过matlab程序,将第一个字体行后,与间隔行的分界线的位置记录下,作为这个纸片的行特征位置。由于在一张纸中,同一行的字体是水平对齐的,则字体行的位置是即固定的,那么碎纸片反映字体行位置的行特征位置也就是固定的,相同的行特征位置即说明了这些碎纸片原本是处于同一行的。
然而,实际得到的结果经过检验,同一组的碎纸片并不都在同一行,有一些其它行的碎纸片也被分到这一组中去。为此,我们对字体行分组法做出一定的改进。
通过观察,我们发现字体中如“员”字这种呈现上下结构的字体,其“口”部和“贝”部之间也存在空白行,在实际操作中这条空白行会被认为是间隔行,从而影响了我们对字体行和行间距的位置的判断,为了消除这种影响,我们将对matlab程序进行改进。
我们将沿垂直方向上的由上而下的第一个字体行与它下面的间隔行之间的分界线视为是这一个纸片的行特征位置,而这个位置会受到字体行内部空白行的影响。因为空
白行的高度远小于间隔行的高度,所以我们在程序中引入一个判断,即在找到行特征位置后,我们将继续运算,去找到下一个字体行与它下面的间隔行之间的分界,若两者间的距离小于n(n为判断距离,一般设为间隔行的高度),即认为已找到的行特征位置是有误的,取到的位置是字体行与其间空白行的分界位置,所以,我们取到的第二个分界才可能作为行特征位置,并进一步判断,直到取到的两个行特征位置间的距离大于n,则已取到的行特征位置才能作为正确值。
经过matlab程序(程序见附录三)运算,我们得到了每一个碎纸片的行特征位置,并将行特征位置由小到大进行排序,若两个元素之间的差小于或等于2,则可的近似认为它们是处于同一行的。由matlab程序得到的结果见表5-5:
4张碎纸片的行特征位置显示出异常,不能被分入各组中。
我们考虑到,在文章必定会有换行的情况存在,若换行的部分被切割后处于碎纸片的上部,则会使这张碎纸片的行特征位置产生影响,即我们取到的行特征位置跳过了已经换行的那一个字体行,则得到的行特征位置实际上应为碎纸片上的第二个字体行的位置,所以,这4张碎纸片的行特征值会出现异常。这种异常的产生是合理的。
综上考虑,我们将四个纸片的位置按位置放入对应的组中去(即按位置从小到大,依次排入所缺的空位中),经过matlab的imshow函数将同组纸片相连后的图像显示出来,可以看出同组碎纸片各行的位置在一条直线上,分组的结果是合理的。
(2)同行首尾位置碎纸片的确定
考虑到文章的首尾是不可能被分割的,那么一行中原处于起始位置的碎纸片的左边
缘和原处于末尾位置的碎纸片的右边缘应该均为空白,则以此为根据,我们可以通过matlab程序实现对对首尾位置碎纸片的确定。
首先由各碎纸片的灰度矩阵
a1,1a1,2a1,72a2,1a2,2a2,72Mm*n
a180,1a180,2a180,72
180
将每一列的元素进行相加,得到新矩阵Aan,1
n1
an,2
n1
180
an,72,由于灰n1
180
度矩阵中白色的值为255,则若某一列均为空白,则其值应为180*255,即45900,将满
足前面几行为空白的值与后面几行为空白的值找出,我们即得到了结果。 5.3.2 归类后的模型求解
通过对纸片的归类,我们将每一行有哪些碎纸片寻找了出来,由于每张碎纸片的边缘矩阵上仅有180个点,将两个边缘矩阵的点进行匹配分析时会有较大误差,为此,所以我们采用了字体判断模型。
(1)字体矩阵判断模型
在计算机中,相同字型和字号的汉字字体的高度与宽度是基本一致的,字体间的空隙的高度与宽度也是基本一致的。那么一个字体可被视为是一个矩形,这些字体所对应的矩形的大小是相同的,空隙也是这样。而因为纸被切割过后,其边缘的字体也被切割开,即可认为是一个矩形被切割成两个小矩形,则将不规则的字体拼接转化成了规则的图形拼接,如果两张碎纸片边缘上的字体小矩形能拼成原本的矩形,那么即可说明这两张碎纸片是相连的。
我们将运用matlab程序来进行实现。
由于已知每一行是由哪些编号的碎纸片组成,并且同一行中首尾位置的碎纸片也已经确定,我们可以大大减小我们将要比较的数量,只要实现行内各元素间能够较好拼接即可。而字体矩阵与空隙矩阵的大小可以通过未被切割的那些字体和矩阵来进行确定,并且由此确定矩阵大小的范围。因为只进行同行比较,所以,我们仅需要矩阵的宽度L字体和L空白即可。
我们得到的行特征位置即所求得的第一个字体行与间隔行的分界位置,则以碎纸片
72
a1,nn172
a2,n
i为例,从矩阵Yin1中由上而下寻找,第一个和不为18360的位置即为第一个
72a180,nn1字体行的上边界位置pi,行特征位置即为字体行的下边界位置qi,在将灰度矩阵Mm*n进行处理,将每一列由上边界位置pi加到下边界位置qi得到矩阵
qiAan,1
npi
npi
an,2
qi
将其中各项为255(piqi1)的定为-1,其余的则定an,72,
npi
qi
为1,记作A1272,则从左起1开始,直到ni(1与ni之间的数(含1,,均相等),若10,则ni为i左边缘ni)
的字体矩阵长度;同理,从右起72开始,直到mi(ni与72之间的数,含72,mi,均相等),若720,则73mi为i右边缘的字体矩阵长度。
因为下边界位置qi即行特征位置,所以我们要将行特征位置异常的碎纸片先排除,最后再单独考虑。
在比较时,若碎纸片i的左边缘为空白矩阵,则和右边缘为空白矩阵的碎纸片进行比较,若两者的长度之和等于空白矩阵的长度L空白,则可认为两者是原本相连的,其它情况同理,就能得到行方向上的碎纸片排列。
则就将其转换成为问题1中的情况,由此得到的结果如下:
5.4 问题二中附件4的求解
我们通过matlab软件,将碎纸片的图像,转化成灰度矩阵,并对灰度矩阵进行处
a1,1a1,2a1,72a2,1a2,2a2,72
理。碎纸片的灰度矩阵Mm*n,i为碎纸片的序号,am,n为灰度。
a180,1a180,2a180,72
我们将灰度矩阵进行0-1化处理,即每一行的元素若大于200,即认为是白的,将其化
为0,否则,则将其视为是黑,将其化为1,所化为矩阵m*n1,11,21,722,12,22,72,180,1180,2180,72
721,nn1722,n对每一行的元素进行求和,获得矩阵Yin1,在这个新矩阵Yi中,每一个元素即
72180,nn1
为灰度矩阵Mi中的每一行的元素之和,也即为这一行中黑点的个数。
5.4.1 碎纸片的归类
(1)四线格位置归类法
根据英文字母的书写规律,其通常用四线格来进行书写,如图5-2所示:
图5-2 英文字母的四线格表示法
在书写英文字母时,第二及第三线之间,即第二部分,是英文字母中必定包含的部分,而在第一部分和第三部分,则只有较少的英文字母会包含。因此,只要确定了一行中四线格的第二部分,即可将这一行的位置确定,所以,字母四线格中第三线的位置即可作为碎纸片的行特征位置,来将同一行的碎纸片分到同一组去。
而以图5-2为例,从上往下看,记每一行黑点个数的变化:
图5-3 黑点数目变化
由函数图可以看出,在p点和q点处,黑点数目会产生突变,结合图5-2可见,p和q点间的即为四线格的第二部分,即q点的位置即字母四线格第三线的所在位置。
721,nn1722,n通过matlab程序,我们将矩阵Yin1的元素两两相减,若其相差产生的第
72180,nn1
一个正向突变(正向突变指差值>0),即差值,为我们选取的突变阈值(实验发现选为20左右时调试的结果比较理想),则认为元素所在行的黑点数目发生了正向突变,那么这一点所在的位置就是四线格的第三线,即可作为碎纸片的行特征位置。
然而程序的运行结果所排出的处于同一组的碎纸片并不位于同一行中,所以我们对四线格位置归类法进行了改进。
(2)可自行调整误差的四线格位置归类法
在观察后我们发现,有一些字母如“e”,其全部包含在第二部分,而在自上而下的方向上,在其中间部分,其自身所在的行会产生突变,从而影响了我们对于第三线位置的判断。
我们引入行高h来对第三线位置进行进一步的限制,行高h即第一线到第四线的距离加上空白行的距离,为了得到行高的值,我们选取了附件4的058.bmp,即具备完整的一线至四线的图,我们将这幅图进行分析,来确定行高h。
图5-4 附件4的058图
利用matlab程序,得到一线与四线之间的宽度为51,而空白行的宽度约为10左右,即行高的值为61左右。
若我们将产生的第二个正向突变的位置与第一个的位置之间的差为行高的整数倍,即可认为产生的结果是合理的。
而如果产生的第二个正向突变的位置比第一个的位置与半个四线格第二部分的高度之和要多出行高的整数倍,则认为是收到字母“e”的影响,将其修正,即将第一个突变的位置加上半个四线格第二部分的高度作为第三线的位置进行比较。
用改进后的模型来对碎纸片进行分组,其结果比未优化前要好一些,我们将两个突变位置之间不满足是行高整数倍且未收到字母“e”影响的,认为是异常的,不能直接通过计算机来实现分组,需要引入人工干涉。排出的结果见附录。
5.4.2 基于优化模型的筛选拼接法
通过归类,我们将209个碎纸片排入到11组中去,则每一组有19个碎纸片,将碎
a1,1a1,2a1,72a2,1a2,2a2,72纸片所对应的灰度矩阵Mm*n进行预处理,即将灰度大于200a180,1a180,2a180,72
的,视为空白,记作255,其余视为黑点,记为0,则生成由0和255组成的矩阵
1,11,21,722,12,22,72m*n,取某一个碎纸片的左边一列,记为lefti,其与同组中所有180,1180,2180,72
可拼接的碎纸片的右边一列rightij相减,则生成的结果记为mij,将mij中的各元素相加,得到nj,若nj的解最大,则可认为两者最为匹配,即:
maxnjj
nnjmij i1s.t.1leftirightij0mij0其它
由于数据量比较小,所以误差比较大,则若得出nj的最大值与次大值之间相差在阈值内(的值),则可认为得到的结果误差较大,不能直接进行匹配,需要引入人工干涉。如编号121和42都可以匹配编号66和编号126。此时人工干涉发现121和126匹配,42和66匹配。
则就将其转换成为问题1中的情况,由此得到的结果如下:
六.模型的评价与改进
6.1模型评价
6.1.1优点:
1.在求解第一问时,首先进行灰度处理。然后对碎纸片边界进行差值和处理,对
所处理后的数据进行了筛选,最后对所筛选出的数据进行人工干预。充分保证了拼接的准确性。
2.在求解问题二时,首先对碎纸片进行预处理,其次进行碎纸片匹配,最后进行碎纸片的拼接复原,本模型采用匹配算法具有良好的时效性、较强的系统性和关联性等特征,可以合理的对数据做出匹配。
3.在求解问题三时,首先对碎纸片进行灰度处理,其次进行碎纸片的相互匹配,接着进行拼接复原,最后对异常数据进行整理。
4.模型最大优点在于对原始数据灰度处理后, 采用匹配算法进行, 使之愈来愈完善, 具有很高的匹配精度和适度性在此基础上, 对模型作进一步讨论便可得到一系列可靠而实用的信息并且, 所得结论与客观事实很好地吻合, 从而进一步说明模型是合理的。
6.1.2缺点
1.进行灰度处理时,数据量大,对于导入数据需要一定的技巧。
2.在求解某些模型时,为了使问题得到方便的解决,往往采用简化的手
段进行求解,因此求出的结果与真实值会存在一定的偏差。
3.但是由于数据量比较大,人工干预又占有一定的比重,所以在现实生活中还有一定的局限性。
4.自动化程度不够高,属于半自动拼接技术。
6.2模型改进
在进行问题二,三时,由于时间有限,数据量大,内容繁琐,部分内容编不出程序来 ,希望通过我们的努力能建立出具有自动拼接能力的模型,主要突破口就是编程。进而把现在所建立的模型转化为全自动拼接模型,实现‘破镜重圆’的美好愿望。
参考文献
[1]刘莹,曹剑中,许朝晖,田雁,付同堂,王锋,基于灰度相关的图像匹配算法的改进,《应用光学》,2007年05期,2007
[2]吝维军,符号计算系统与数学实验,吉林科学技术出版社,2005。
附录
附录一:问题结果
图1 附件1复原图
图2 附件2复原图
15
图3 附件3复原图
16
附录二图4 附件4复原图
17
表5-3 附件1相关系数
18
附录三
Matlab碎纸片行特征位置程序:
for j=1:209
flag=jk(1,j); %jk为经过0-1处理过后的碎纸片黑白分布矩阵 n=0;%记录相邻两个行特征位置距离 k=0;%记录前一个行特征位置 for i=1:180
if (flag>jk(i,j)) flag=0; end if n>0 n=n+1; end
if (flag
if (flag30)%判断行特征位置是否准确 wz(1,j)=k; break;
else if (flag
Matlab求行高程序
data=imread('058.bmp'); data(data200)=255; zg=[];
19