基于Matlab的碎纸片的自动拼接复原技术.docx

上传人:b****3 文档编号:12993804 上传时间:2023-04-22 格式:DOCX 页数:27 大小:424.71KB
下载 相关 举报
基于Matlab的碎纸片的自动拼接复原技术.docx_第1页
第1页 / 共27页
基于Matlab的碎纸片的自动拼接复原技术.docx_第2页
第2页 / 共27页
基于Matlab的碎纸片的自动拼接复原技术.docx_第3页
第3页 / 共27页
基于Matlab的碎纸片的自动拼接复原技术.docx_第4页
第4页 / 共27页
基于Matlab的碎纸片的自动拼接复原技术.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

基于Matlab的碎纸片的自动拼接复原技术.docx

《基于Matlab的碎纸片的自动拼接复原技术.docx》由会员分享,可在线阅读,更多相关《基于Matlab的碎纸片的自动拼接复原技术.docx(27页珍藏版)》请在冰豆网上搜索。

基于Matlab的碎纸片的自动拼接复原技术.docx

基于Matlab的碎纸片的自动拼接复原技术

碎纸片的自动拼接复原技术

***************

指导老师:

摘要:

破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有着重要的应用。

目前发现对碎纸片的拼接大部分由人工完成,准确率较高,但耗费大量人力财力及时间,效率很低。

随着计算机技术的发展,人们试图开发碎纸片的自动拼接技术,以提高拼接复原效率。

现先对仅纵切的碎纸片进行研究,开发出利用计算机,更便捷快速拼接碎纸片的方法。

本文首先对碎纸片的自动拼接复原问题建立相应的数学模型,利用图像的色彩特征建立图像灰度值矩阵,根据拼接特性找到其中可以拼接碎纸片的相关性,然后在matlab软件环境下进行编程、编译及调试,得到各碎纸片的正确拼接顺序后,对仅纵切的碎纸片进行拼接复原。

主要工作有以下几个方面:

(1)用imread()函数读取各碎纸片的基本信息,建立灰度值矩阵

(2)提取出每张图片第一列和最后一列的灰度值分别构成新矩阵

(3)人工介入找出第一张待接图片

(4)根据第一张待接图片的参考信息建立循环,得到碎纸片的拼接顺序

(5)用imshow()函数显示新顺序的拼接结果,用以检查正确性

关键词:

碎纸片拼接复原matlab软件灰度值

 

指导老师签名:

 

Automaticsplicingbitsofpaperrecoverytechnology

StudentName:

Class:

Instructor:

Abstract:

Splicingbrokenfileevidenceinjudicialrecovery,restorationofhistoricaldocumentsandaccesstomilitaryintelligenceandotherareashaveimportantapplications.Currentlyfoundonmostofthecompletionofsplicingbitsofpaperbyhand,theaccuracyrateishigher,butspendalotofhumanandfinancialresourcesandtimeinefficient.Withthedevelopmentofcomputertechnology,peopletryingtodevelopautomaticsplicingtechnologyscrapsofpaper,inordertoimprovetherecoveryefficiencyofsplicing.Herewithonscrapsofpaperonlylongitudinalstudy,Developedtheuseofcomputers,andmoreconvenientwaytoquicklystitchingscrapsofpaper.

Inthispaper,thefirst,accordingtotheautomaticstitchingscrapsofpaperrecoveryissuetocorrespondingmathematicalmodel,usingtheimageoftheColorcharacteristicstoestablishtheimageofgrayvaluematrix,Accordingtothecharacteristics,whichcanbefoundthecorrelationoftheshreddingpieces.Thenprogramming,compiling,anddebuggingsoftwareenvironmentinmatlab,afterthecorrectorderofthetornpiecesofmosaic,scrapsofpaperontheonlylongitudinalsplicingrecovery.

(1)Withimread()functionreadsthebasicinformationforeachscrapofpaper,the

establishmentofgrayvaluematrix

(2)readthefirstimageofeachrowandthelastcolumnofthegrayvalueofeachcomponentmatrix

(3)humaninterventionwaitingtofindoutthefirstpictures

(4)Thefirstpicturetobeconnectedtocreateacircularreferenceinformationbased

shreddingordertogetsplicedfilm

(5)Withimshow()functiontodisplaytheresultsofaneworderofstitchingtocheckthecorrectness

Keywords:

scrapsofpaperStitchingrecoverymatlabGrayvalue

SignatureOfSupervisor:

第一章绪论

1.1碎纸拼接技术及项目背景·························

(2)

1.2国内外研究现状·································(3)

1.3论文主要内容···································(3)

第二章MATLAB概述

2.1MATLAB产生的历史背景························(4)

2.2MATLAB的特点································(5)

2.3MATLAB在图像处理中的应用····················(7)

第三章数字图像处理

3.1数字图像处理技术简介···························(9)

3.1.1数字图像处理的特点·····························(9)

3.1.2数字图像处理技术的研究内容·····················(10)

3.1.3数字图像处理技术的应用·························(12)

3.2图像处理工具简介·······························(12)

3.3MATLAB中的图像类型及类型变换················(13)

3.3.1图像和图像数据·································(13)

3.3.2图像处理工具箱所支持的图像类型·················(13)

第四章碎纸片拼接

4.1拼接思路·······································(17)

4.2拼接结果·······································(18)

第五章总结与展望

5.1全文总结·······································(20)

5.2工作展望·······································(20)

参考文献··············································(21)

致谢···················································(21)

附录···················································(22)

第一章绪论

1.1碎纸拼接技术及项目背景

为从民主德国时期安全部门的档案碎片中寻找秘密,德国政府自1991年起开始着手还原这些档案。

一直到2007年,负责整理这些档案碎片的部门一直采取手工还原的方式,工作人员将碎片铺在大桌子上,通过人名和签名等痕迹将它们拼凑起来。

历经17年,25名工作人员已将350袋碎片拼好,但等待它们的还有106万袋,按这个速度,他们要花几个世纪才能完成任务。

德国政府决定花费835万美元,准备用计算机软件将约600万块碎纸片拼接起来[1]。

同样,2011年美国国防部高级研究项目局发起“拼图挑战”,谁最先将5份切碎的文件拼凑起来将获得5万美元奖金。

此举旨在希望有人能够开发计算机算法,解决文件拼接问题,方便美国军方读取战场上所获文件碎片的内容[2]。

因此,开展对碎纸片的自动拼接复原技术的研究有着重要的现实意义。

碎纸自动拼接技术是图像处理与模式识别领域中的一个较新但是很典型的应用,它是通过扫描和图像提取技术获取一组碎片的形状、颜色等信息,然后利用计算机进行相应的处理从而实现对这些碎纸片的全自动或半自动拼接还原。

碎纸自动拼接的关键技术包括图像预处理和匹配。

碎纸图像预处理的目的是将碎纸片表示为适合于利用计算机进行处理的形式。

图像预处理包括图像获取,背景分割,边界检测,轮廓提取和表示等。

匹配技术是碎纸自动拼接中关键之中的关键,就是用储存在计算机中的模型去识别输入的未知视觉模式,并最终建立对输入的解释。

在对图像的理解中,匹配技术起着重要的作用。

匹配技术可以归为两类,一类是比较具体,多对应图像底层像素或像素的集合,统称为图像匹配;另一类则比较抽象,主要与图像或目标的性质有关,统称为广义匹配。

图像匹配包括模板匹配、目标匹配和动态匹配。

广义匹配包括关系匹配、线图同构和特征内容匹配。

特征内容包括颜色匹配、纹理匹配、形状匹配和综合特征匹配等。

目前根据碎纸拼接的特点,主要用到的是颜色匹配技术,即将图形转化成像素点的灰度值并在计算机上得到相应矩阵,在忽略边缘效应的状态下对其灰度值进行匹配从而拼接。

1.2国内外研究现状

目前碎纸的拼接工作大部分都是靠人工的方式完成。

虽然国外对这项工作进行了一些研究,但是由于碎纸的自动修复技术应用背景的特殊性,目前几乎没有公开的研究资料可以参考。

类似的研究主要是集中在文物碎片的自动修复、虚拟考古、故障分析以及计算机辅助设计、医学分析等领域。

前东德情报机构“斯塔西”官员将大量绝密文件撕成6亿多块碎纸片后丢进16000个垃圾袋,及史学家认为恢复这些文件意义重大,但如果人工手段进行恢复,将耗费至少400年时间。

在司法技术鉴定中也存在着类似的问题,大量的纸质物证复原工作目前基本上都是以手工方式完成的。

一旦碎纸的数量增大到几百甚至上千块的时候,如果仍然依靠手工完成,不但耗费大量的人力、物力,而且还可能对物证造成一定的损坏。

目前,在国际上,德国等发达国家对破碎文件的自动修复技术已经进行了相当长时间的研究。

但是由于技术封锁的原因,我们所能够搜集到的资料非常有限。

而在国内,还没有类似的研究成果问世。

因此,结合碎纸自动拼接在司法技术鉴定中的应用这一背景,把计算机视觉和模式识别应用于碎片复原,开展对碎纸自动拼接技术的研究技术的研究具有重要的现实意义[3]。

本文的目标是利用计算机辅助的方法对仅纵切的碎纸片进行拼接、复原的关键技术。

碎纸自动拼接可以近似看成是一个拼图问题(jigsawpuzzleproblem)。

在机器人和计算机视觉领域中,很早就有学者对自动拼接问题进行了研究。

H.Wolfson等人开发了一套机器人系统,能让机器人在标准的拼图游戏中找到各个对应的匹配块,并操作机器人进行自动拼图。

这些技术都利用了拼图游戏中的一些特殊特征(如平滑的轮廓,显著的角点等)以及一些先验知识。

1.3论文主要内容

论文共分六章,第一章介绍了课题的来源、背景,研究现状和论文的组织结构。

第二章介绍了matlab的相关知识。

第三章研究了碎纸拼接中的关键技术之一:

图像预处理。

第四章结合前面的研究结果,开发出基于计算机辅助的碎纸自动拼接系统。

本文的目标是利用计算机辅助的方法对仅纵切的碎纸片进行拼接、复原的关键技术。

 

第二章MATLAB概述

2.1MATLAB产生的历史背景

在70年代中期,CleveMoler博士和其他同事在美国国家科学基金的资助下开发了调用EISPACK和LINPACK的FORTRAN子程序库。

EISPACK是特征值求解的FOETRAN程序库,LINPACK是解线性方程的程序库。

在当时,这两个程序代表矩阵运算的最高水平。

到70年代后期,身为美国NewMexico大学计算机系系主任的CleveMoler,在给学生讲授线性代数课程时,想教学生使用EISPACK和LINPACK程序库,但他发现学生用FORTRAN编写接口程序很费时间,于是他开始自己动手,利用业余时间为学生编写EISPACK和LINPACK的接口程序。

CleveMoler给这个接口程序取名为MATLAB,改名为矩阵(matrix)和实验室(labotatory)两个英文单词的前三个字母的组合。

在以后的数年里,MATLAB在多所大学里作为教学辅助软件使用,并作为面向大众的免费软件广为流传。

1983年春天,CleveMoler到Standford大学讲学,MATLAB深深地吸引了工程师JohnLittle。

JohnLittle敏锐的觉察到MATLAB在工程领域中的广阔前景。

同年,他和CleveMoler、SteveBangert一起,用C语言开发了第二代专业版。

这一代的MATLAB语言同时具备了数值计算和数据图示化的功能。

1984年,CleveMoler和JohnLittle成立了MathWorks公司,正式把MATLAB推向市场,并继续进行MATLAB的研究和开发。

在当今30多个数学类科技应用软件中,就软件数学处理的原始内核而言,可分为两大类。

一类是数值计算性软件,如MATLAB、Xmath、Gauss等,这类软件长于数值计算,对处理大批数据效率高;另一类是数学分析型软件,Mathmatica、Maple等,这类软件以符号计算见长,能给出解析解和任意精确解,其缺点是处理大量数据时效率较低。

MathWorks公司顺应多功能需求之潮流,在其卓越数值计算和图示能力基础上,又率先在专业水平上开拓了其符号计算、文字处理、可视化建模和实时控制能力,开发了适合多学科、多部门要求的新一代科技应用软件MATLAB。

经过多年的国际竞争,MATLAB已经占据了数值软件市场的主导地位。

在MATLAB进入市场前,国际上的许多软件包都是直接以FORTRAN语言等编程语言开发的。

这种软件的缺点是使用面窄、接口简陋、程序结构不开放以及没有标准的基库,很难适应各学科的最新发展,因而很难推广。

MATLAB的出现,为各国科学家开发软件提供了新的基础。

在MATLAB问世不久的80年代中期,原先控制领域里的一些软件包纷纷被淘汰或在MATLAB上重建。

时至今日,经过MathWorks公司的不断完善,MATLAB已经发展成为适合多学科。

多种工作平台的功能强大的大型软件。

在国外,MATLAB已经经受了多年考验。

在欧美等高校,MATLAB已经成为线性代数、自动控制理论、数理统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教学工具;成为攻读学位的大学生、硕士生、博士生必须掌握的基本技能。

在设计研究单位和工业部门,MATLAB被广泛用于科学研究和解决各种具体问题。

在国内,特别是工程界,MATLAB一定会盛行起来。

可以说,无论你从事工程方面的哪个学科,都能在MATLAB里找到合适的功能。

2.2MATLAB的特点

MATLAB是矩阵实验室(MatrixLaboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

MATLAB的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。

附加的工具箱(单独提供的专用MATLAB函数集)扩展了MATLAB环境,以解决这些应用领域内特定类型的问题。

他具有以下诸多的优点:

(1)友好的工作平台和编程环境  

MATLAB由一系列工具组成。

这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。

包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。

随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。

而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。

简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。

  

(2)简单易用的程序语言  

Matlab一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。

用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。

新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。

使之更利于非计算机专业的科技人员使用。

而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。

(3)强大的科学计算机数据处理能力  

MATLAB是一个包含大量计算算法的集合。

其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。

函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。

在通常情况下,可以用它来代替底层编程语言,如C和C++。

在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。

MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。

函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。

 

(4)出色的图形处理功能 

图形处理功能MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。

高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。

可用于科学计算和工程绘图。

新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。

同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。

另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。

 

 (5)应用广泛的模块集合工具箱 

 MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。

一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。

目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。

  

(6)实用的程序接口和发布平台  

新版本的MATLAB可以利用MATLAB编译器和C/C++数学库和图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C++代码。

允许用户编写可以和MATLAB进行交互的C或C++语言程序。

另外,MATLAB网页服务程序还容许在Web应用中使用自己的MATLAB数学和图形程序。

MATLAB的一个重要特色就是具有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。

工具箱是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。

  

(7)应用软件开发(包括用户界面)  

在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等;在输入输出方面,可以直接向Excel和HDF5进行连接。

本次设计中使用的是MATLAB7.0,属于最新的版本之一,功能强大,有利于对实验进行简易操作,更能提高设计实验的准确性。

2.3MATLAB在图像处理中的应用

图像处理工具包是由一系列支持图像处理操作的函数组成的。

所支持的图像处理操作有:

图像的几何操作、领域和区域操作、图像变换、图像恢复与增强、线性滤波和滤波器设计、变换(DCT变换等)、图像分析和统计、二值图像操作等。

下面就MATLAB在图像处理中各方面的应用分别介绍。

(1)图像文件格式的读写和显示。

MATLAB提供了图像文件读入函数imread(),用来读取如:

bmp、tif、tiffpcx、jpg、gpeg、hdf、xwd等格式图像文件,图像写出函数imwrite(),还有图像显示函数image()、imshow()等等。

(2)图像处理的基本计算。

MATLAB提供了图像的和、差等线性运算,以及卷积、相关、滤波等非线性运算。

例如,conv2(I,J)实现了I、J两幅图像的卷积。

(3)图像变换。

MATLAB提供了一维和二维离散傅里叶变换、快速傅里叶变换、离散余弦变换及其反变换函数,以及连续小波变换、离散小波变换及其反变换。

(4)图像的分析和增强。

针对图像的统计计算MATLAB提供了校正、直方图均衡、中值滤波、对比度调整、自适应滤波等对图像进行的处理。

(5)图像的数字形态学处理。

针对二值图像,MATLAB提供了数学形态学运算函数:

腐蚀、膨胀算子,以及在此基础上的开、闭算子,厚化、薄化算子等丰富的数学形态学运算。

以上所提到的MATLAB在图像中的应用都是由相应的MATLAB函数来实现的,使用时,只需按照函数的调用语法正确输入参数即可。

具体的用法可参考MATLAB丰富的帮助文档。

图像边缘对图像识别和计算机分析十分有用,在MATLAB中,函数edge()用于灰度图像边缘的提取,它支持六种不同的边缘提取方法,即Sobel方法、Prewi

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1