APP下载

基于MATLAB 的碎纸片拼接复原技术研究

2021-06-23唐巧玲

科学技术创新 2021年18期
关键词:复原度量纸片

唐巧玲 陈 佳

(内江师范学院,四川 内江641100)

1 概述

碎纸片自动拼接技术是图像处理和模式识别领域中一种典型的新型应用,通过扫描成像技术获得一组被撕开的纸张的形状和颜色,再由计算机获取相应的信息,并通过计算机对这些纸张进行全自动或半自动复原的技术[1]。

本文主要研究由竖条型碎纸机粉碎的碎纸片,因此每个碎纸片的边缘是齐整的,所以无法利用碎纸片的轮廓形状得到有价值的信息,只能利用碎纸片边缘的所承载的色彩信息,来获取有价值的信息,再经过一系列的处理,进而实现碎纸片的拼接复原[6]。本文利用MATLAB 提取碎纸片图片对象,将其看成一个集合,在水平方向对比两个碎纸片的相似度,选出相似度最高的两个碎纸片拼接成新的碎纸片,对已拼接完成的一侧停止比较,只比较另一侧,直至拼接完成为止。然后对计算机处理的结果进行分析,提高其匹配率[7-8]。

2 碎纸片拼接技术的原理

2.1 图像预处理

碎纸片自动拼接复原技术是图像处理和模式识别领域中的典型应用,这一项技术通过扫描与图像提取技术来获取碎纸片的颜色和形状等有用的信息,之后再利用计算机对提取的信息进行进一步的处理,从而达到碎纸片的全自动复原或者半自动复原的目的。在碎纸片拼接复原过程中,最重要的就是图像的预处理和碎纸片的匹配,图像预处理就是把碎纸片转化成计算机可以识别和处理的数据,而碎纸片匹配是在这些处理后的数据基础之上进行的。

本文首先运用MATLAB 软件对碎纸片做图像预处理:调用函数imread 使图片转化成灰度矩阵,该灰度矩阵的每个元素为0 到255 的整数。不同的数字代表不同的灰度级或者亮度,其中数字0 表示黑色,数值255 表示白色,而每个矩阵中的各个数据表示其对应碎纸片的一个像素,这些数据就展示了碎纸片的数字特征信息,本文通过分析碎纸片提取出来的数字矩阵的灰度信息,发现矩阵的第一列和最后一列,然后将碎纸片边缘转化生成的数字特征信息进行处理,并对每个矩阵进行两两比较,就可以找出相邻的碎纸片。

2.2 碎纸片拼接复原

为了可以更加方便的进行碎纸片拼接处理,计算出两张碎纸片具体的边缘相似度的数字,本文引入了差异度量,其具体公式如下:

其中:

当S 的值越小时,就说明两个矩阵的两列数据差值越小,也就说明这两个碎纸片的相似度越高,其匹配度也就更高,进而选择将这两张碎纸片进行拼接,作为相邻的碎纸片。

本文研究对纵切的碎纸片进行拼接复原的技术,主要是利用计算机自动拼接模型来对碎纸片边缘进行拼接处理,并且考虑边缘灰度,再分析差异度量,先找出最左端的碎纸片,再向右依次拼接成一个完整的图片,然后输出图像。

3 基于纵切的中英文碎纸片复原技术研究

3.1 问题分析

对于单面仅纵切的碎纸片的情况,本文的碎纸片是来自同一印刷文件,并且都是规则的碎纸片,观察左右两侧的边缘发现有许多文字被切开,所以对碎纸片的拼接问题就转化成将两侧被截断的字符进行拼接的问题。本文在进行拼接时,选取碎纸片都是随机的,在选取碎纸片之后,再将这个碎纸片与剩下的碎纸片进行边缘信息相似度计算(差异化度量),然后比较这两个碎纸片的边缘信息相似度,选择边缘信息相似度最高的两张图片拼接成一个完整的字符。在进行边缘匹配的时候,可能遇到有一张碎纸片的左侧和一张碎纸片的右侧为白色部分的情况,那么这两张碎纸片就可能是整个文件的左右两端的两张碎纸片。

3.2 模型假设

假设所有碎纸片的大小都是一样的,并且具有以下特点:

3.2.1 碎纸片的图像是完好无损的;

3.2.2 碎纸片图像只含中英文,不含有特殊符号;

3.2.3 碎纸片的文字未经过任何的旋转;

3.2.4 碎纸片的切割方向都是垂直方向的;

3.2.5 碎纸片的形状都是规则的且大小相同的几何碎片。

对于本文所研究的碎纸片,转化成的灰度矩阵可能出现的情况有以下三种:

(1)第一张碎纸片的灰度矩阵的第一列全为零;

(2)最后一张碎纸片的灰度矩阵的最后一列全为零;

(3)其他碎纸片的灰度矩阵的各个行列的值为0-255 的任意数值:

那么就可以根据这三种情况,通过计算机处理,将碎纸片进行自动拼接复原,这三种情况就分别对应原图的第一张碎纸片,最后一张碎纸片和除第一张和第二张之外的其他碎纸片。

3.3 模型的建立和求解

3.3.1 模型的建立

本文利用MATLAB 软件对碎纸片进行图片预处理,将每个碎纸片转化成一个1980×72 的灰度矩阵,矩阵里面的每个元素数值为0-255,0 表示黑色,255 表示白色,而图片中的信息是文字信息,因为文字信息存在阴影部分,所以矩阵中出现了介于0到255 的数值元素[5]。本文将1980×72 的灰度矩阵命名为A,其类型如下所示:

因为灰度矩阵A 中的元素过多且数据过大,不利于比较,因此可以对灰度矩阵A 进行二值化处理,将矩阵A 转化新的灰度矩阵,命名为B,其类型如下:

在进行拼接的时候,每个矩阵中的中间元素都是一个像素点,但在拼接只需要用到边缘数据信息,也就是每个灰度矩阵的第一列和最后一列,只需要将这两列进行两两比较,并计算出它们的差异化度量,选取匹配度最高的两个碎纸片作为相邻的碎纸片,后面再依次计算,从而实现碎纸片的复原[6-8]。

3.3.2 模型的求解

为了避免碎纸片的重复使用,所以需要在处理完灰度矩阵后,对每个灰度矩阵进行编号。在拼接过程中,需要先找出最左端的碎纸片作为第一张碎纸片,也就是第一列全为零的矩阵B的碎纸片,然后将此矩阵的第二列与剩下的矩阵的最后一列进行差异化度量值的计算,在差异化度量值中取最小值,即与它相似度最高的矩阵作为第二张碎纸片,按照这种方法,依次循环,直至拼接完成为止。碎纸片复原的的程序流程图如图1 所示。对碎纸片进行预处理,提取图片的灰度矩阵,并将所有的碎纸片都转化成灰度矩阵,并将这些矩阵都放入数组A 中。利用冒泡循环将所有的灰度矩阵进行二值化处理,如果矩阵中元素不等于255,就转化成0,如果矩阵中的元素等于255,就转化成1。然后判断每个碎纸片的第一列元素是否为零,如果为零,就将其作为第一个碎纸片。将碎纸片矩阵的第一列和另一个碎纸片矩阵的最后一列比较,计算其差异化度量,并选取匹配度最高的碎纸片,作为两个相邻的碎纸片,其核心代码如下:

图1 碎纸片复原流程图

待所有碎纸片拼接完成之后,输出碎纸片的正确顺序和拼接复原之后的图像。

4 实验结果

对于本文采用的中文碎纸片和英文碎纸片,经过拼接复原,得到碎纸片的正确顺序如表1 和表2 所示。

表1 中文碎纸片复原序列

表2 英文碎纸片复原序列

从得到的拼接复原结果可以看出,本文采用的拼接复原方法实现了中英文的纵切的规则碎纸片的拼接复原,可靠性较高。

结束语

本文基于MATLAB 平台,构建每张碎纸片的灰度矩阵并将其进行二值化,通过计算矩阵之间的差异化度量值等相关系数,并根据相关系数的大小来判断碎纸片匹配度的高低,以此找到相邻的碎纸片,从而完成碎纸片的拼接复原。本文对于纵切的碎纸片拼接复原,准确率较高,人工干预较少,可靠性高。但对于其它粉碎方式的碎纸片或者不规则的碎纸片,本文建立的模型并不适用,需要另行研究。

猜你喜欢

复原度量纸片
温陈华:唐宋甲胄复原第一人
鲍文慧《度量空间之一》
一起来做颈椎操吧
听话的纸片
毓庆宫惇本殿明间原状陈列的复原
纸片也能托住水
代数群上由模糊(拟)伪度量诱导的拓扑
突出知识本质 关注知识结构提升思维能力
度 量