急求2013年全国大学生数学建模竞赛B题 未发表、未获奖 的文章,悬赏50财富值

急求2013年全国大学生数学建模竞赛B题 未发表、未获奖 的文章,悬赏50财富值,第1张

急求2013年全国大学生数学建模竞赛B题 未发表、未获奖 的文章,悬赏50财富值 2013高教社杯全国大学生数学建模竞赛B题评阅要点[说明]本要点仅供参考,各赛区评阅组应根据对题目的理解及学生的解答,自主地进行评阅。本题要求对数据提取合适的特征、建立合理有效的碎纸片拼接复原模型。可以考虑的特征有邻边灰度向量的匹配、按行或按列对灰度求和、行距等。关于算法模型,必须有具体的算法过程(如流程图、算法描述、伪代码等)及设计原理。虽然正确的复原结果是唯一的,但不能仅从学生提供的复原效果来评定学生解答的好坏,而应根据所建的数学模型、求解方法和计算结果(如复原率)三方面的内容做出评判。另一方面,评判中还需要考虑人工干预的多少和干预时间节点的合理性。问题1.仅有纵切文本的复原问题由于“仅有纵切”,碎纸片较大,所以信息特征较明显。一种比较直观的建模方法是:按照某种特征定义两条碎片间的(非对称)距离,采用最优Hamilton路或最优Hamilton圈(即TSP)的思想建立优化模型。关于TSP的求解方法有很多,学生在求解过程中需要注意到非对称距离矩阵或者是有向图等特点。还可能有种种优化模型与算法,只要模型合理,复原效果好,都应当认可。本问题相对简单,复原过程可以不需要人工干预,复原率可以接近或达到100%。问题2. 有横、纵切文本的复原问题一种较直观的建模方法是:首先利用文本文件的行信息特征,建立同一行碎片的聚类模型。在得到行聚类结果后,再利用类似于问题1中的方法完成每行碎片的排序工作。最后对排序后的行,再作纵向排序。本问题的解法也是多种多样的,应视模型和方法的合理性、创新性及有效性进行评分。例如,考虑四邻近距离图,碎片逐步增长,也是一种较为自然的想法。问题3.正反两面文本的复原问题这个问题是问题2的继续,基本解决方法与问题2方法相同。但不同的是:这里需要充分利用双面文本的特征信息。该特征信息利用得好,可以提升复原率。 在阅卷过程中,可以考虑学生对问题的扩展。例如,在模型的检验中,如果学生能够自行构造碎片,用以检验与评价本队提出的拼接复原模型的复原效果,可考虑适当加分。阅卷时应有程序,程序的运行结果应和论文给出的结果一致。clear %释放空间clc %清屏%图片数据读取left_col = [];right_col = [];for fp = 0 : 208 str = int2str(fp); if fp < 10 name = ['0' '0' str '.bmp']; elseif fp >= 10 & fp < 100 name = ['0' str '.bmp']; else name = [str '.bmp']; end a = imread(name); [m,n] = size(a); left_col = [left_col a(:,1)]; right_col = [right_col a(:,n)];end%读取完毕left_col = double(left_col);%类型转换right_col = double(right_col);% 找纸片最左边(left_col)像素全为255(空白)的所有列row = 1;for bi=1:209; number=length(find(left_col(:,bi)==255)); if number == 180 S(row,1)=bi;%保存第一列像素为空(灰度值:255)的放在数组S第一列 row = row + 1; endendS = [S(:,1) zeros(row-1,18)];%矩阵初始化O = [ones(row-1,19)]; %初始化一个单位矩阵sign = 1;w = 0;for r=1:row-1;%行 for p=1:18;%列p+1 num = 10000000000;%使num足够大 for j=1:209; count = 0; count = length(find(S==j));%除去重复 if count ~= 0 continue; else blank = length(find(right_col(:,S(r,p)) == 255));%如果碎纸片右边界全为255(即空白),则跳出,终止此行后面拼接 if blank == 180 sign = 0; break;%跳出本循环,进入p循环 else ri=right_col(:,S(r,p));%计算左右拼接精确度 le=left_col(:,j); c=ri-le; c = c.^2; error=sum(c(:)); end if num >= error %找出差值最小的,精确度最高 num = error; w = j; end end end if sign == 0 sign = 1; break; %跳出p循环,进入r循环 else S(r,p+1)=w; %二维数组储存每个碎纸片拼接位置 end endendS = S - O; %数据整理,图片从000.bmp开始,数组下标从1开始//////////////////////////////////////////////////////////////////////////第三题碎纸片特征分类代码:clear %释放空间clc %清屏%图片数据读取char namea = (209,7);char nameb = (209,7);for fpa = 0 : 208 str = int2str(fpa); if fpa < 10 fpa = fpa + 1; namea(fpa,:) = ['0' '0' str 'a.bmp']; elseif fpa >= 10 & fpa < 100 fpa = fpa + 1; namea(fpa,:) = ['0' str 'a.bmp']; else fpa = fpa + 1; namea(fpa,:) = [str 'a.bmp']; endendfor afp = 1:209 a= imread(namea(afp,:)); fdataa(:,:,afp) = a;end%%%读取反面b的数据for fpb = 0 : 208 str = int2str(fpb); if fpb < 10 fpb = fpb + 1; nameb(fpb,:) = ['0' '0' str 'b.bmp']; elseif fpb >= 10 & fpb < 100 fpb = fpb + 1; nameb(fpb,:) = ['0' str 'b.bmp']; else fpb = fpb + 1; nameb(fpb,:) = [str 'b.bmp']; endendfor bfp = 1:209 b= imread(nameb(bfp,:)); fdatab(:,:,bfp) = b;end%读取完毕%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%qfdataa = ~fdataa; %取反qfdatab = ~fdatab; %取反for lj = 1:209 %行累加求和 Ldataa(:,lj) = sum(qfdataa(:,:,lj),2); %正面(a)累加求和 Ldatab(:,lj) = sum(qfdatab(:,:,lj),2); %反面(b)累加求和endLdataa(Ldataa>0)=1; %正面归一化Ldatab(Ldatab>0)=1; %反面归一化%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 数据分类 横向 正面(a)分类for flta = 1:209; for pflta = 1:209 numa = 0; for flha = 1:180; if Ldataa(flha,flta) == Ldataa(flha,pflta) numa = numa + 1; end end tsavea(flta,pflta) = numa; %保存每两张图片之间的匹配度 endend% 数据分类 横向 反面(b)分类for fltb = 1:209; for pfltb = 1:209 numb = 0; for flhb = 1:180; if Ldatab(flhb,fltb) == Ldatab(flhb,pfltb) numb = numb + 1; end end tsaveb(fltb,pfltb) = numb; %保存每两张图片之间的匹配度 endend%%%%%%%%%%%%%%%%%%%%%%%%总匹配度%tsave = (tsavea + tsaveb)/2;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 找纸片最左边(left_col)像素全为255(空白)的所有列% fdataa = double(fdataa);% fdatab = double(fdatab);row = 1;for bi=1:209; number=length(find(fdataa(:,1,bi)~=0 & fdatab(:,72,bi)~=0)); if number == 180 S(row,1)=bi;%保存第一列像素为空(灰度值:255)的放在数组S第一列 row = row + 1; endendS = [S(:,1) zeros(row-1,18)];%矩阵初始化O = [ones(row-1,19)]; %初始化一个单位矩阵%%%%%%%%%%%%%%%%%%

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/3735132.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-10-15
下一篇 2022-10-15

发表评论

登录后才能评论

评论列表(0条)

保存