2013关于数学建模B题_碎纸片拼接技术

合集下载

2013年数学建模碎纸片的拼接复原模型

2013年数学建模碎纸片的拼接复原模型

承诺书我们仔细阅读了《全国大学生数学建模竞赛章程》和《全国大学生数学建模竞赛参赛规则》(以下简称为“竞赛章程和参赛规则”,可从全国大学生数学建模竞赛网站下载)。

我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。

我们知道,抄袭别人的成果是违反竞赛章程和参赛规则的,如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。

我们郑重承诺,严格遵守竞赛章程和参赛规则,以保证竞赛的公正、公平性。

如有违反竞赛章程和参赛规则的行为,我们将受到严肃处理。

我们授权全国大学生数学建模竞赛组委会,可将我们的论文以任何形式进行公开展示(包括进行网上公示,在书籍、期刊和其他媒体进行正式或非正式发表等)。

我们参赛选择的题号是(从A/B/C/D中选择一项填写): B我们的参赛报名号为(如果赛区设置报名号的话):所属学校(请填写完整的全名):参赛队员 (打印并签名) :1.2.3.指导教师或指导教师组负责人 (打印并签名):(论文纸质版与电子版中的以上信息必须一致,只是电子版中无需签名。

以上内容请仔细核对,提交后将不再允许做任何修改。

如填写错误,论文可能被取消评奖资格。

)日期: 2013 年 9 月 10 日赛区评阅编号(由赛区组委会评阅前进行编号):编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):全国评阅编号(由全国组委会评阅前进行编号):碎纸片的拼接复原模型摘要:本文针对碎纸片的拼接复原问题,提出了互相关匹配模型。

首先对附件图片数值化处理并建立矩阵;然后根据图像页边距特点定位最左边和最右边的碎片;按照每张碎片中的文字部分所在位置,提取同一行碎片,利用互相关函数横向拼合。

在第一问中,附件一、二仅作横向相关性比较即可;在第二、三问中,需要提取同一行碎片横向拼接,并将横向拼合完整的碎片进行竖向拼合,经过人工干预得到结果。

碎纸片的拼接复原2013全国数学建模竞赛——碎纸片拼接复原

碎纸片的拼接复原2013全国数学建模竞赛——碎纸片拼接复原

碎纸片的拼接复原 2013全国数学建模竞赛——碎纸片拼接复原导读:就爱阅读网友为您分享以下“2013全国数学建模竞赛——碎纸片拼接复原”的资讯,希望对您有所帮助,感谢您对的支持!2013高教社杯全国大学生数学建模竞赛重庆工商大学姜木北小组作品编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):赛区评阅记录(可供赛区评阅时使用):全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号)碎纸片的拼接复原摘要目前,“碎片拼接复原”技术在司法物证复原、历史文物修复及社会生活各项领域扮演着重要角色,对于碎片数量特别巨大而人工又难以在短时间内完成碎片拼接时,要找到一种高效快捷的自动拼接方法已变得尤为重要。

本文针对只有中英文的碎片拼接问题,综合分析了从单一的纵切到纵横切以及纵横切双面碎片这三个不同的情况,提出了碎片拼接复原的解决方案.在问题一中,对于仅有“纵切”且数量相对较少的碎纸片,我们基于边缘去噪和采用构建碎纸图片的左右边缘二值矩阵提取相似度分析的方法,再通过两张图片左右相似度匹配排序,得到附件1和附件2中的碎纸排序(见表2和表3),并运用Matlab的图像处理工具箱,按排列顺序导入碎纸片得到相应拼接结果(见附录附件一).在问题二中,由于碎纸片数量相对较多,同时存在横切和纵切的情况,在问题一的基础上增加了碎纸片的上下边缘相似度匹配。

在进行人工干预,找到第一张起始碎纸片作为匹配起点后,我们基于索贝尔算子的原理,对碎纸片灰度值进行边缘相似度的旋转检测和比较匹配,最后进行二叉树搜索排序(见表4和表5)。

对附件3和4的碎纸图片拼接出的结果详见附录中的附件二.在问题三中,由于碎纸片是两面的并且碎纸片数量更多,若采用第二问的求解方案则加大了求解难度同时也存在较大误差。

因此,我们基于蚁群算法(ACA)的SIFT特征点匹配原理来求解。

先提取碎纸图片特征点,然后基于蚁群算法的最优化快速比对匹配,最后基于ACA的搜索排序对碎纸片拼接。

2013年数学建模

2013年数学建模

碎纸片的拼接复原
摘要
碎纸片的拼接复原主要采集碎纸片边缘信息的挖掘,利用碎纸片边缘构造特征因子,利用特征因子来描述碎片边缘的行列特征,然后根据碎纸片边缘提供的信息进行调整,并对贪心算法进行改进,找到有效克服局部最优解的拼接算法。

问题1:首先,纸片采取的是纵向切割,利用matlab软件对纸片左右边缘提取1980×2个像素点,直接利用边缘像素点的差异性来定义匹配度。

然后用改进贪心算法寻找最短路径,最后碎片复原时进行部分人工干预,成功复原附件1和附件2的碎纸片。

问题2:对附件3,4中的张碎片边缘提取180×72个像素点,对此,为了提高碎纸片的匹配精度,本文引入评估函数区别对待黑白区内的不同匹配,借助评估函数重新定义匹配度,使得较少的边缘信息将碎片分为19类,同时采用问题1与改进的贪心算法寻找捷径,将这一类的碎片复原,其他18类同理。

最后整理剩下的19类的碎片,采取好19类上下边缘的灰度矩阵和行距特征,利用以上的特征,引用人机交互拼接方法,成功复原附件3,附件4的碎纸片。

问题3:
关键词:特征因子,灰度矩阵,贪心算法,拼接,人工干预
问题的重述与分析。

2013年全国数学建模大赛获奖论文碎纸片的拼接复原.

2013年全国数学建模大赛获奖论文碎纸片的拼接复原.

承诺书我们仔细阅读了《全国大学生数学建模竞赛章程》和《全国大学生数学建模竞赛参赛规则》(以下简称为“竞赛章程和参赛规则”,可从全国大学生数学建模竞赛网站下载)。

我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。

我们知道,抄袭别人的成果是违反竞赛章程和参赛规则的,如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。

我们郑重承诺,严格遵守竞赛章程和参赛规则,以保证竞赛的公正、公平性。

如有违反竞赛章程和参赛规则的行为,我们将受到严肃处理。

我们授权全国大学生数学建模竞赛组委会,可将我们的论文以任何形式进行公开展示(包括进行网上公示,在书籍、期刊和其他媒体进行正式或非正式发表等)。

我们参赛选择的题号是(从A/B/C/D中选择一项填写): B我们的参赛报名号为(如果赛区设置报名号的话):所属学校(请填写完整的全名):参赛队员(打印并签名) :1. 卢丽丹2. 王雪梅3. 国占飞指导教师或指导教师组负责人(打印并签名):指导教师组(论文纸质版与电子版中的以上信息必须一致,只是电子版中无需签名。

以上内容请仔细核对,提交后将不再允许做任何修改。

如填写错误,论文可能被取消评奖资格。

)日期:年月日赛区评阅编号(由赛区组委会评阅前进行编号):编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):碎纸片的拼接复原摘要本文主要研究碎纸片拼接复原的问题,它实质上是建立特征数组并利用C语言进行比较。

在问题1中,建立了以每个边缘像素到原点距离的特征数组;通过比较边缘像素,以距离比较的方法得到各个图象的特征数组相似度的大小并以此建立模型1。

具有最大相似度的图片认为其匹配。

对于问题2,由于出现精度太低的情况,所以我们对问题1进行了改进,由于问题2图片横纵切。

2013 数模国赛 B题 碎纸片的拼接复原

2013 数模国赛 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给出的中、英文各一页文件的碎片数据进行拼接复原。

2013关于数学建模B题,碎纸片拼接技术

2013关于数学建模B题,碎纸片拼接技术

承诺书我们仔细阅读了《全国大学生数学建模竞赛章程》和《全国大学生数学建模竞赛参赛规则》(以下简称为“竞赛章程和参赛规则”,可从全国大学生数学建模竞赛网站下载)。

我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。

我们知道,抄袭别人的成果是违反竞赛章程和参赛规则的,如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。

我们郑重承诺,严格遵守竞赛章程和参赛规则,以保证竞赛的公正、公平性。

如有违反竞赛章程和参赛规则的行为,我们将受到严肃处理。

我们授权全国大学生数学建模竞赛组委会,可将我们的论文以任何形式进行公开展示(包括进行网上公示,在书籍、期刊和其他媒体进行正式或非正式发表等)。

(论文纸质版与电子版中的以上信息必须一致,只是电子版中无需签名。

以上内容请仔细核对,提交后将不再允许做任何修改。

如填写错误,论文可能被取消评奖资格。

)日期: 2013 年 9 月 16 日赛区评阅编号(由赛区组委会评阅前进行编号):编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):赛区评阅记录(可供赛区评阅时使用):全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):碎纸片的拼接复原摘要本文主要结合司法鉴定这一应用背景,对于给定的来自同一页印刷文字的碎纸机破碎纸片,建立模型,并对其进行拼接复原。

针对问题一:首先,拼接碎片前对碎片图像要进行灰度处理。

其次,利用Matlab编程获取碎纸片边界特征,进而获取碎纸片内文字行方向、间距等文字行特征。

再次,利用最小二乘原理对碎纸片边界进行差值处理,同时,对处理后的数据进行了筛选,剔除异常数据,筛选出最小数据。

最后,对所筛选出的数据进行人工干预。

针对问题二:对于碎纸机既纵切又横切的情形,碎片内文字图像的个数是获取文字行方向的关键。

2013国赛 碎纸片的拼接复原数学建模B解题思路分析

2013国赛 碎纸片的拼接复原数学建模B解题思路分析

2, 图片为文字,所以可以确认文字的形状,但大多为残字,故 可以补全剩余部分。 #根据残字,进行文字预算,找到字体可能是的字,补全字体,找图 片能补全的部分。 3, 图片文字都为从左到右书写,有固定的行。 #文字又从左到右书写,故可以对字的上下画线,从而将文字的拼接, 改为图形线性的匹配。 4,图片可能正反双面,也就是说可以双向确定但是,由于不知道什 么是正面,什么是反面,所以无法确定,故可以将其当做一副。 #广范围查询。 ¥还可以计算他的下一个或上一个字的位置。
பைடு நூலகம்
故可以对字的上下画线从而将文字的拼接4图片可能正反双面也就是说可以双向确定但是由于不知道什么是正面什么是反面所以无法确定故可以将其当做一副
残纸碎片平拼接
图片信息:
1, 图片边缘完整,语言不是普通话,故无法用语法辨别。 2, 图片为文字,所以可以确认文字的形状,但大多为残 字,故可以补全剩余部分。 3, 图片文字都为从左到右书写,有固定的行。 4,图片可能正反双面,也就是说可以双向确定但是,由 于不知道什么是正面,什么是反面,所以无法确定,故可 以将其当做一副。

(完整word版)2013年数学建模b题

(完整word版)2013年数学建模b题

精心整理碎纸片的拼接复原【摘要】:碎纸片拼接技术是数字图像处理领域的一个重要研究方向,把计算机视觉和程序识别应用于碎纸片的复原,在考古、司法、古生物学等方面具有广泛的应用,具有重要的现实意义。

本文主要结合各种实际应用背景,针对碎纸机绞碎的碎纸片,基于计算机辅助对碎纸片进行自动拼接复原研究。

针对问题1,依据图像预处理理论,通过matlab程序处理图像,将图像转化成适合于计算机处理的数字图像,进行灰度分析,提取灰度矩阵。

对于仅纵切的碎纸片,根据矩阵的行提取理论,将。

建中的任一列与矩阵值,序列号。

将程序进行循环操作,得到最终的碎片自动拼接结果。

、;分别作为新生成的矩阵、。

,将矩阵中的任一列分别与矩阵中每一列代入模型,所得p值对应的值即为横排序;将矩阵中的任一行分别于矩阵中的任一行代入模型,所得q值对应的值即为列排序。

循环进行此程序,得计算机的最终运行结果。

所得结果有少许误差,需人工调制,更正排列顺序,得最终拼接结果。

针对问题3,基于碎纸片的文字行列特征,采用遗传算法,将所有的可能性拼接进行比较,进行择优性选择。

反面的排序结果用于对正面排序的检验,发现结果有误差,此时,进行人工干预,调换碎纸片的排序。

【关键词】:灰度矩阵欧式距离图像匹配自动拼接人工干预一、问题重述破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有着重要的应用。

传统上,大量的纸质物证复原工作都是以人工的方式完成的,准确率较高,但效率很低。

特别是当碎片数量巨大,人工拼接不但耗费大量的人力、物力,而且还可能对物证造成一定的损坏。

随着计算机技术的发展,人们试图把计算机视觉和模式识别应用于碎纸片复原,开展对碎纸片自动拼接技术的研究,以提高拼接复原效率。

试讨论一下问题,并根据题目要求建立相应的模型和算法:、附件4(1)(2)(3)(4)纸片的自动拼接。

问题1:根据图像预处理理论,通过程序语言将图像导入matlab程序,对图像进行预处理,将碎纸片转换成适合于计算机处理的数字图像形式,并对数字图像进行灰度分析,提取灰度矩阵。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

纸片的拼接复原摘要本文主要结合司法鉴定这一应用背景,对于给定的来自同一页印刷文字的碎纸机破碎纸片,建立模型,并对其进行拼接复原。

针对问题一:首先,拼接碎片前对碎片图像要进行灰度处理。

其次,利用Matlab编程获取碎纸片边界特征,进而获取碎纸片内文字行方向、间距等文字行特征。

再次,利用最小二乘原理对碎纸片边界进行差值处理,同时,对处理后的数据进行了筛选,剔除异常数据,筛选出最小数据。

最后,对所筛选出的数据进行人工干预。

针对问题二:对于碎纸机既纵切又横切的情形,碎片内文字图像的个数是获取文字行方向的关键。

首先,对碎纸片进行预处理,即对物体碎片灰度处理,得到碎纸片的数字图像;其次,利用算法进行碎纸片匹配,通过匹配算法找到相互匹配的碎纸片;最后进行碎纸片的拼接复原,将相互匹配的碎纸片拼接在一起,得到最终的结果。

针对问题三:由于该碎片数据是英文印刷文字双面打印文件的碎片数据,故首先对碎纸片进行灰度处理,拼接出复原图的边界,其次进行碎纸片的相互匹配,通过匹配算法找到相互匹配的碎纸片,接着进行拼接复原,最后对异常数据进行整理。

该题的关键是,建立稳定性模型,利用计算机编程,研究碎纸片的拼接复原,这些方法所得出的结果与实际情况较符合,因此我们可以对这些模型的应用作出一定的推广。

但是由于数据量比较大,人工干预又占有一定的比重,所以在现实生活中还有一定的局限性。

关键词:拼接还原灰度处理筛选匹配算法人工干预最小二乘法一、问题重述1.1问题背景破碎文件的拼接在司法物证复原、历史文献修复以及军事情报获取等领域都有着重要的应用。

传统上,拼接复原工作需由人工完成,准确率较高,但效率很低。

特别是当碎片数量巨大,人工拼接很难在短时间内完成任务。

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

1.2问题提出请讨论以下问题:1. 对于给定的来自同一页印刷文字文件的碎纸机破碎纸片(仅纵切),建立碎纸片拼接复原模型和算法,并针对附件1、附件2给出的中、英文各一页文件的碎片数据进行拼接复原。

如果复原过程需要人工干预,请写出干预方式及干预的时间节点。

复原结果以图片形式及表格形式表达(见【结果表达格式说明】)。

2. 对于碎纸机既纵切又横切的情形,请设计碎纸片拼接复原模型和算法,并针对附件3、附件4给出的中、英文各一页文件的碎片数据进行拼接复原。

如果复原过程需要人工干预,请写出干预方式及干预的时间节点。

复原结果表达要求同上。

3. 上述所给碎片数据均为单面打印文件,从现实情形出发,还可能有双面打印文件的碎纸片拼接复原问题需要解决。

附件5给出的是一页英文印刷文字双面打印文件的碎片数据。

请尝试设计相应的碎纸片拼接复原模型与算法,并就附件5的碎片数据给出拼接复原结果,结果表达要求同上。

二、模型假设1、碎纸机切割图片是垂直的。

2、碎纸机切割的碎纸片大小相同、质地均匀。

3、所有的碎纸片由同一碎纸机切割。

4、每个附件中所有的碎纸片来自于同一页文字文件。

三、问题分析3.1问题一的分析问题一的关键在于建立碎纸片拼接复原模型以及算法。

首先,对于附件1,2中的图片进行灰度处理,破碎图片仅为纵切,故将图片的边界进行差值和处理,匹配度最高的差值和为0,进而可以对所有数据进行筛选,最终得到复原图。

3.2问题二的分析与问题一相比较,问题二中对碎纸片采取既纵切又横切的切割方式,而且相对于附件1,2,附件3,4的数据量比较大,但总体原理和问题一基本一致,只需在考虑纵切后再进行横切即可。

3.3问题三的分析与问题一、二相比较,问题三中给出的附件5中图片来源于双面打印文件的碎片数据,并且数据量与上述相比更海量。

所以本题首先考虑的是将大量数据导入到计算机中,然后将边界部分筛选出来,剩下的图片按照匹配算法进行进一步拼接,最后对异常数据进行人工干预即可。

四、建模过程4.1问题一4.1.1.1附件1建模过程对附件1中的图片进行灰度处理,再进行差值、求和等运算,从而取出最匹配两张图片,以此循环、比较下去,从而得到匹配的排列顺序。

具体Matlab程序见附件一。

4.1.1.2求解过程c矩阵中第7行元素全部为0,为异常数据,所以首先进行c(7,:)=[]对数据进行筛选,接下来在Matlab中运行出的min(c)是1×18的矩阵,将得到的矩阵中的数字在原始的矩阵c(即还未提取第7行元素)中找到对应数字,进而找到该数字在矩阵中的序列,如第一个数字是第一列中第18个数,即18-1。

第二个数字是第二列中第17个数,即17-2。

依次类推,得到所有序列,即18-1,17-2,11-3,16-4,2-4,5-6,1-7,12-8,13-9,6-10,4-11,19-12,15-13,10-14,9-15,13-16,3-17,8-18,14-19.由于图片序号从000开始,故进行人工干预,对所得到的数据对应各自减1,得到 17-0,16-1,10-2,15-3,1-3,4-5,0-6,11-7,12-8,5-9,3-10,18-11,14-12,9-13,8-14,12-15,2-16,7-17,13-18,对这19组数据进行排序即:15-3-10-2-16-1-4-5-9-13-18-11-7-17-0-6;然后对排序后剩余的两段数据12-8,14-12-15进行人工干预,最后可得到的正确顺序为:复原图片见附录一;4.1.2.1附件2建模过程对于附件2,主要程序和附件一是相同的,需把程序中图片导入的路径中‘附件1’改为‘附件2’,在程序运行中,矩阵c中第5行元素全部为0,为异常数据,故将附件1中的‘c(7,:)=[]’语句需要修改为‘c(5,:)=[]’。

具体程序见附件二。

4.1.2.2建模求解c矩阵中第5行元素全部为0,为异常数据,所以首先进行c(5,:)=[]对数据进行筛选,接下来在Matlab中运行出的min(c)是1×18的矩阵,将得到的矩阵中的数字在原始的矩阵c(即还未提取第7行元素)中找到对应数字,进而找到该数在矩阵中的序列,如第一个数字是第一列中第12个数,即12-1。

第二个数字是第二列中第6个数,即6-2。

依次类推,得到所有序列,即12-1,6-2,7-3,12-4,17-4,1-6,4-7,3-8,11-9,2-10,14-11,19-12,9-13, 10-14,13-15,12-16,18-17,15-18,16-19.由于图片序号从000开始,故进行人工干预,对所得到的数据对应各自减1,得到 11-0,5-1,6-2,11-3,16-4,0-5,3-6,2-7,10-8,1-9,13-10,18-11,8-12,9-13,12-14,11-15,17-16,14-17,15-18,对这19组数据进行排序即:15-18-11-0-5-1-9-13-10-8-12-14-17-16-4;然后对排序后剩余的两段数据11-3-6-2-7,11-15进行人工干预,最后可得到的正确顺序为:复原图片见附录二。

4.2问题二 4.2.1建立模型为提高分析的准确性,假设碎纸片文字与文字之间有间隔,汉字宽度与高度比值1/3~3。

这就意味着每个文字图像和与其他文字图像之间有空白点,文字图像宽度与高度比值1/3~3 之间。

碎片内文字图像经上述预处理后,首先碎片像素高度为H ,每行的像素宽度保存在数组pntCnt(k),(k=1,2,3,…,H)内,每行的空白点数保存在数组blankCnt(k),( k=1,2,3,…,H)内,总的文字图像个数变量设为CharSum,文字行高度和变量为CharHeight,令他们的初值为0,即CharSum →0,CharHeight →0,则 文字图像个数和文字行高和可按下述算法计算: (1)k →0,表示从碎片最低点开始从上往下扫描。

(2)k ←k+1,判断k >H 否,如果大于,结束,否则转(3)。

(3)判断pntCnt (k )<72否,也即判断该行碎片宽度是否小于72个像素宽度,如果小于,转(2),否则转(4)。

(4)判断pntCnt (k )-blankCnt (k )<5否,也即判断该行白点个数与该行像素点宽度的差是否在5范围内,小于5,表示该行是空白行,转(5),否则表示不是空白行,转(2)。

(5)记下改行的序号1k ,寻找下一个空白行号2k ,判断2k 是否存在,如果存在,转(6),否则表示扫描到最高点,扫描过程结束。

(6)计算行2,1k k 内的文字图像个数m ,注意文字图像的宽度与高度(12k k -)的比值应是1/3~3之间,不在此比值范围的图像不应统计。

(7)判断m >0否,大于则Charsum →Charsum+m ,CharHeight →CharHeight+12k k -,转(8),如果m 等于0,不累加文字总个数和文字行高度,也转(8),显然21k k 行位置就是文字行的位置。

(8)K →2k ,寻找下一个序号为3k 的空白行,3k 应该小于H ,同时第3k +1行不是空白点行,如果存在3k ,则k →3k -1,转(2),否则结束。

计算出文字图像个数总数Charsum 和文字行高度CharHeight 后,考虑到碎片内文字行高度和小于碎片像素高度,而碎片像素高度一般远小于10000,可以将这两个数按公式Charsum×10000+CharHeight合并成一个数,然后对合并数进行排序,这样能更有效地选取字数最多,行高和最小的目标方向。

而对于本题的附件3,附件4中所有的图片都是宽度为72像素,高度为180像素的图片,所以做起来相对容易一些。

4.2.2建模求解附件3的正确顺序为:复原图片见附录三。

附件4的正确顺序为:191 75 11 154 190 184 2 104 180 64 106 4 149 32 204 65 39 67 147 201 148 170 196 198 94 113 164 78 103 91 80 101 26 100 6 17 28 146 86 51 107 29 40 158 186 98 24 117 150 5 59 58 92 30 37 46 127 19 194 93 141 88 121 126 105 155 114 176 182 151 22 57 202 71 165 82 159 139 1 129 63 138 153 53 38 123 120 175 85 50 160 187 97 203 3120 41 108 116 136 73 36 207 135 15 76 43 199 45 173 79 161 179 143208 21 7 49 61 119 33 142 168 62 169 54 192 133 118 189 162 197 11270 84 60 14 68 174 137 195 8 47 172 156 96 23 99 122 90 185 109132 181 95 69 167 163 166 188 111 144 206 3 130 34 13 110 25 27 178171 42 66 205 10 157 74 145 83 134 55 18 56 35 16 9 183 152 4481 77 128 200 131 52 125 140 193 87 89 48 72 12 177 124 0 102 115复原图片见附录四。

相关文档
最新文档