好文档 - 专业文书写作范文服务资料分享网站

2013全国数学建模竞赛B题优秀论文

天下 分享 时间: 加入收藏 我要投稿 点赞

end else

while (all(i2(j,:)==1)) a=a-1; c=c+1; j=j-1; end end

A(i,1)=a;

if any(i2(j,:)==0)

while (any(i2(j,:)==0)) b=b+1; d=d+1; j=j-1; end else

while (all(i2(j,:)==1)) b=b-1; d=d+1; j=j-1; end end

A(i,2)=b; A(i,3)=c+d; A(i,4)=i+791; end

xlswrite('D:\\question1.xls',A,'A210:D418');

附录六:

%%%%%%%%%%%%%注意!!!运行时将附件解压至D盘%%%%%%%%%%%%%% %%%%%%%%%%%%%该程序用来对图片的二值矩阵进行分类 A=zeros(209,5); for i=1:209

str='D:\\附件\\附件3\\';

I=imread([str,num2str(i),'.jpg']);%依次读取每一幅图像 i1=rgb2gray(I); %i1灰度图像

i2=im2bw(i1); % i2是二值图像,不需要 a=0;b=0;c=0;d=0; j=1;

if any(i2(1,:)==0)

while (any(i2(j,:)==0)) a=a+1; c=c+1; j=j+1; end else

while (all(i2(j,:)==1)) a=a-1;

21

c=c+1; j=j+1; end end

A(i,1)=a;

if any(i2(j,:)==0)

while (any(i2(j,:)==0)) b=b+1; d=d+1; j=j+1; end else

while (all(i2(j,:)==1)) b=b-1; d=d+1; j=j+1; end end

A(i,2)=b; A(i,3)=c+d; A(i,5)=i; if A(i,3)<30 A(i,4)=0;

elseif A(i,3)>30&&A(i,3)<=34 A(i,4)=1;

elseif A(i,3)>=40&&A(i,3)<=43 A(i,4)=2;

elseif A(i,3)>=44&&A(i,3)<=48 if A(i,1)>0 A(i,4)=3; else

A(i,4)=4; end

elseif A(i,3)>=50&&A(i,3)<=53 if A(i,1)>0 A(i,4)=5; else

A(i,4)=6; end

elseif A(i,3)>55&&A(i,3)<=60 if A(i,1)>0 A(i,4)=7; else

A(i,4)=8; end

elseif A(i,3)>61&&A(i,3)<=66 if A(i,1)>0 A(i,4)=9; else

A(i,4)=10;

22

end

elseif A(i,3)>67&&A(i,3)<=70 A(i,4)=11;

elseif A(i,3)>76&&A(i,3)<=78 A(i,4)=12; elseif A(i,3)>80 A(i,4)=13; end end

xlswrite('D:\\photo3.xls',A); %将矩阵导入excel表里

附录七:

%以下程序的运行,请注意文件存放的位置!!! %此程序运行需要时间较长,请耐心等待!!! %请使用经格式转化器转化后的JPG格式图片

A=zeros(209,209);

a=A(:,1);%共209个纸条 l=A(:,1);%共209个纸条 for j=1:209

str='D:\\附件\\附件3\\';

I=imread([str,num2str(j),'.jpg']);%依次读取每一幅图像 i1=rgb2gray(I); %i1灰度图像

i2=im2bw(i1); % i2是二值图像,一个180*72的矩阵 a=i2(:,1); %取纸片左边缘 for i=1:209

I=imread([str,num2str(i),'.jpg']); %依次读取每一幅图像 i1=rgb2gray(I); %i1灰度图像 i2=im2bw(i1); % i2是二值图像 mi=i2(:,72); %取纸片左边缘 ni=a-mi;

A(j,i)=sqrt(dot(ni,ni)); %用以判断差距 end end

xlswrite('D:\\photo31.xls',A); %将矩阵元素导入excel表格 for i=1:209

for j=1:209

if(A(i,j)==0) l(i)=l(i)+1; end end end

for i=1:209

if(l(i)>=11) i end end

23

附录八:

%以下程序的运行,请注意文件存放的位置!!! %请使用经格式转化器转化后的JPG格式图片。

%%%%%%选取以008作为开始第9组的行排序%%%%%%% A=zeros(19,19);

a=[1,8,33,46,54,57,69,71,94,127,138,139,154,159,167,175,176,197,209;]%共十九个纸条 for j=1:19

str='D:\\附件\\附件3\\'; s=a(j)

I=imread([str,num2str(a(j)),'.jpg']);%依次读取每一幅图像 i1=rgb2gray(I); %i1灰度图像 i2=im2bw(i1); % i2是二值图像 t=i2(:,72); %取纸片右边缘 for i=1:19

I=imread([str,num2str(a(i)),'.jpg']); %依次读取每一幅图像 i1=rgb2gray(I); %i1灰度图像 i2=im2bw(i1); % i2是二值图像 mi=i2(:,1); %取纸片左边缘 ni=t-mi;

A(j,i)=sqrt(dot(ni,ni)); end end

%%%%%%%%判断相邻图片并自动连接%%%%%%%%%% r=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];%记录和纸片右相邻的纸片 g=[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1];%记录和纸片右相邻的纸片 for i=1:19 k=A(i,1); r(i)=1; for j=1:19

if(k>A(i,j)&&j~=2) k=A(i,j); r(i)=a(j); g(i)=j

end end end

first=2;

str='D:\\附件\\附件3\\';

z= imread([str,num2str(a(first)),'.jpg']); for m=1:18 x=z;

y=imread([str,num2str(r(first)),'.jpg']);%记录下一张纸条

24

z = [x,y]; first=g(first); end

imshow(z) %请打开图片显示窗口查看拼接结果

附件九:

图15 附件三的拼接图片

附录十:

25

2013全国数学建模竞赛B题优秀论文

endelsewhile(all(i2(j,:)==1))a=a-1;c=c+1;j=j-1;endendA(i,1)=a;ifany(i2(j,
推荐度:
点击下载文档文档为doc格式
48mhl8ilqr8jj329nacz
领取福利

微信扫码领取福利

微信扫码分享