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

摘 要本文介绍了当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越小则表示两张图片的符合程度越高,反之,

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

  1. matlab的svpwm逆变器,基于svpwm三相逆变器在matlab下的仿真研究.doc

    基于svpwm三相逆变器在matlab下的仿真研究.doc 基于SVPWM三相逆变器在MATLAB下的仿真研究摘要介绍了电压空间矢量脉宽调制控制算法的基本概念并简要介绍了利用多种实际矢量合成所需电压矢 ...

  2. 基于计算机的控制系统,基于计算机的机械控制系统实现方式研究.pdf

    116 Mechanics-electronics Applied Technique 机电技术应用 2017 年 1 月 基于计算机的机械控制系统实现方式研究 张华鹏 ,舒林果 ,韦祺然 (沈阳理工 ...

  3. 大学生使用计算机的调查,基于SPSS 对大学生电脑使用情况的调查研究

    基于SPSS 对大学生电脑使用情况的调查研究 发表时间:2013-7-10 9:07:39 JIANGSU UNIVERSITY OF TECHNOLOGY 专业见习报告 基于SPSS 对大学生电脑使 ...

  4. 经济学专业向计算机方向创业,基于市场需求的经济学专业人才培养模式研究

    李鸿雁 夏淑琴 摘要:经济学专业的人才培养要坚持以市场需求为导向,顺应国家创新战略发展的时代要求,将"能力"培养作为人才培养模式的着力点和核心内容,培养出具有创新能力的高素质人才. ...

  5. 计算机绘图模型的参数方程,关于曲线绘图与运动控制问题的研究.doc

    文档介绍: 关于曲线绘图与运动控制问题的研究姓名:张硕朱聪聪禹雪珂学号:201722060220172106102017210609专业:研究生组题目:关于曲线绘图与运动控制问题的研究摘要随着计算机的 ...

  6. matlab实现频域率滤波,基于Matlab的图像的频域滤波实现及研究.doc

    摘要:图像的频域滤波是图像增强的一种方法.图像增强是图像处理的方法之一,有频率域法和空间域法.频率域法把图像看成一种二维信号,对其进行二维傅里叶变换的信号增强,采用低通滤波法可以去掉图像的噪声:采用高 ...

  7. matlab彩色碎片拼接与复原_如何用matlab处理碎纸片拼接问题

    展开全部 用matlab处理碎纸片拼接: 1.思路: 分别用n个变量储存n个碎纸片图像,然后用矩阵拼接的方62616964757a686964616fe59b9ee7ad943133343363623 ...

  8. matlab彩色碎片拼接与复原_碎片拼接复原技术研究

    [摘 要]破碎文件的拼接在司法物证复原.历史文献修复以及军事情报获取等领域都有着重要的应用.传统上,拼接复原工作需由人工完成,准确率较高,但效率很低.针对规则碎纸片的拼接,本文基于中文文章试对文字特征 ...

  9. 计算机组成原理认识fpga,计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现_精品.doc...

    计算机组成原理课程设计-基于EDA和FPGA技术的8位模型计算机的设计与实现_精品 目录 前言2 第一章 课程设计内容2 1.1 实验要求2 1.2 实验目的2 第二章 实验原理及方案2 2.1 实验 ...

最新文章

  1. Ceres非线性优库入门介绍
  2. 【错误记录】Android Studio 配置 GitHub 报错 ( Can‘t login using given credentials: Request response: 401 Una )
  3. 回归专题 | regression
  4. python基础list_python基础之List详解
  5. Linux各个文件夹的作用~~~非常实用!!
  6. 【分享】java反射获取、设置、打印对象属性,对象转map基础工具
  7. C++ STL容器之map 简单使用
  8. bootstrap select2控件
  9. sql中怎么根据汉字的拼音首字母查询
  10. js的prototype属性
  11. MySQL(26)--- 索引
  12. ComponentArt.web.ui中文帮助之Grid(六)
  13. mybatis中 bit类型判断
  14. 抖音新特效:蚂蚁呀嘿安卓教程
  15. android 图片上传图片 报Socket: Broken pipe
  16. STM8S与IAR程序常用错误
  17. 7、purge_haplogs 基因组去冗余
  18. 用Fiddler、Charles和mitmproxy进行手机抓包的配置教程
  19. Visio2013 取消箭头的自动连接
  20. 【Re】36C3CTF xmas_future

热门文章

  1. Win32系统编程 线程控制(Suspendthread ResumeThread WaiteForSingleObject WaitForMultipleObjects)
  2. 场效应晶体管在电路中的特别应用,你未必全都清楚
  3. 微信硬件平台从入门到精通(服务器端)
  4. Opencv项目实战:14 手势控制音量
  5. Multiple Cameras
  6. 【Vue】前端人脸识别框架 tracking.js 活体检测/拍照在 vue2 的使用
  7. 创意被盗用,这3个加水印方法,让照片刻上我们专属印记
  8. java removeattribute_springboot使用shiro后HttpSession的removeAttribute无效
  9. Linux中内部命令和外部命令
  10. Android时间轴(Timeline)效果的实现