碎纸片拼接复原matlab程序
- 格式:docx
- 大小:569.45 KB
- 文档页数:2
基于Matlab GUI碎纸机破碎文档的恢复文章详细阐述了基于Matlab GUI对单面印刷文档经碎纸机破碎的碎片(既纵切又横切)的恢复,结合计算机对碎片的匹配搜索和人工干预,提高文档恢复的效率,达到文档的恢复。
标签:Matlab GUI;聚类分析;人工干预1 概述破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有着重要的应用。
传统上,拼接复原工作需由人工完成,准确率较高,但效率很低。
特别是,当碎纸片数量巨大,人工拼接很难在短时间内完成任务[1-3]。
随着计算机技术的发展,人们试图开发碎纸片的自动拼接技术,以提高拼接复原效率。
文章基于Matlab GUI对破碎文档(既纵切又横切)的复原实现人机互动,并给出了提高文档复原效率的方法。
2 图像采样图象采样就是按照图像空间的坐标测量该坐标测量该位置上像素的灰度值。
方法如下:对连续的f(x,y)进行等间隔采样,在(x,y)平面上,将图像均分成均匀的小网格,每个小网格的位置可以用整数坐标表示,于是采样值就对应于一个M×N数字矩阵。
这样就获得了数字图像中关于像素的两个属性:位置和灰度。
位置由采样点的两个坐标确定,也就对应了网格行和列;而灰度表明了该像素的明暗程度。
Matlab读入图象的函数为imread(filename,format)。
而文章讨论的碎片图像格式为bmp的8位灰度图像,每一像素的取值范围为0~255。
3 碎片的分类3.1 碎片特征提取准确地确定碎片的特征对碎片的分类起着重要作用,原始的碎片图像中可利用的像素点较多,而碎片图像中能有效反应碎片的特征的像素需要恰到好处地提取。
文字的笔画有粗细之分,由此,不考虑笔画的粗细,文字的轮廓更能体现碎片的特征。
运用边缘检测的方法,实现对文字轮廓的确定。
(a)(b)图1 边缘化处理前后对比图将每行边缘轮廓像素通过累加法,得到一个180维的向量。
边缘轮廓像素在180维的向量的每一分量的值呈现一定的规律,图2为图1(a)的累加向量。
碎纸片拼接复原的数学方法拼图游戏,一种看似简单却富含深度的游戏,给人们带来了无穷的乐趣。
然而,大家是否想过,这样的游戏其实与数学有着密切的?让我们一起探索碎纸片拼接复原背后的数学方法。
碎纸片拼接复原,其实就是一个计算几何问题。
在数学领域,欧几里得几何和非欧几里得几何是两个基本而又重要的分支。
欧几里得几何主要研究的是在平面上两点之间的最短距离,这是我们日常生活中常见的几何学。
而非欧几里得几何则研究的是曲面上的几何学,这种几何学并不符合我们日常生活中的直觉。
碎纸片拼接复原的问题就是一种非欧几里得几何问题。
在计算机科学中,图论是研究图形和网络的基本理论。
其中,图形遍历算法可以用来解决碎纸片拼接复原问题。
这种算法的基本思想是:从一点出发,尽可能多地遍历整个图形,并在遍历的过程中对图形进行重建。
对于碎纸片拼接复原问题,我们可以将每一张碎纸片看作是图中的一个节点,当两张碎纸片拼接在一起时,它们就形成了一个边。
通过这种方式,我们可以将所有的碎纸片连接起来,形成一个完整的图形。
在计算机科学中,碎纸片拼接复原问题被广泛应用于图像处理、数据恢复等领域。
例如,在数字图像处理中,如果一张图片被切割成若干块,我们可以通过类似的方法来恢复原始的图片。
在数据恢复领域,当一个文件被删除或格式化时,我们也可以通过类似的方法来恢复文件。
碎纸片拼接复原的问题不仅是一个有趣的拼图游戏,更是一个涉及计算几何、图论等多个领域的数学问题。
通过运用这些数学方法,我们可以有效地解决这个问题,从而更好地理解和应用这些数学理论。
在我们的日常生活中,我们经常会遇到一些破碎的物品,例如碎镜子、破碎的瓷器,或是碎纸片等。
这些物品的复原过程都需要一种科学的方法来帮助他们重新拼接起来。
这种科学方法就是碎纸片拼接复原技术。
碎纸片拼接复原技术是一种基于数学模型的方法,它通过比较碎纸片边缘的形状、纹理、颜色等特征,来找到碎纸片之间的相似性和关联性,从而将它们拼接起来。
碎纸片拼接与复原摘要本文讲述的是碎纸片拼接复原的问题。
碎纸片拼接复原在情报和考古方面用的较多,有很大的使用价值。
在实际操作中,人工拼接的准确度极高,但随着碎片数量增大,拼接难度将大大提高,这时必须借助计算机来处理,最后辅以人工干预来完成。
针对本文提出的问题,我们的模型不区分文字语言,把图像的灰度值作为建立模型的关键切入点。
使用matlab里的imread函数读入BMP图像,并取得其灰度值矩阵,矩阵中每一元素为图像每一像素的灰度值,通过对其边缘的灰度值进行匹配,求出其拼接顺序。
本文中匹配这一步骤采取求图片两边的一列像素灰度值进行求差绝对值,并将求其均值最小作为匹配原理,匹配度必须小于0.1。
第一问中只涉及到单面碎纸片,而且仅把单张纸进行纵向切碎成规则长条状,所以只需对其左右端像素的灰度值进行采集,然后进行匹配,将匹配度最高的两边连起来。
不过有两条纸的左边和右边全为白色,则将其单独列出来,作为复原后纸张的左右端,最后进行人工校正。
第二问中的纸片数量增多,且涉及到横纵同时切碎的纸片,所以不能直接沿用第一问的方法。
但通过观察,横切出的每一横条上碎纸片文字具有明显的共同点,可以进行快速匹配。
首先确定出第一行,通过寻找灰度矩阵最上面全为255的行数最多的图像,作为拼出第一行的碎片。
再用与刚才相似的方法,不过须取列为255最多的图片作整个复原图第一列。
最后从第二行第二个开始,从左至右从上到下依次匹配上碎片,最后结果需进行人工校正。
第三问由于涉及到双面纸的问题,可以继续沿用第二问的方法,不过拼接标准需要改为两面灰度值匹配度之和,将纸片拼接好后,最后再人工检查其是否拼接完全正确。
此模型还可用于彩色图像的拼接,用RGB颜色系统,同样是导出每一像素的RGB 值,构成矩阵,用与文中相似的办法进行破碎彩色图像的拼接。
关键词:拼接复原图像处理灰度值矩阵匹配1 问题重述B题碎纸片的拼接复原破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有着重要的应用。
2013高教社杯全国大学生数学建模竞赛B题碎纸片的拼接复原首先分析问题:对于第一问分析如下对于给定的来自同一页印刷文字文件的碎纸机破碎纸片(仅纵切),建立碎纸片拼接复原模型和算法,并针对附件1、附件2给出的中、英文各一页文件的碎片数据进行拼接复原。
如果复原过程需要人工干预,请写出干预方式及干预的时间节点。
求matlab图像拼接程序clear;I=imread('xingshi32.bmp');if(isgray(I)==0)disp('请输入灰度图像,本程序用来处理128 *128的灰度图像!');elseif (size(I)~=[128,128])disp('图像的大小不合程序要求!');elseH.color=[1 1 1]; %设置白的画布figure(H);imshow(I);title('原图像');zeroImage=repmat(uint8(0),[128 128]);figure(H); %为分裂合并后显示的图设置画布meansImageHandle=imshow(zeroImage);title('块均值图像');%%%%%设置分裂后图像的大小由于本图采用了128像素的图blockSize=[128 64 32 16 8 4 2];%%设置一个S稀疏矩阵用于四叉树分解后存诸数据S=uint8(128);S(128,128)=0;threshold=input('请输入分裂的阈值(0--1):');%阈值threshold=round(255*threshold);M=128;dim=128;%%%%%%%%%%%%%%%%% 分裂主程序%%%%%%%%%%%while (dim>1)[M,N] = size(I);Sind = find(S == dim);numBlocks = length(Sind);if (numBlocks == 0)%已完成break;endrows = (0:dim-1)';cols = 0:M:(dim-1)*M;rows = rows(:,ones(1,dim));cols = cols(ones(dim,1),:);ind = rows + cols;ind = ind(:);tmp = repmat(Sind', length(ind), 1);ind = ind(:, ones(1,numBlocks));ind = ind + tmp;blockValues= I(ind);blockValues = reshape(blockValues, [dim dim numBlocks]);if(isempty(Sind))%已完成break;end[i,j]=find(S);set(meansImageHandle,'CData',ComputeMeans(I,S));maxValues=max(max(blockValues,[],1),[],2);minValues=min(min(blockValues,[],1),[],2);doSplit=(double(maxValues)-double(minValues))>threshold;dim=dim/2;Sind=Sind(doSplit);Sind=[Sind;Sind+dim;(Sind+M*dim);(Sind+(M+1)*dim)];S(Sind)=dim;end对于第二问于碎纸机既纵切又横切的情形,请设计碎纸片拼接复原模型和算法,并针对附件3、附件4给出的中、英文各一页文件的碎片数据进行拼接复原。
承诺书我们仔细阅读了《全国大学生数学建模竞赛章程》和《全国大学生数学建模竞赛参赛规则》(以下简称为“竞赛章程和参赛规则”,可从全国大学生数学建模竞赛网站下载)。
我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。
我们知道,抄袭别人的成果是违反竞赛章程和参赛规则的,如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。
我们郑重承诺,严格遵守竞赛章程和参赛规则,以保证竞赛的公正、公平性。
如有违反竞赛章程和参赛规则的行为,我们将受到严肃处理。
我们授权全国大学生数学建模竞赛组委会,可将我们的论文以任何形式进行公开展示(包括进行网上公示,在书籍、期刊和其他媒体进行正式或非正式发表等)。
我们参赛选择的题号是(从A/B/C/D中选择一项填写): B我们的参赛报名号为(如果赛区设置报名号的话):所属学校(请填写完整的全名):楚雄师范学院参赛队员(打印并签名) :1. 陈志明2. 施明杰3. 阮秀婷指导教师或指导教师组负责人(打印并签名):(论文纸质版与电子版中的以上信息必须一致,只是电子版中无需签名。
以上内容请仔细核对,提交后将不再允许做任何修改。
如填写错误,论文可能被取消评奖资格。
)日期: 3013 年 9 月 16 日赛区评阅编号(由赛区组委会评阅前进行编号):编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):碎纸片的拼接复原算法及MATLAB实现摘要:对于只有纵切的情形,文章通过比较当前待拼碎片与剩余碎片的信噪比psnr[1,3,4]的值来确定两碎片是否为邻接碎片;拼接算法首先连续调用右拼函数直到拼接到原图右边界,然后连续调用左拼函数直到拼接到原图左边界,从而得到整幅复原图像;对于单面纵横交错切的情形,文章对首先采用纵切拼接算法将碎片拼接成多幅横条图片,然后将各横条图片矩阵转置[2],再次采用纵切拼接算法拼接;两种情形的拼接,都存在人为参与;实验证明,我们的算法对纵切情形是有效的,对纵横切情况是可行的。
碎纸片的拼接复原摘要碎纸片的拼接复原是一门借助计算机,把大量碎纸片重新拼接成初始纸张的技术。
针对问题一,本文首先利用碎纸片图像灰度矩阵的边缘矩阵,建立了两个碎纸片之间的匹配度函数,求得了每一张图片之间左右边缘匹配度矩阵。
然后根据左边边缘位置的碎片的左边空白部分最多的特点,确定了左边位置的碎纸片。
接着根据拼接碎纸片的拼接复原时,所有碎纸片匹配度之和取极大值的原则,采用贪心算法,得到了所有碎纸片的初始位置,拼接复原了附件1和附件2中纸片。
针对问题二,由于附件3碎片数量太多,并且碎片的拼接复原,是一个以碎纸片总匹配度为目标函数的组合优化问题。
所以本文采用遗传算法将碎纸片的编号作为基因,并将基因均匀分成19段,按顺序每一段对应一个初始纸片列位置,进行了求解。
然后,根据边缘碎纸片某些边的空白部分多的特征,对初始基因进行了优化。
接着,根据碎纸片的黑色像素密度不同的特点,将碎纸片分成三类,根据同类纸片优先匹配的原则,对遗传算法的运行过程进行了优化,拼接复原了附件3和附件4中纸片。
针对问题三,随着碎纸片量的增多,计算量急剧增加。
在上述拼接复原碎纸片的基础上,又引进了同行位置碎纸片的上部(或下部)空白位置宽度相近的聚类思想。
先对每个类内部拼接,在合并所有类并做一次整体拼接。
由于时间有限,我们未能完成最后一次的整体的拼接,但我们会在比赛后继续探究。
关键词:边缘矩阵匹配度函数遗传算法聚类一、问题重述碎片拼接实际用途已经越来越广泛,传统上拼接复原工作由人工完成,碎片拼接的准确率较高,但效率很低。
并且当碎片数量很大时,人工短时间内拼接出来几乎是不可能的。
所以开发碎纸的拼接技术,以提高拼接复原效率已成为越来越多人的期望。
现在,在碎纸片是规则的情况下,题目要求我们在以下条件建立碎纸片拼接复原模型和算法。
1.来自同一页印刷文字文件(中文、英文各一页)的碎纸机破碎纸片(仅纵切)拼接复原,并将附件1和附件2复原。
2.对碎纸机既纵切又横切文件的情形,将碎纸片拼接完整。
1. 对于给定的来自同一页印刷文字文件的碎纸机破碎纸片(仅纵切),建立碎纸片拼接复原模型和算法,并针对附件1、附件2给出的中、英文各一页文件的碎片数据进行拼接复原。
如果复原过程需要人工干预,请写出干预方式及干预的时间节点。
复原结果以图片形式及表格形式表达(见【结果表达格式说明】)。
用MATLAB 中的imread ()函数,把图片进行量化处理,得到对应能够反映出图像特性的矩阵。
每张图片是以72⨯1980的矩阵存在于matlab 软件中 量化即要求使用多大范围的数值来表示图像采样之后的每一个点。
量化的结果是图像能够容纳的颜色总数,它反映了采样的质量。
本文采用8位储存一个点,即相当于黑-白间可用0-255个状态进行描述,其中量化后的值越接近0,则表示该点的实际颜色越接近黑色;相反量化后的值越接近255,则表示该点的实际颜色越接近白色。
将19张碎纸片经matlab 数字化后得到19个72⨯1980的矩阵。
根据附件中碎纸片的编号顺序将19个矩阵合并为一个大小为)(19⨯721368⨯1980的矩阵,矩阵中的值,越接近0,则表示该值所对应点的实际颜色越接近黑色;相反该值越接近255,则表示该点的实际颜色越接近白色。
该矩阵如下A 所示:⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡212221212111=),(),(),(),(),(),(),(),(),(N M f M f M f N f f f N f f f A矩阵A 中各元素值即灰度满足条件为: ),(,),(N j M i j i f ≤≤1≤≤11≤≤0 (6.1.1)其中1980=M ,1368=N 。
假设第i 张纸片的第j 行第k 列数据为),(k j f i ,其中:⎩⎨⎧19≤≤172≤≤71-721980≤≤1)(i i k i j (6.1.2) 当71-72=i k 与i k 72=分别对应于第i 张纸片数字化后所对应矩阵的第一列与最后一列。
令)(,j w s i 为第i 张纸片的最后一列与第s 张纸片第一列第j 行数据的平方欧氏距离,该值为:271-72-72=)],(),([)(,s j f i j f j w s i s i (6.1.3)第一张碎纸片(未被纵切前最左边那张碎纸片)最左边边缘部分均为白色,经数字化处理后所对应矩阵的第一列数据值相同,在确定第一张后,采用平方欧氏距离。
碎纸片的拼接复原摘要本文研究了碎纸片的复原问题。
对已有的碎纸片,我们利用Matlab求碎纸片边各侧边线的灰度值,通过最小偏差平方和法进行碎纸片间的相互匹配,中间加入人工干预进行筛选,将附件中的碎纸片全部还原。
之后,我们将该方法进行推广,可用以处理更复杂形状碎图片的的还原问题。
对问题一:首先假定附件一所给仅纵切的碎纸片的行文方向与各碎纸片两侧边线垂直,在此基础上先人工干预,根据碎纸片的剪切规范,甄选出原始图片的第一张和最后一张碎纸片,编号分别为008和006。
其次通过Matlab求出图片边线处各小网格点的灰度值,采用最小偏差平方和法,对编号008碎片右边线处的灰度值和其它碎纸片的左边线处的灰度值进行对应网格点的数值匹配,找到最匹配的碎纸片。
附件二碎片的处理进行了类似处理,给出的复原图片见附表4。
对问题二:附件三文本既纵切又横切,同样我们假设所给附件三中碎纸片的行文方向与碎纸片的上下左右边线分别平行或垂直。
在问题一的算法基础上,通过Matlab求出各碎纸片的4条边线的边界灰度值,然后利用最小偏差平方和法,对上下左右四边进行灰度值匹配,当结果多个时,我们进行了人工干预。
附件四依照附件三的方法类似处理,最终的复原见附表7和附表9。
对问题三:附件五中的图片既纵切又横切而且是正反面。
我们参照问题一、二的处理方法,加入反面的灰度值测算,随机选择一张碎纸片与其他碎纸片进行遍历匹配,得出4张匹配的碎纸片后,以这4张碎纸片为下一起点,扩张匹配,最终给出的复原图见附表12。
为适应更一般的情形,我们在模型改进部分,给出了当碎纸片的文字行文方向与碎纸片两侧边线不垂直时的处理方法(只处理了边线为直线的情形)。
首先是通过测算出的碎纸片灰度值确定出碎纸片的边缘线,其次定出碎纸片边缘线附近网格点的灰度值,最后完成边线的的匹配。
关键词:人工干预灰度矩阵灰度值最小偏差平方和法一问题重述1.1问题背景纸片文字是人们获取和交换信息的主要媒介,尤其是在计算机技术飞速发展、数码产品日益普及的今天。
科学技术创新基于M A T LA B 的碎纸片拼接复原技术研究唐巧玲陈佳(内江师范学院,四川内江641100)1概述碎纸片自动拼接技术是图像处理和模式识别领域中一种典型的新型应用,通过扫描成像技术获得一组被撕开的纸张的形状和颜色,再由计算机获取相应的信息,并通过计算机对这些纸张进行全自动或半自动复原的技术[1]。
本文主要研究由竖条型碎纸机粉碎的碎纸片,因此每个碎纸片的边缘是齐整的,所以无法利用碎纸片的轮廓形状得到有价值的信息,只能利用碎纸片边缘的所承载的色彩信息,来获取有价值的信息,再经过一系列的处理,进而实现碎纸片的拼接复原[6]。
本文利用MATLAB 提取碎纸片图片对象,将其看成一个集合,在水平方向对比两个碎纸片的相似度,选出相似度最高的两个碎纸片拼接成新的碎纸片,对已拼接完成的一侧停止比较,只比较另一侧,直至拼接完成为止。
然后对计算机处理的结果进行分析,提高其匹配率[7-8]。
2碎纸片拼接技术的原理2.1图像预处理碎纸片自动拼接复原技术是图像处理和模式识别领域中的典型应用,这一项技术通过扫描与图像提取技术来获取碎纸片的颜色和形状等有用的信息,之后再利用计算机对提取的信息进行进一步的处理,从而达到碎纸片的全自动复原或者半自动复原的目的。
在碎纸片拼接复原过程中,最重要的就是图像的预处理和碎纸片的匹配,图像预处理就是把碎纸片转化成计算机可以识别和处理的数据,而碎纸片匹配是在这些处理后的数据基础之上进行的。
本文首先运用MATLAB 软件对碎纸片做图像预处理:调用函数imread 使图片转化成灰度矩阵,该灰度矩阵的每个元素为0到255的整数。
不同的数字代表不同的灰度级或者亮度,其中数字0表示黑色,数值255表示白色,而每个矩阵中的各个数据表示其对应碎纸片的一个像素,这些数据就展示了碎纸片的数字特征信息,本文通过分析碎纸片提取出来的数字矩阵的灰度信息,发现矩阵的第一列和最后一列,然后将碎纸片边缘转化生成的数字特征信息进行处理,并对每个矩阵进行两两比较,就可以找出相邻的碎纸片。
碎纸片拼接复原matlab程序碎纸片拼接复原是一项有趣且具有挑战性的问题,在计算机视觉和图像处理领域有着广泛的应用。
在本文中,我们将介绍如何使用MATLAB编写程序来实现碎纸片拼接复原。
碎纸片拼接复原的基本步骤包括图像分割、特征提取、相似度计算和拼接重建。
接下来,我们将逐步介绍这些步骤的具体实现。
1. 图像分割:首先,将输入的碎纸片图像分割为小块。
可以使用MATLAB的图像分割函数,如imsegkmeans或imbinarize,根据像素强度或颜色信息将图像分割为不同的区域。
2. 特征提取:对于每个碎纸片块,需要提取一组关键特征向量,用于描述碎纸片块的特征。
常用的特征包括颜色直方图、纹理特征和边缘特征等。
可以使用MATLAB的图像处理工具箱中的函数,如imhist或graycomatrix,来提取这些特征。
3. 相似度计算:根据提取的特征向量,需要计算每对碎纸片块之间的相似度。
常用的相似度度量方法包括欧氏距离、余弦距离和相关系数等。
可以使用MATLAB的统计工具箱中的函数,如pdist或corrcoef,来计算这些相似度。
4. 拼接重建:使用一种启发式算法来选择下一个最佳碎纸片块,并将其拼接到前一块上。
常用的启发式算法包括最小生成树、贪婪算法和遗传算法等。
可以使用MATLAB的优化工具箱中的函数,如graph和tspsearch,来实现这些算法。
通过以上步骤的循环迭代,直到所有碎纸片块都被拼接为止,即可完成碎纸片拼接复原的过程。
除了以上基本步骤,还可以考虑一些改进和优化的方法,以提高拼接复原的效果。
例如,可以引入图像分割的约束条件,限制特定碎纸片块只能与特定的邻居块拼接。
可以使用MATLAB的MatConvNet或DeepLearning工具箱中的函数,如CNN或RNN,来实现这些约束条件的学习和应用。
总的来说,使用MATLAB编写碎纸片拼接复原的程序需要熟悉图像处理和计算机视觉的相关知识,并结合MATLAB的图像处理和优化工具箱中的函数来实现各个步骤。
《数学建模教学资料》基于matlab的碎纸复原程序设计基于Matlab的碎纸拼接复原程序设计摘要: 破碎文件的拼接复原在司法物证复原、军事情报获取等领域都有着重要的应用,但是当碎片数量巨大时传统的人工拼接很难在短时间内完成任务。
为了提高复原准确性同时降低算法复杂度并尽量减少人工干预次数,综合各种算法的优缺点,基于最常用的软件Matlab,建立了以二值化法初步筛选匹配对象、再以灰度配准法精确确定匹配对象、并辅以像素匹配等手段进行复原成品检验的多层次碎纸片拼接复原模型。
由于图像扫描过程中不免存在误差,因此在模型求解前,首先对每类碎纸片扫描图像进行旋转、中值滤波去噪、锐化等预处理,以便得到边界信息较为准确的碎纸片数字化样本。
下面我们对于不同类型的碎纸分别阐述拼接复原程序的设计(原文件为A4纸,单面印刷):情形一: 对于仅被纵切后的碎纸:建立所有碎纸片的二值化矩阵(i=0,1,2...18),以作为算法运行的起始点,用Pearson相关系数法[6]对与AAAii0进行相关性分析,保留相关性大于阚值的碎纸片并剔除相关性较小的碎片,,,i,jAj然后用基于图像灰度的配准方法[1]对图像进行精确拼接并得到最终拼接序列(见正文表格5.2,表格5.3)。
对于中文文件,用基于像素匹配的检验法检验复原成品的准确性。
对于英文文件,用边缘特征标准差值来检验复原成品。
通过以上分析,得出最终完整的拼接复原图(见附录1,附录2)。
多层次的复原模型在处理问题一时,并不需要人工干预。
情形二: 对于既被纵切又被横切的碎纸:分两种情况:?中文文件。
基于“回”字结构,利用一页文件扫描后得到的图像边缘二值化数值均为1的特征,运用MATLAB软件将组成文件的所有碎片分为边界类与非边界类两类。
然后根据同一行中文字位置高度相同的特点,进一步进行多梯度的横向碎片分类以减少配准时的计算量。
最后用问题一中的模型进行碎片的拼接复原,得到整个页面的拼接顺序(见正文表格6.1),并用基于像素匹配的检验方法检验复原成品(见附录3)。
碎纸片的自动拼接复原技术学生姓名:班级:指导老师:摘要:破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有着重要的应用。
目前发现对碎纸片的拼接大部分由人工完成,准确率较高,但耗费大量人力财力及时间,效率很低。
随着计算机技术的发展,人们试图开发碎纸片的自动拼接技术,以提高拼接复原效率。
现先对仅纵切的碎纸片进行研究,开发出利用计算机,更便捷快速拼接碎纸片的方法。
本文首先对碎纸片的自动拼接复原问题建立相应的数学模型,利用图像的色彩特征建立图像灰度值矩阵,根据拼接特性找到其中可以拼接碎纸片的相关性,然后在matlab软件环境下进行编程、编译及调试,得到各碎纸片的正确拼接顺序后,对仅纵切的碎纸片进行拼接复原。
主要工作有以下几个方面:(1)用imread()函数读取各碎纸片的基本信息,建立灰度值矩阵(2)提取出每张图片第一列和最后一列的灰度值分别构成新矩阵(3)人工介入找出第一张待接图片(4)根据第一张待接图片的参考信息建立循环,得到碎纸片的拼接顺序(5)用imshow()函数显示新顺序的拼接结果,用以检查正确性关键词:碎纸片拼接复原matlab软件灰度值指导老师签名:Automatic splicing bits of paper recovery technologyStudent Name: Class:Instructor:Abstract:Splicing broken file evidence in judicial recovery, restoration of historical documents and access to military intelligence and other areas have important applications. Currently found on most of the completion of splicing bits of paper by hand, the accuracy rate is higher, but spend a lot of human and financial resources and time inefficient.With the development of computer technology, people trying to develop automatic splicing technology scraps of paper, in order to improve the recovery efficiency of splicing. Herewith on scraps of paper only longitudinal study, Developed the use of computers, and more convenient way to quickly stitching scraps of paper.In this paper, the first,according to the automatic stitching scraps of paper recovery issue to corresponding mathematical model, using the image of the Color characteristics to establish the image of gray value matrix, According to the characteristics, which can be found the correlation of the shredding pieces. Then programming, compiling, and debugging software environment in matlab, after the correct order of the torn pieces of mosaic, scraps of paper on the only longitudinal splicing recovery.(1)With imread () function reads the basic information for each scrap of paper, theestablishment of gray value matrix(2) read the first image of each row and the last column of the gray value of eachcomponent matrix(3) human intervention waiting to find out the first pictures(4)The first picture to be connected to create a circular reference information basedshredding order to get spliced film(5) With imshow () function to display the results of a new order of stitching to checkthe correctnessKeywords: scraps of paper Stitching recovery matlab Gray valueSignature Of Supervisor :目录第一章绪论1.1 碎纸拼接技术及项目背景 (2)1.2 国内外研究现状 (3)1.3 论文主要内容 (3)第二章MATLAB概述2.1 MATLAB产生的历史背景 (4)2.2 MATLAB的特点 (5)2.3 MATLAB在图像处理中的应用 (7)第三章数字图像处理3.1 数字图像处理技术简介 (9)3.1.1 数字图像处理的特点 (9)3.1.2 数字图像处理技术的研究内容 (10)3.1.3 数字图像处理技术的应用 (12)3.2 图像处理工具简介 (12)3.3 MATLAB中的图像类型及类型变换 (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年起开始着手还原这些档案。
碎纸片的拼接复原问题模型摘要本文研究的是碎纸片的拼接复原问题。
针对碎纸不同的裁剪特点,我们运用相关性系数法、聚类分析法等建立不同的模型来解决不同裁剪特点和不同纸张的复原问题。
针对问题一,我们利用图像数字化技术,借助MATLAB软件将题目中附件1,2所给的图片转化为灰度值矩阵,并作二值化处理,然后取出每个矩阵第一列和最后一列,采用相关系数分析的方法,计算每第一列和每最后一列相关系数,根据相关系数的大小确定相邻的图片,逐步确定各张图片的顺序,最后得到复原的图片。
中文文档拼接的顺序为:8,14,12,15,3,10,2,16,1,4,5,9,13,18,11,7,17,0,6,中文文档复原的结果见附录1;英文文档拼接的顺序为:3,6,2,7,15,18,11,0,5,1,9,13,10,8,12,14,17,16,4,英文文档复原结果见附录2。
针对问题二,同样,在将图片二值化处理后,我们运用聚类分析法将纵横裁剪后的图片进行行分类,经过人工干预后,获得需要的矩阵尺寸,然后根据图片的特点运用图片的上下边界和左右边界进行二次匹配,直到找到大致正确的图片排序;同时在必要时,进行二次人工干预,直到获得正确的图片排序。
关键词:碎纸片复原图像数字化相关性系数聚类法1 问题重述1.1 问题背景碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有着重要的应用。
然而,传统的拼接复原工作需由人工完成,准确率较高,但效率很低。
特别是当碎片数量巨大,人工拼接很难在短时间内完成任务。
随着计算机技术的发展,人们试图开发碎纸片的自动拼接技术,以提高拼接复原效率。
本题即是通过一些模型算法开展对碎纸自动拼接技术的研究,具有重要的现实意义。
1.2 要解决的问题问题一:对于给定的来自同一页印刷文字文件的碎纸机破碎纸片(仅纵切),建立碎纸片拼接复原模型和算法,并针对附件1、附件2给出的中、英文各一页文件的碎片数据进行拼接复原。
如果复原过程需要人工干预,要求写出干预方式及干预的时间节点。
碎纸片的拼接复原摘要本文利用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给出的中、英文各一页文件的碎片数据进行拼接复原。
碎纸片拼接复原是一个有趣的图像处理问题,通常需要使用计算机视觉或图像处理技术。
下面是一个简单的 MATLAB 程序示例,用于演示碎纸片拼接复原的基本思路。
请注意,这只是一个简单的示例,实际应用中可能需要更复杂的算法和技术。
这个简单的 MATLAB 程序包含了三个函数:
1.shredImage: 将原始图像切成碎片。
2.shufflePieces: 随机打乱碎纸片的顺序。
3.reconstructImage: 进行拼接复原。
请注意,这只是一个基本的示例,实际应用中可能需要更复杂的图像处理技术,例如特征匹配、拼接算法等。