求2013年数学建模国赛B题附件3拼接答案。题

如题。急。多多益善。

去交流群看看,我找到代码了,可是执行不了。
clear;

I=imread('附件1');

if(isgray(I)==0)
disp('请输入灰度图像,本程序用来处理128 *128的灰度图像!');
else
if (size(I)~=[128,128])
disp('图像的大小不合程序要求!');
else
H.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;
end
rows = (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
[i,j]=find(S); % 用来寻找四叉机分解结果中大小为S的块的位置
set(meansImageHandle,'CData',ComputeMeans(I,S)); % 显示分解结果块均值图像
Numberofbloks=length(i); %计算块数

%sizev=size(v);
end
end

程序2

其实很简单的,看懂下面的语句:
PicName1='a.jpg'; % 要合并的图片1

PicName2='b.jpg'; % 要合并的图片2

PicOut='c.jpg'; %合并的结果
IV1=imread(PicName1); % 读入图片1

IV2=imread(PicName2); % 读入图片2

PicData=[IV1; IV2]; % 如果是纵向拼接用这个
PicData=[IV1 IV2]; % 如果是横向拼接用这个
imwrite(PicData, PicOut, 'Quality', 75); % 输出图形\附件1\');

if(isgray(I)==0)
disp('请输入灰度图像,本程序用来处理128 *128的灰度图像!');
else
if (size(I)~=[128,128])
disp('图像的大小不合程序要求!');
else
H.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;
end
rows = (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
[i,j]=find(S); % 用来寻找四叉机分解结果中大小为S的块的位置
set(meansImageHandle,'CData',ComputeMeans(I,S)); % 显示分解结果块均值图像
Numberofbloks=length(i); %计算块数

%sizev=size(v);
end
end

程序2

其实很简单的,看懂下面的语句:
PicName1='a.jpg'; % 要合并的图片1

PicName2='b.jpg'; % 要合并的图片2

PicOut='c.jpg'; %合并的结果
IV1=imread(PicName1); % 读入图片1

IV2=imread(PicName2); % 读入图片2

PicData=[IV1; IV2]; % 如果是纵向拼接用这个
PicData=[IV1 IV2]; % 如果是横向拼接用这个
imwrite(PicData, PicOut, 'Quality', 75); % 输出图形
【希望采纳】
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-09-14
同学你好,我们已经记录了你的ip地址以及你的参赛学校,并向相关单位提交了查询。
根据《全国大学生数学建模竞赛参赛规则》第五条:“抄袭是严重违反竞赛规则的行为,有抄袭行为的参赛队在全国和赛区评阅时视为严重违反竞赛纪律;竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人,包括指导教师,研究及讨论与赛题有关的问题,否则也视为严重违反竞赛纪律。”
第2个回答  2013-09-13

请下载附件参考吧,里面有8个文件,针对B题碎片拼接的matlab代码和文献

 

我能帮的只有这么多了,满意还望采纳

本回答被网友采纳
第3个回答  2013-09-14

这个比较有用。

第4个回答  2013-09-14

仅供参考,自己可以再斟酌下。

2013大学生数学建模B题编程
else S(r,p+1)=w; %二维数组储存每个碎纸片拼接位置 end end end S = S - O; %数据整理,图片从000.bmp开始,数组下标从1开始 \/\/\/ 第三题碎纸片特征分类代码:clear %释放空间 clc %清屏 图片数据读取 char namea = (209,7);char nameb = (209,7);...

2013年全国大学生数学建模成绩什么时候出来
回答:赛区的结果,要看是哪个地区的,每个地区的时间不一样,国庆节前估计有10个省市公布结果,大部分要等到国庆节后才会公布。 全国的结果 当年竞赛结果(初稿)一般于当年11月中上旬发布(异议期两周),请耐心等待. 当年竞赛结果(正式稿)一般于当年11月下旬发布.

求2013全国大学生数学建模比赛A题思路,十分感谢!
问题一:求出函数表达式TC=f(t),可以根据视频中的信息,隔一段时间求一次对应的TC值,再通过插值方法求出解f,或者深入研究事故发生时对车辆行进情况的变化机理来求解f,最后用图像或者解析式来表达出结果;问题二:求出泛函数表达式TC=g(LN),LN表示车道编号或其组合,此处TC代表问题一中的f函数...

数学建模国赛本科生推荐哪一题简单一些?
国赛一般分为3个题,从a到c分别是物理题,创新题,数据题。根据当时我们国赛答辩的情况,数据题是选择人数最多的题,而选择物理题与创新题是人数非常少的。对于想冲奖来说,选择物理题或创新题我觉得是更容易的。评奖方式 a题与b题绝大部分情况下是优化题,那就意味着这两个题肯定有个最优答案。

数学建模2013国赛A---题那位大哥把第三问做出来了分享一下你的思路...
真心内部资料,刚弄到手,若采纳付上第二份思路

求国赛数学建模参考答案(01~09)
国赛数模只有A题有参考答案,B题没有。你可以到“数模中国”网站上去寻找你要的答案,上面还有很多好的论文和其它资料,快比赛了,加油吧。

怎么看待全国大学生数学建模竞赛这个比赛的含金量?
先说含金量,含金量其实挺高的,在我们学校是作为A类竞赛,非常重视。获得国一学校会给发4000的奖金(既然是学校发的,就不要跟微信小程序大赛等等“私立比赛”比较啦),并且数学学院的同学可以直接保研。我个人认为这还是不错的。后面就都是要说获奖难易了,因为我举了我个人和身边人的例子,可能有点...

数模国赛与队外的人网络交流会查的很严吗 还是说有人举报才会查?_百度...
在数模国赛中,与队外的人网络交流并不是绝对禁止的行为,但需要谨慎。一般来说,如果你使用的是学校邮箱报名,主办方不一定能查到你的QQ等其他社交媒体账号。但是,如果你在未禁言的数模群中与其他人进行交流,即使你没有参与讨论,也有可能被DQ(即取消参赛资格)。曾经有学校出过类似的事情,一个...

2013年数模国赛B题问题2代码,要能用的啊,后续再会追加100
;F2 = abs(sinc(v.*pi));F=F1.*F2;计算幅度频谱 F=| F (u v )| surf(u,v,F);显示幅度频谱,如图 2.3(b)shading interp;平滑三维曲面上的小格 axis off;关闭坐标系 figure(2);建立图形窗口 2 F1=histeq(F);扩展 F 的对比度以增强视觉效果 imshow(F1);用图像来显示幅度频谱 ...

数学建模竞赛国赛在提交前要自己查重么?
数学建模竞赛国赛在提交前最好自己查重。格式要求 本科组参赛队从A、B题中任选一题,专科组参赛队从C、D题中任选一题(全国评奖时,每个组别一、二等奖的总名额按每道题参赛队数的比例分配;但全国一等奖名额的一半将平均分配给本组别的每道题,另一半按每道题参赛队比例分配)。论文用白色A4纸单面...

相似回答