如何用计算机拼接纸片,基于计算机处理的碎纸片拼接复原的研究.doc

基于计算机处理的碎纸片拼接复原的研究

摘 要本文介绍了当A4张被碎纸机粉碎后,如何利用计算机进行碎纸片自动复原的过程。主要通过扫描将碎纸片的图片导入计算机,利用不同的方法,分别对中英文文字进行聚类分析,再针对中英文不同的文字特点,利用不同的方法进行拼接。取得了较为理想的效果,从而大大提高了边缘规则的碎纸片的拼接效率。

【关键词】特征线模型 聚类分析 欧氏距离

1 引言

当今社会中,碎纸片的恢复具有一定的意义。主要体现在以下两方面:一,在经济案件中,不法分子通常会利用碎纸机销毁账本等证据,公安机关需要对这些碎片进行复原作为证据。二,是日常办公中误碎的情况时有发生,需要进行复原。在以前的纸片复原过程中,大量的纸质物证复原工作基本上都是以手工方式完成的,这样的做法虽然准确率高,但是效率很低。一旦碎纸的数量增大到几百甚至上千块的时候,如果依然依靠手工完成的。不但耗费大量的人力、物力,而且还可能对物证造成一定的损坏。随着计算机网络时代的来临,通过计算机对碎纸片进行智能拼接是一个新的研究方向。

2 针对中文字体的碎纸片自动拼接

2.1 图像预处理

本次研究的案例是将一张单面中文打印的A4纸被碎纸机切割成11行、19列。由于经过碎纸机切割的A4纸,形状相对来说比较规则,而且需要拼接的图片是由一张完整的带有文字的纸切割而成,在图片边沿处存在大量的字迹断线,因此可以以这些字迹断线为拼接依据对图片进行拼接。

图像预处理的目的是将碎纸片表示为适合于利用计算机进行处理的形式。预处理的过程如下:将一张被碎纸机切割成209(11行、19列)个碎片的A4纸的所有图片进行编号k={1,2,…,209},利用matlab提依次取出图片k的像素,用像素点表示图片构成,将每张图片通过像素组成转化为180×72的矩阵,该灰度图像矩阵的取值范围为[0,255] ,“0”表示纯黑色,“255”表示纯白色,中间的数字从小到大表示由黑到白色。将每个图片对应的灰度矩阵全部导入计算机中,得出一个三维灰度矩阵。

2.2 利用行间距和字高对纸片进行聚类分析

本文研究的案例中,A4纸上每一行的字体和很行间距是一样的,所以,先任意选取一张碎纸片,通过图像软件的处理,得到该纸片的行间距和字高的信息。如图1所示:

其中,h表示字高,l表示行间距。介于字高和行间距之间,人为画出来的线,本文称之为特征线。通过matlab软件,依次对每张图片的特征线所在的位置进行记录,并储存于6行209列的矩阵T。其中,第i行第j列的数字表示:第j张图片,第i条特征线所在的位置(即行数)。

在对每张图片的特征线位置记录时,不是每张图片都有5条明显的特征线。但是,对于那些比较特殊的图片,必须进行处理之后,才能进行聚类分析。

如图2所示的三张图片中,从左到右特征线条数(图中实线部分)分别为:4条,3条,2条。与图一所示图片具有5条特征线不同。所以,需要进行处理才能得出5条特征线所在的位置。具体的做法是:首先,找到图片中具体有文字的地方,确定部分特征线。其次,在距离已经画好特征线l(即行间距)的地方,画一条补充特征线(图中虚线所示)。再次,在距离第一条补充特征线的h(即字高)的地方,画第二条补充特征线。如此反复,直至超出图片范围,便结束画线。

通过以上的处理,每张图片的特征线信息变得完成。接下来,便可以通过电脑,依据每张图片的特征线信息,进行聚类:第k张图片,与前面的k-1张图片的特征线位置进行对比,若两张图片的特征线位置相差之和不超过5,便可以认为这两张图片为同一行的图片,否则,该图片单独成另外一行。经过以上的处理和聚类之和,原来209张图片,被分成了11类。正好与该张A4纸被切割成11行相符合。

2.3 利用图片左右边缘的灰度对各行图片进行拼接

经过聚类之后,接下来只需要对每行的碎纸片进行单独的拼接。这样大大减少了拼接的工作量和发生错误的概率。每行具体的拼接过程如下:

首先,找到11行图片中最左边的图片。因为,在日常的打印的文档中,一般都是有页边距的,利用这个特征,可以轻易的找出11行图片中,每行最左面的图片。

其次,确定好最左边的图片之后,就依次向右拼接。如图三中所示:原本一张完好的图片(A图)被碎纸机切割成两块(B图和C图),在B图右边缘的a点的灰度值应该与对应C图左边缘中a’点的灰度值相同或者相近。而每张碎纸片有180行,即每张图片边缘有180个灰度值可以利用,来和其他图片进行匹配计算。此处,引入欧式距离的倒数,来衡量两张图片的相符程度,即用b图片的最右边缘的180的点的灰度值减去对应c图片最左边缘的180的点的灰度值的差值的倒数,用dbc表示。若dbc越小则表示两张图片的符合程度越高,反之,

你可能感兴趣的:(如何用计算机拼接纸片)